移動(dòng)互聯(lián)網(wǎng)歷經(jīng)10余年的發(fā)展,期間app開發(fā)者遭遇移動(dòng)設(shè)備的屏幕碎片化,系統(tǒng)版本分散,廠商定制泛濫等各種開發(fā)適配的痛點(diǎn)舅锄,因?yàn)榘汛罅康木馁M(fèi)在不同平臺(tái)的實(shí)現(xiàn)以及解決各種兼容適配問題上,而導(dǎo)致項(xiàng)目周期長(zhǎng)司忱,成本增加皇忿,這與企業(yè)希望app低成本快速實(shí)現(xiàn),按時(shí)上線的訴求是矛盾的坦仍。
跨平臺(tái)技術(shù)正是在這個(gè)過程中誕生和發(fā)展鳍烁。
跨平臺(tái)技術(shù)消除了不同平臺(tái)之間的差異,開發(fā)者能夠通過一次編碼繁扎,同時(shí)開發(fā)出高性能和體驗(yàn)的Android / iOS雙平臺(tái)app幔荒。傳app開發(fā)模式下需要4人日的工作,現(xiàn)在只需1日人即可完成梳玫,不僅大大降低企業(yè)的開發(fā)成本爹梁,還能保證項(xiàng)目如期的上線。也正是跨平臺(tái)技術(shù)具備開發(fā)效率高提澎、體驗(yàn)和性能不輸原生的特點(diǎn)姚垃,使其至今仍具有強(qiáng)大的生命力,持續(xù)為企業(yè)輸出價(jià)值虱朵。市面上主流的app產(chǎn)品莉炉,或多或少都在使用跨平臺(tái)技術(shù)架構(gòu)進(jìn)行開發(fā),可以說(shuō)跨平臺(tái)技術(shù)的歷史幾乎和移動(dòng)互聯(lián)網(wǎng)本身的歷史一樣長(zhǎng)碴犬。
如今跨平臺(tái)技術(shù)和生態(tài)趨于穩(wěn)定,企業(yè)和開發(fā)者對(duì)跨平臺(tái)技術(shù)已形成共識(shí)梆暮,并大規(guī)模的應(yīng)用到各種業(yè)務(wù)場(chǎng)景中服协。在此期間,跨平臺(tái)技術(shù)分離出兩個(gè)主要方向:
1
混合方向
即HTML5 + Native混合啦粹,也就是我們通常說(shuō)的混合開發(fā):通過HTML5快速實(shí)現(xiàn)app的UI布局偿荷、業(yè)務(wù)邏輯,在開發(fā)過程中涉及HTML5無(wú)法實(shí)現(xiàn)或者體驗(yàn)不好的功能唠椭,則借助Native模塊來(lái)實(shí)現(xiàn)跳纳。
該模式的app引擎整體基于Webview架構(gòu),對(duì)前端開發(fā)者友好贪嫂,背靠前端龐大的JavaScript生態(tài)寺庄,前端開發(fā)者無(wú)需學(xué)習(xí)新的技術(shù)即可開發(fā)app。該方向代表技術(shù)為Cordova、AppMobi斗塘、Ionic等赢织。
2
中間語(yǔ)言(DSL)編譯方向
中間語(yǔ)言(DSL)編譯方向:開發(fā)過程要求使用特定的語(yǔ)法編寫app代碼,通過編譯環(huán)境將代碼編譯為Android / iOS原生app馍盟。開發(fā)者無(wú)需學(xué)習(xí)Android & iOS原生技術(shù)以及Java于置、Object-C、C/C++等復(fù)雜的開發(fā)語(yǔ)言即可完成app開發(fā)贞岭。
該模式的app引擎不依賴Webview八毯,而是借助Virtual Machine,比如V8 / JSCore引擎瞄桨,通過JS-Runtime實(shí)現(xiàn)更為復(fù)雜的代碼邏輯來(lái)滿足交互處理话速、通信和狀態(tài)管理,同時(shí)擴(kuò)展和完善 JS / Native 的通信機(jī)制讲婚、封裝完善的組件和系統(tǒng)能力等尿孔,實(shí)現(xiàn)完全原生的渲染。該方向既延續(xù)了前端開發(fā)體系筹麸,又最大限度保證了渲染的性能活合,代表技術(shù)為React Native、Weex物赶。
APICloud新產(chǎn)品前沿諜報(bào)
在跨平臺(tái)開發(fā)技術(shù)的演進(jìn)之路上白指,APICloud與這瞬息萬(wàn)變的時(shí)代一樣,從未停止過前進(jìn)的步伐酵紫;時(shí)至2020年告嘲,APICloud DeepEngine在歷經(jīng)多年深耕后即將重磅發(fā)布全新的3.0版本,該版本可同時(shí)支持【混合開發(fā)】與【中間語(yǔ)言編譯】?jī)煞N模式奖地,允許開發(fā)者在同一個(gè)APP中自由選擇使用其中一種方式進(jìn)行開發(fā)橄唬。
煥然一新的DeepEngine使用全翻譯式原理,將Javascript編譯為Native API参歹,為APP提供完全原生的體驗(yàn)和性能仰楚。