經過十多年的發(fā)展,移動互聯(lián)網應用程序開發(fā)過程中,app開發(fā)者遇到了手機屏幕碎片化、系統(tǒng)版本分散、廠商定制泛濫等各種開發(fā)適配痛點,這些痛點都是因為將大量精力投入到不同平臺的實現(xiàn)中,并解決了各種兼容性適配問題,導致項目周期長、成本上升,這與企業(yè)要求app快速實現(xiàn)低成本、按時上線的要求相矛盾。
跨平臺技術就是在這一過程中產生和發(fā)展的。
跨平臺技術消除了不同平臺之間的差異,開發(fā)者可以一次性編寫代碼,同時開發(fā)性能更高、體驗更好的Android/iOS雙平臺應用程序。在傳app開發(fā)模式下,需要4個人每天的工作,現(xiàn)在只需要1個人就可以完成,不僅大大降低了企業(yè)的開發(fā)成本,還可以保證項目如期上線。同樣是跨平臺技術,它具有開發(fā)效率高,體驗和性能不輸于原生的特點,使它在今天仍然具有強大的生命力,不斷為企業(yè)輸出價值。市場上的主流app產品,或多或少都是采用跨平臺的技術架構來開發(fā)的,可以說跨平臺技術的歷史幾乎和移動互聯(lián)網本身一樣悠久。
現(xiàn)在跨平臺技術和生態(tài)已經趨于穩(wěn)定,企業(yè)和開發(fā)人員已經形成了對跨平臺技術的共識,并在各種商業(yè)場景中大量應用。與此同時,跨平臺技術的發(fā)展主要有兩個方向:
混合方向
也就是說,HTML5+Native混合,也就是我們常說的混合開發(fā):通過HTML5快速實現(xiàn)app的UI布局,業(yè)務邏輯,以及在開發(fā)過程中HTML5不能實現(xiàn)或體驗差的功能,都需要借助Native模塊來實現(xiàn)。
整個app引擎模式都是基于Webview架構,對前端開發(fā)者很友好,這與前端龐大的JavaScript生態(tài)圈相去甚遠,后者不需要學習新技術就可以開發(fā)app。這個方向代表的是Cordova,AppMobi,Ionic等技術。
中間語言(DSL)編譯方向
DSL編譯方向:開發(fā)過程需要用特定的語法來編寫app程序代碼,代碼通過編譯環(huán)境作為Android/iOS原生app程序進行編譯。開發(fā)人員不需要學習Android和iOS的原生技術,也不需要學習復雜的開發(fā)語言,比如Java,Object-C,C/C++。
與Webview不同,該模式的app引擎使用VirtualMachine,如V8/JSCore引擎,通過JS-Runtime實現(xiàn)更復雜的代碼邏輯,以滿足交互處理、通信和狀態(tài)管理的需求,同時擴展和完善JS/Native的通信機制,封裝更好的組件和系統(tǒng)能力等等,從而實現(xiàn)完全的原生渲染。這一方向同時延續(xù)了前端開發(fā)系統(tǒng),同時也最大限度地保證了渲染性能,代表技術有ReactNative、Weex。
APICloud新產品前沿資訊
隨著跨平臺開發(fā)技術的發(fā)展,APICloud正如這個快速變化的時代一樣,其發(fā)展從未停歇;到2020年,APICloudDeepEngine將在多年的深耕之后重磅發(fā)布一個全新的3.0版本,該版本可以同時支持“混合開發(fā)”和“中間語言編譯”兩種模式,允許開發(fā)者自由選擇使用同一APP中的任何一種進行開發(fā)。
全新的DeepEngine采用全轉換原則,將Javascript編譯成NativeAPI,為APP提供完整的原生體驗和性能。
APICloud是國內低代碼開發(fā)平臺的先驅,同時也是效率革命的探索者,它基于云原生、DevOps、混合開發(fā)等功能的集成,從移動開發(fā)發(fā)展到低代碼開發(fā)平臺,致力于為不同行業(yè)提供應用程序定制和企業(yè)數(shù)字化服務。