HTML5負責前端展示,Weex負責前端與設備之間的溝通(獲取設備信息),Vue.JS負責執行數據渲染
APP開發使用當前流行的WebApp技術
App雲平台使用語言
App開發框架
App緩存框架
App通信
App傳輸
Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機操作系統要采用不同的語言和框架進行開發,
該模 式通常是(shì)由“雲服務器數據+APP應用客戶端”兩部份構成,APP應用所有的UI元素、數據内容、邏輯框架均安裝在手機終端上。
即原生開發模式,開發出來的是(shì)原生程序,不同平台上,Android和iOS的開發方法不同,開發出來的是(shì)一個獨立的APP,能發布應用商店,
有如下(xià)優點和缺點:
直接依托于操作系統,交互性雄厚, 性能知(zhī)名 相(xiàng)比于其它模式的交互,原生APP體驗是(shì)優的。
功能爲強大,特别是(shì)在與系統交互中,
幾乎所有功能都能實現(xiàn)得益于原生是(shì)直接依托于系統的,
所以可以直接調用官方提供的api,功能爲全面(比如本地資源操作,通知(zhī),動畫等)。
開發成本高,無法跨平台,
不同平台Android和iOS上都要各自獨立開發Android上基于Java開發,
iOS上基于ObjectC或Swift開發,相(xiàng)互之間獨立,必須要有各自的開發人員(yuán)
門檻較高,原生人員(yuán)有一定的入門門檻,
相(xiàng)比廣大的前端人員(yuán)而言較少02原生的一個很大特點就是(shì)獨立,
所以不太容易入門,不像web前端一樣那麽廣泛,而且Android,iOS都需要獨立學習
維護成本高,同開發一樣,項目上線(xiàn)後,維護起來也很爲麻煩
Web App開發即是(shì)一種框架型APP開發模式(HTML5 APP 框架開發模式),該開發具有跨平台的優勢,
該模式通常由“雲服務器端+APP應用客戶端”兩部份構成,APP應用客戶端隻需安裝應用的框架部份,而應用的數據則是(shì)每次打開APP的時候,去(qù)雲端取數據呈現(xiàn)給手機用戶。
weex是(shì)阿裏開源出來的一套APP開發方案,底層原理是(shì)通過核心引擎将代碼編譯成原生組件。達到原生APP的體驗效果。
開發成本小于原生模式,大部分代碼可複用
相(xiàng)比于其它模式的交互,原生APP體驗是(shì)優的
相(xiàng)比于原生模式,這種模式是(shì)統一用JS寫代碼,所以往往隻需要一名成員(yuán)投入學習,即可完成跨平台app的開發,而且後續代碼封裝的好,很多功能可複用
性能體驗高于Hybrid,不遜色與原生
這種模式的view層是(shì)虛拟dom,所以性能距離(lí)原生差距不大
這種模式可以認爲是(shì)用JS原生,即頁面用JS寫,然後原生通過Bridge技術分析JS,
将JS内容單獨渲染成原生Android和iOS,所以性能不遜色原生
開發人員(yuán)單一技術棧,一次學習,跨平台開發
這種模式是(shì)統一由JS編寫,有着獨特的語法,
所以隻需要學習一次,即可同時開發Android和iOS
一套代碼跨平台,隻要遵循特定的語法規則,完全可以達到一套代碼多個平台運行
o核心就是(shì)在web環境下(xià),将源碼編譯成web中顯示的Html dom對象等,
在原生環境下(xià)編譯成原生組件。o而React-Native中,它是(shì)JS寫原生代碼,
不同平台代碼是(shì)不一樣的,雖然有大部分可以複用,但(dàn)并不是(shì)完全一套代碼多個平台。
功能受限于WebView(但(dàn)是(shì)目前WebVApp發展勢頭迅猛,
除非是(shì)對于動畫要求非常高的遊戲類應用之外,完全可以滿足日常平台開發)
對開發人員(yuán)學習有一定要求 , 才能寫出一套源碼兩端兼容
從原理上來講 , NativeApp模式可以直接調用OS底層API(例如設備信息,屏幕旋轉等) , 而WebApp則需要通過js bridge調用OS底層API
得益于現(xiàn)在WebAPP的發展 , 目前WebApp開發已經成爲一種趨勢 , 而js bridge 随着技術的更新已經變得非常強大,
幾乎可以做到和NativeAPP同樣的事情 , 效率和體驗也與NativeApp無異。