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