創新互聯從前端開發的視角,為大家分析下
微信小程序和HTML5與之間的主要區別
條是運行環境的不同
傳統的HTML5的運行環境是瀏覽器,包括webview,而微信小程序的運行環境并非完整的瀏覽器,大家注意,創新互聯這里寫的是“非完整的瀏覽器”,有以下幾個原因
小程序的開發過程中會用到HTML5相關的技術(并非全部)
小程序后的發布上線需要微信審核,微信在不更新自身軟件的情況下可以將小程序更新到自身軟件內,這就聯想到了ReactNative框架,并且已經有開發者在微信小程序的開發工具源碼中發現使用了React和NodeWebkit庫
官方文檔中著重強調了腳本內是無法使用瀏覽器中常用的window對象和document對象(基于這一點,像zepto/jquery這種操作dom的庫就被完全拋棄了)
所以創新互聯認為,小程序的運行環境很有可能是微信開發團隊基于瀏覽器內核完全重構的一個內置解析器,針對
小程序專門做了優化,配合自己定義的開發語言標準,提升了小程序的性能。
不過由于微信給開發者提供了開發工具,而開發工具中也內置了編程、調試、開發環境、發布于一身,我們也不用再探討它的終運行環境了,只要按照官方文檔進行開發就可以了。并且從微信團隊給開發者提供開發工具這一舉動,讓人聯想到了蘋果給開發者提供的X-CODE開發工具,可以想象微信的“野心”可見一斑。
第二條是開發成本的不同
這里創新互聯提出了一個問題,當我們面對一個HTML5 web開發需求時,我們需要考慮什么呢?拋去開發工具(vscode、sublimtext、Atom等)不談,大到前端框架(Angular、react、vue、backbone等)、模塊管理工具(Webpack、Browserify等)、任務管理工具(Grunt、Gulp等),小到UI庫選擇、接口調用工具(ajax、FetchApi等)、瀏覽器兼容性等都要我們一一考略,再不濟用jqery插件寫H5,也要在開發過程中去尋找合適的jquery插件來配合項目。盡管這些工具可定制化非常高,并且提高了開發者的開發效率,但我們相信項目開發的配置工作已經消耗了不少精力,盡管大部分開發者都有自己的配置模板,但長久以來對于項目中使用的各種外部庫的版本迭代、版本升級所產生的成本應該也不低。
而當我們面對一個微信小程序的開發需求時,需要考慮什么呢?微信團隊提供了開發者工具,并且規范了開發標準,前端常見的HTML、CSS變成了微信自定義的WXML、WXSS,WXML中盡管全部是自定義標簽,但官方文檔中都有明確的使用介紹,相信上手應該是非常容易的;WXSS、JSON和JS文件中的寫法稍有限制,但整體相差不多。在統一了這些標準之后,作為一個開發者,你會發現,自己只要專注寫程序就可以了:
當需要調用后端接口時,調用發起請求API
當需要上傳下載時,調用上傳下載API
當需要數據緩存時,調用本地存儲API
引入地圖、使用羅盤、調用支付、調用掃碼等等功能都可以直接使用
UI庫方面,框架自然帶有自家weui庫加成
并且在使用這些API時,你不用再去顧慮瀏覽器兼容性,不用擔心生產環境中出現不可預料的奇妙BUG,可見微信小程序的開發成本確實相比以往的web開發低很多。
第三條是獲取系統級權限的不同
微信小程序相對于HTML5web應用能獲得更多的系統權限,比如網絡通信狀態、數據緩存能力等,這些系統級權限都可以和
微信小程序無縫銜接,也就是官方宣稱的擁有Native App的流暢性能,而這一點恰巧是HTML5 web應用經常被詬病的地方,這也是HTML5的大多應用場景被定位在業務邏輯簡單、功能單一的原因。
第四條便是應用在生產環境的運行流暢度
這條無論對于用戶還是開發者來說,都是直觀的感受。長久以來,當HTML5應用面對復雜的業務邏輯或者豐富的頁面交互時,它的體驗總是不盡人意,需要不斷的對項目優化來提升用戶體驗。但是由于
微信小程序運行環境獨立,盡管同樣用html+css+js去開發,但配合微信的解析器終渲染出來的是原生組件的效果,自然體驗上將會更進一步。
本文名稱:微信小程序與HTML5的區別
地址分享:http://vcdvsql.cn/news37/213837.html
網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有微信小程序等
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯