微信小程序與HTML5的區(qū)別

2022-11-15    分類: 微信小程序

網(wǎng)站建設(shè) - 建站教程 - 微信小程序 - 微信小程序與HTML5的區(qū)別
創(chuàng)新互聯(lián)從前端開(kāi)發(fā)的視角,為大家分析下微信小程序和HTML5與之間的主要區(qū)別
成都網(wǎng)站建設(shè)   條是運(yùn)行環(huán)境的不同

傳統(tǒng)的HTML5的運(yùn)行環(huán)境是瀏覽器,包括webview,而微信小程序的運(yùn)行環(huán)境并非完整的瀏覽器,大家注意,創(chuàng)新互聯(lián)這里寫的是“非完整的瀏覽器”,有以下幾個(gè)原因

小程序的開(kāi)發(fā)過(guò)程中會(huì)用到HTML5相關(guān)的技術(shù)(并非全部)

小程序后的發(fā)布上線需要微信審核,微信在不更新自身軟件的情況下可以將小程序更新到自身軟件內(nèi),這就聯(lián)想到了ReactNative框架,并且已經(jīng)有開(kāi)發(fā)者在微信小程序的開(kāi)發(fā)工具源碼中發(fā)現(xiàn)使用了React和NodeWebkit庫(kù)

官方文檔中著重強(qiáng)調(diào)了腳本內(nèi)是無(wú)法使用瀏覽器中常用的window對(duì)象和document對(duì)象(基于這一點(diǎn),像zepto/jquery這種操作dom的庫(kù)就被完全拋棄了)

所以創(chuàng)新互聯(lián)認(rèn)為,小程序的運(yùn)行環(huán)境很有可能是微信開(kāi)發(fā)團(tuán)隊(duì)基于瀏覽器內(nèi)核完全重構(gòu)的一個(gè)內(nèi)置解析器,針對(duì)小程序專門做了優(yōu)化,配合自己定義的開(kāi)發(fā)語(yǔ)言標(biāo)準(zhǔn),提升了小程序的性能。

不過(guò)由于微信給開(kāi)發(fā)者提供了開(kāi)發(fā)工具,而開(kāi)發(fā)工具中也內(nèi)置了編程、調(diào)試、開(kāi)發(fā)環(huán)境、發(fā)布于一身,我們也不用再探討它的終運(yùn)行環(huán)境了,只要按照官方文檔進(jìn)行開(kāi)發(fā)就可以了。并且從微信團(tuán)隊(duì)給開(kāi)發(fā)者提供開(kāi)發(fā)工具這一舉動(dòng),讓人聯(lián)想到了蘋果給開(kāi)發(fā)者提供的X-CODE開(kāi)發(fā)工具,可以想象微信的“野心”可見(jiàn)一斑。

第二條是開(kāi)發(fā)成本的不同

這里創(chuàng)新互聯(lián)提出了一個(gè)問(wèn)題,當(dāng)我們面對(duì)一個(gè)HTML5 web開(kāi)發(fā)需求時(shí),我們需要考慮什么呢?拋去開(kāi)發(fā)工具(vscode、sublimtext、Atom等)不談,大到前端框架(Angular、react、vue、backbone等)、模塊管理工具(Webpack、Browserify等)、任務(wù)管理工具(Grunt、Gulp等),小到UI庫(kù)選擇、接口調(diào)用工具(ajax、FetchApi等)、瀏覽器兼容性等都要我們一一考略,再不濟(jì)用jqery插件寫H5,也要在開(kāi)發(fā)過(guò)程中去尋找合適的jquery插件來(lái)配合項(xiàng)目。盡管這些工具可定制化非常高,并且提高了開(kāi)發(fā)者的開(kāi)發(fā)效率,但我們相信項(xiàng)目開(kāi)發(fā)的配置工作已經(jīng)消耗了不少精力,盡管大部分開(kāi)發(fā)者都有自己的配置模板,但長(zhǎng)久以來(lái)對(duì)于項(xiàng)目中使用的各種外部庫(kù)的版本迭代、版本升級(jí)所產(chǎn)生的成本應(yīng)該也不低。

而當(dāng)我們面對(duì)一個(gè)微信小程序的開(kāi)發(fā)需求時(shí),需要考慮什么呢?微信團(tuán)隊(duì)提供了開(kāi)發(fā)者工具,并且規(guī)范了開(kāi)發(fā)標(biāo)準(zhǔn),前端常見(jiàn)的HTML、CSS變成了微信自定義的WXML、WXSS,WXML中盡管全部是自定義標(biāo)簽,但官方文檔中都有明確的使用介紹,相信上手應(yīng)該是非常容易的;WXSS、JSON和JS文件中的寫法稍有限制,但整體相差不多。在統(tǒng)一了這些標(biāo)準(zhǔn)之后,作為一個(gè)開(kāi)發(fā)者,你會(huì)發(fā)現(xiàn),自己只要專注寫程序就可以了:

當(dāng)需要調(diào)用后端接口時(shí),調(diào)用發(fā)起請(qǐng)求API
當(dāng)需要上傳下載時(shí),調(diào)用上傳下載API
當(dāng)需要數(shù)據(jù)緩存時(shí),調(diào)用本地存儲(chǔ)API
引入地圖、使用羅盤、調(diào)用支付、調(diào)用掃碼等等功能都可以直接使用
UI庫(kù)方面,框架自然帶有自家weui庫(kù)加成

并且在使用這些API時(shí),你不用再去顧慮瀏覽器兼容性,不用擔(dān)心生產(chǎn)環(huán)境中出現(xiàn)不可預(yù)料的奇妙BUG,可見(jiàn)微信小程序的開(kāi)發(fā)成本確實(shí)相比以往的web開(kāi)發(fā)低很多。

第三條是獲取系統(tǒng)級(jí)權(quán)限的不同

微信小程序相對(duì)于HTML5web應(yīng)用能獲得更多的系統(tǒng)權(quán)限,比如網(wǎng)絡(luò)通信狀態(tài)、數(shù)據(jù)緩存能力等,這些系統(tǒng)級(jí)權(quán)限都可以和微信小程序無(wú)縫銜接,也就是官方宣稱的擁有Native App的流暢性能,而這一點(diǎn)恰巧是HTML5 web應(yīng)用經(jīng)常被詬病的地方,這也是HTML5的大多應(yīng)用場(chǎng)景被定位在業(yè)務(wù)邏輯簡(jiǎn)單、功能單一的原因。

第四條便是應(yīng)用在生產(chǎn)環(huán)境的運(yùn)行流暢度

這條無(wú)論對(duì)于用戶還是開(kāi)發(fā)者來(lái)說(shuō),都是直觀的感受。長(zhǎng)久以來(lái),當(dāng)HTML5應(yīng)用面對(duì)復(fù)雜的業(yè)務(wù)邏輯或者豐富的頁(yè)面交互時(shí),它的體驗(yàn)總是不盡人意,需要不斷的對(duì)項(xiàng)目?jī)?yōu)化來(lái)提升用戶體驗(yàn)。但是由于微信小程序運(yùn)行環(huán)境獨(dú)立,盡管同樣用html+css+js去開(kāi)發(fā),但配合微信的解析器終渲染出來(lái)的是原生組件的效果,自然體驗(yàn)上將會(huì)更進(jìn)一步。

網(wǎng)頁(yè)名稱:微信小程序與HTML5的區(qū)別
本文地址:http://www.bm7419.com/news/213837.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷seo公司;服務(wù)項(xiàng)目有微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司