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















