我們先看看前端使用html,css,javascript可以寫什么類型的移動應(yīng)用。
移動web app
移動webapp,其實就是我們前端同學(xué)所熟悉的h5應(yīng)用,它的技術(shù)實現(xiàn)是基于html,css,javascript 常見的網(wǎng)頁淘寶,網(wǎng)頁京東等,開發(fā)這類應(yīng)用我們往往不是使用原生的css,javascript開發(fā),因為原生開發(fā)需要寫大量難以維護(hù)的兼容代碼等。
這里推薦大家使用less作為css預(yù)處理的語言,因為css在嚴(yán)格上不算一種編程語言,而是一種設(shè)計語言,而less的出現(xiàn)彌補了css在運算,函數(shù),變量等編程語言上的缺陷。
vuejs reat作為javascript的類庫,原生js因為需要寫大量的兼容代碼,同時頻繁的dom操作使開發(fā)人員很苦惱,jquery的出現(xiàn)一定程度減緩了這個問題,但jquery始終無法解決開發(fā)人員面對dom的問題,同時jquery過于重量,在最求性能的移動應(yīng)用中問題凸顯,以react,vuejs為代表的mvvm框架,突破了dom的束縛,同時更加輕量,受到了廣大開發(fā)人員的喜愛。如果大家想了解更多vuejs分教程,可以關(guān)注我查看vuejs系列教程。
移動hybrid app
webapp在原生接口調(diào)用方法并不理想,大量的優(yōu)秀原生接口無法使用,于是以hbuilder之類的web打包工具受到了想發(fā)類似原生應(yīng)用的程序員喜歡,web打包工具實現(xiàn)原理很簡單,原生開發(fā)人員將一些常用的原生方法封裝好成一個類,然后將這個對象暴露給webview的window對象中,前端的同學(xué)無需了解額外的只是,只需簡單調(diào)用暴露對象的接口就好了。
移動native app
hybrid app 解決了webapp無法調(diào)用的原生接口的問題,但任無法解決webapp在ui渲染能力上的性能缺陷,由于webapp和hybrid app的ui都是基于webview的渲染出來的網(wǎng)頁,webview只是原生組件中的一種,先天性決定了webapp和hybridapp在性能上無法與原生應(yīng)用相比,但react-native和weex出現(xiàn)解決了這個問題,使開發(fā)人員使用html css js作為開發(fā)語言,開發(fā)出原生的應(yīng)用,在性能毫不遜色的情況下,這種解決方案還有比原生開發(fā)多了跨平臺,熱更新等諸多優(yōu)勢,使得這種開發(fā)方式成為了app的開發(fā)主流,例如淘寶app,京東app等,都是采用這類方案。