網站(zhan)建設(she)+內容(rong)營(ying)銷+行業解決方案+推(tui)廣運營(ying)
HTML5負責前端展示,Weex負責前端與設備之間的溝通(獲取設備信息),Vue.JS負責執行數據渲染
APP開發使用當前流行的WebApp技(ji)術
App云(yun)平臺使用語言
App開發框架
App緩存框架
App通信
App傳輸
Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機操作系統要采用不同的語言和框架進行開發,
該模 式通常是由“云服務器數據+APP應用客戶端”兩部份構成,APP應用所有的UI元素、數據內容、邏輯框架均安裝在手機終端上。
即原生開發模式,開發出來的是原生程序,不同平臺上,Android和iOS的開發方法不同,開發出來的是一個獨立的APP,能發布應用商店,
有如下優(you)點(dian)(dian)和缺點(dian)(dian):
直(zhi)接依托于操(cao)作(zuo)系(xi)統(tong),交互(hu)(hu)性(xing)雄厚, 性(xing)能知名 相比于其它(ta)模(mo)式的(de)交互(hu)(hu),原生APP體驗(yan)是優的(de)。
功能為強大,特別是在與系統(tong)交互中,
幾乎所有(you)功(gong)能都能實現(xian)得益(yi)于原生是(shi)直接依托(tuo)于系統的,
所以(yi)可以(yi)直接調用官方提(ti)供的(de)api,功能為全面(比(bi)如本(ben)地資源操作,通知(zhi),動畫等)。
開發(fa)成本高(gao),無(wu)法跨平臺,
不同平臺Android和iOS上都要各自獨立開發Android上基于Java開發,
iOS上基于ObjectC或Swift開(kai)發(fa),相互之(zhi)間(jian)獨立,必須要有各自(zi)的開(kai)發(fa)人員
門(men)檻較高,原生(sheng)人員有一定的入門(men)門(men)檻,
相(xiang)比廣大的前端人(ren)員而言(yan)較少02原生的一個很大特點就是(shi)獨立,
所以(yi)不太容易入門,不像web前端一(yi)樣那么廣泛,而(er)且(qie)Android,iOS都(dou)需要獨立學習(xi)
維護(hu)成本高,同開發一樣,項(xiang)目上線后,維護(hu)起來也很為麻煩
Web App開發即是一種框架型APP開發模式(HTML5 APP 框架開發模式),該開發具有跨平臺的優勢,
該模式通常由“云服務器端+APP應用客戶端”兩部份構成,APP應用客戶端只需安裝應用的框架部份,而應用的數據則是每次打開APP的時候,去云端取數據呈現給手機用戶。
weex是阿(a)里開源出來的一套APP開發方案,底(di)層(ceng)原(yuan)(yuan)理是通過核(he)心引擎(qing)將代碼編譯成原(yuan)(yuan)生(sheng)組(zu)件(jian)。達到原(yuan)(yuan)生(sheng)APP的體(ti)驗效果。
開(kai)發成本小于原生模式,大部(bu)分代碼可復(fu)用
相(xiang)比于其它模式(shi)的交互,原生APP體驗是(shi)優的
相比于原生模式(shi),這種模式(shi)是(shi)統一用JS寫代碼,所(suo)以往(wang)往(wang)只需要一名成員投入(ru)學習,即可完成跨平臺app的開發(fa),而且后續代碼封(feng)裝的好(hao),很多功能可復(fu)用
性能體驗高于Hybrid,不遜色(se)與原生
這種模式(shi)的(de)view層是虛擬dom,所以性能(neng)距離原生(sheng)差距不大
這(zhe)種(zhong)模(mo)式可以認為是用(yong)JS原生,即頁面用(yong)JS寫,然后(hou)原生通過Bridge技術(shu)分析JS,
將JS內容單獨渲染成原生Android和(he)iOS,所以性能不遜(xun)色(se)原生
開發人員單一技(ji)術棧,一次學習,跨平臺開發
這種模式是統一由JS編寫,有著獨特的(de)語法,
所以(yi)只(zhi)需(xu)要學習一次,即(ji)可(ke)同時開發(fa)Android和iOS
一(yi)套代碼(ma)跨平臺(tai),只要(yao)遵循特定的語法規則,完全可以達到(dao)一(yi)套代碼(ma)多個平臺(tai)運行(xing)
o核心就是在web環境下,將(jiang)源碼編譯成web中顯示的(de)Html dom對象等(deng),
在原生環境下編譯成原生組件。o而React-Native中(zhong),它是JS寫原生代碼,
不(bu)(bu)同平(ping)臺(tai)代(dai)碼是(shi)不(bu)(bu)一樣(yang)的(de),雖(sui)然(ran)有大(da)部分可以復用,但(dan)并不(bu)(bu)是(shi)完全一套代(dai)碼多個平(ping)臺(tai)。
功(gong)能受限于WebView(但(dan)是目前WebVApp發展(zhan)勢(shi)頭迅(xun)猛,
除非是對于動畫要求(qiu)非常(chang)高的游戲類應用之外(wai),完(wan)全可(ke)以滿足(zu)日常(chang)平臺開發)
對開發人員學習有一(yi)定要求 , 才能寫出一(yi)套(tao)源碼兩端(duan)兼容
從(cong)原理上來講 , NativeApp模(mo)式可以直接調用(yong)OS底層(ceng)API(例如設備信息,屏幕(mu)旋轉(zhuan)等(deng)) , 而WebApp則需要通過js bridge調用(yong)OS底層(ceng)API
得益于(yu)現在WebAPP的(de)發(fa)展 , 目(mu)前WebApp開發(fa)已經成為一種趨勢 , 而js bridge 隨(sui)著技術的(de)更(geng)新已經變(bian)得非常強大(da),
幾乎可以做到和NativeAPP同(tong)樣的事情 , 效率和體驗也與NativeApp無異。