微信小程序與H5有什么區別
發布時間:2023-12-04
隨著H5游戲的興起,越來越多人對于這個新興的游戲類別感興趣,與此同時,微信這個社交媒體則宣布小程序即將在1月9日上線,小程序是微信基于H5技術的基礎上開發的一種公眾號類型,頗受業界關注。
那么有的人就會問了,微信小程序與H5都是基于H5技術研發出來的,它們之間到底有什么不同?接下來核彈頭小編將會在多個方面對二者進行比較,讓大家更加明白這兩者的區別。
一、運行環境的不同
傳統的HTML5的運行環境是瀏覽器,包括webview,而微信小程序的運行環境并非完整的瀏覽器,大家注意,我這里寫的是“非完整的瀏覽器”,有以下幾個原因:
小程序的開發過程中會用到HTML5相關的技術(并非全部)
小程序最后的發布上線需要微信審核,微信在不更新自身軟件的情況下可以將小程序更新到自身軟件內,這就聯想到了React Native框架,并且已經有開發者在微信小程序的開發工具源碼中發現使用了React和NodeWebkit庫
官方文檔中著重強調了腳本內是無法使用瀏覽器中常用的window對象和document對象(基于這一點,像zepto/jquery這種操作dom的庫就被完全拋棄了)
所以大熊認為,小程序的運行環境很有可能是微信開發團隊基于瀏覽器內核完全重構的一個內置解析器,針對小程序專門做了優化,配合自己定義的開發語言標準,提升了小程序的性能。
不過由于微信給開發者提供了開發工具,而開發工具中也內置了編程、調試、開發環境、發布于一身,我們也不用再探討它的最終運行環境了,只要按照官方文檔進行開發就可以了。并且從微信團隊給開發者提供開發工具這一舉動,讓我聯想到了蘋果給開發者提供的X-CODE開發工具,可以想象微信的“野心”可見一斑。
二、開發成本的不同
這里我提出了一個問題,當我們面對一個HTML5 web開發需求時,我們需要考慮什么呢?拋去開發工具(vscode、sublimtext、Atom等)不談,大到前端框架(Angular、react、vue、backbone等)、模塊管理工具(Webpack 、Browserify 等)、任務管理工具(Grunt、Gulp等),小到UI庫選擇、接口調用工具(ajax、Fetch Api等)、瀏覽器兼容性等都要我們一一考略,再不濟用jqery插件寫H5,也要在開發過程中去尋找合適的jquery插件來配合項目。