Thursday, August 11, 2022

更新app的重大進展

最近一直忙於更新app的工作,這次個更新的重點是改進app的使用界面,讓用戶能夠進入app後就非常容易上手使用。

我為了改進列出一長串工作任務項目,除了我個人努力工作之外,我還有一個很好的、相互幫助的測試團隊小組,他們不斷給予我許多建議和極大的幫助。在大家合作努力之下,隨著時光的流逝,任務一個接一個不斷完美地完成。

接近尾聲的一個項目,是我在app中增加了一系列給用戶提供app各種信息的屏幕,用戶在app中就可以非常方便得到這些必要和重要的信息,而不需到別處尋找。

這些內容的呈現方式都是採用html方法。html是萬維網網中最為流行的展示信息和圖文的方式,有自己的一套完整系統,比如html編碼和Javascript即JS編程語言(JS是html編碼的有力編程工具)。但是我的app核心部分是用蘋果的Swift語言來編寫的。有許多信息必須要到app project的Swift一方才能得到,比如app的版本號。

當然有些我是可以採用拷貝/複製的方式很容易做到更新版本號的,但是這樣做法太繁瑣,有時可能有出現遺漏。app中有n項信息內容,支持 l 種語言(目前有四種)。也就是說n x l 的工作量。將來隨著不斷地更新,這兩方面的數量也會增加,因此遺漏的幾率非常大。

於是我決定以版本為列,研究Swift 與 JS之間的交流。這兩種語言都是功能十分豐富和強大的工作平台,但是完全不同,無法自然直接相互嵌入來提供交流支持。

在編程語言中,許多非常廣泛使用的語言,都有各種交流接口的方式,Swift和JS的交流也不例外。但對於我來說,這是一個陌生的領域,需要探索和試驗。

經過一個多禮拜的苦苦搜索和試驗,最後我終於找到了竅門,知道如何從Swift一方調用JS的Function,反之,也可以從JS向Swift提出各種交流請求。當我看到我的試驗,完美地將Swfit一方的版本信息傳送到JS,html的內容得到更新,剎那間,一種喜悅和滿足感讓我感到特別地興奮,我都跳起來大叫起來,續虧是在自己家的後院涼台。

我的工作態度是,不僅僅是要找到試驗的codes 能夠達到工作的要求,而且,我還追求這種方式能夠 works well,便於維護和方便使用。於是在完全明白道理之後,我做了一個特殊的橋:MyWKScriptBridge class,裡面有搭橋的基本結構,在設定時輸入不同的設定,就可以推廣到更為一般的應用。這一橋就做Swift於JS橋樑的工作,這樣應用起來,不會在其它的編碼環境中加入一大堆東西,這將為我將來的更新打開了一個嶄新的通道。

這一重大突破,也讓我看到app的無限潛力,在這一過程中,我的知識得到擴充,技能也大大提高。

每一個人的小小世界中,都有無窮的樂趣,就看你做出的選擇、和付出多大之努力的了。希望我所作出的這一切,通過我做的app這個橋梁,也能給更多人帶來更好的價值,給他人的小小世界帶來無窮的歡樂!

No comments:

Post a Comment