CopyRight?2007-2021 ropkwcs.com All Right Reserved 晉ICP備2023022329號(hào)-1
溫馨提示:抵制不良游戲 拒絕盜版游戲 注意自我保護(hù) 謹(jǐn)防受騙上當(dāng) 適度游戲益腦 沉迷游戲傷身 合理安排時(shí)間 享受健康生活
游戲作品版權(quán)歸原作者享有,如無意之中侵犯了您的版權(quán),請(qǐng)您來信告知( 聯(lián)系郵箱:lqqsgduw132@163.com),本網(wǎng)站將應(yīng)您的要求刪除。
更新時(shí)間:2017-01-09 09:58
作者:匿名
微信小程序已經(jīng)上線了,很多人拿微信小程序和HTML5作對(duì)比,那么微信小程序和H5之間的區(qū)別是什么呢?下面小編就和大家分享一篇微信小程序和H5區(qū)別的文章。
作為前端工程師,從前端的視角,為大家分析下微信小程序和HTML5與之間的主要區(qū)別
第一條是運(yùn)行環(huán)境的不同。
傳統(tǒng)的HTML5的運(yùn)行環(huán)境是瀏覽器,包括webview,而微信小程序的運(yùn)行環(huán)境并非完整的瀏覽器,大家注意,我這里寫的是“非完整的瀏覽器”,有以下幾個(gè)原因
小程序的開發(fā)過程中會(huì)用到HTML5相關(guān)的技術(shù)(并非全部)
小程序最后的發(fā)布上線需要微信審核,微信在不更新自身軟件的情況下可以將小程序更新到自身軟件內(nèi),這就聯(lián)想到了React Native框架,并且已經(jīng)有開發(fā)者在微信小程序的開發(fā)工具源碼中發(fā)現(xiàn)使用了React和NodeWebkit庫(kù)
官方文檔中著重強(qiáng)調(diào)了腳本內(nèi)是無法使用瀏覽器中常用的window對(duì)象和document對(duì)象(基于這一點(diǎn),像zepto/jquery這種操作dom的庫(kù)就被完全拋棄了)
所以我個(gè)人認(rèn)為,小程序的運(yùn)行環(huán)境很有可能是微信開發(fā)團(tuán)隊(duì)基于瀏覽器內(nèi)核完全重構(gòu)的一個(gè)內(nèi)置解析器,針對(duì)小程序?qū)iT做了優(yōu)化,配合自己定義的開發(fā)語(yǔ)言標(biāo)準(zhǔn),提升了小程序的性能。
不過由于微信給開發(fā)者提供了開發(fā)工具,而開發(fā)工具中也內(nèi)置了編程、調(diào)試、開發(fā)環(huán)境、發(fā)布于一身,我們也不用再探討它的最終運(yùn)行環(huán)境了,只要按照官方文檔進(jìn)行開發(fā)就可以了。并且從微信團(tuán)隊(duì)給開發(fā)者提供開發(fā)工具這一舉動(dòng),讓我聯(lián)想到了蘋果給開發(fā)者提供的X-CODE開發(fā)工具,可以想象微信的“野心”可見一斑
第二條是開發(fā)成本的不同。
這里我提出了一個(gè)問題,當(dāng)我們面對(duì)一個(gè)HTML5 web開發(fā)需求時(shí),我們需要考慮什么呢?拋去開發(fā)工具(vscode、sublimtext、Atom等)不談,大到前端框架(Angular、react、vue、backbone等)、模塊管理工具(Webpack 、Browserify 等)、任務(wù)管理工具(Grunt、Gulp等),小到UI庫(kù)選擇、接口調(diào)用工具(ajax、Fetch Api等)、瀏覽器兼容性等都要我們一一考略,再不濟(jì)用jqery插件寫H5,也要在開發(fā)過程中去尋找合適的jquery插件來配合項(xiàng)目。盡管這些工具可定制化非常高,并且提高了開發(fā)者的開發(fā)效率,但我相信項(xiàng)目開發(fā)的配置工作已經(jīng)消耗了不少精力,盡管大部分開發(fā)者都有自己的配置模板,但長(zhǎng)久以來對(duì)于項(xiàng)目中使用的各種外部庫(kù)的版本迭代、版本升級(jí)所產(chǎn)生的成本應(yīng)該也不低。
而當(dāng)我們面對(duì)一個(gè)微信小程序的開發(fā)需求時(shí),我們需要考慮什么呢?微信團(tuán)隊(duì)提供了開發(fā)者工具,并且規(guī)范了開發(fā)標(biāo)準(zhǔn),前端常見的HTML、CSS變成了微信自定義的WXML、WXSS,WXML中盡管全部是自定義標(biāo)簽,但官方文檔中都有明確的使用介紹,相信上手應(yīng)該是非常容易的;WXSS、JSON和JS文件中的寫法稍有限制,但整體相差不多。在統(tǒng)一了這些標(biāo)準(zhǔn)之后,作為一個(gè)開發(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,可見微信小程序的開發(fā)成本確實(shí)相比以往的web開發(fā)低很多。
第三條是獲取系統(tǒng)級(jí)權(quán)限的不同。
微信小程序相對(duì)于HTML5 web應(yīng)用能獲得更多的系統(tǒng)權(quán)限,比如網(wǎng)絡(luò)通信狀態(tài)、數(shù)據(jù)緩存能力等,這些系統(tǒng)級(jí)權(quán)限都可以和微信小程序無縫銜接,也就是官方宣稱的擁有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)行流暢度。
這條無論對(duì)于用戶還是開發(fā)者來說,都是最直觀的感受。長(zhǎng)久以來,當(dāng)HTML5應(yīng)用面對(duì)復(fù)雜的業(yè)務(wù)邏輯或者豐富的頁(yè)面交互時(shí),它的體驗(yàn)總是不盡人意,需要不斷的對(duì)項(xiàng)目?jī)?yōu)化來提升用戶體驗(yàn)。但是由于微信小程序運(yùn)行環(huán)境獨(dú)立,盡管同樣用html+css+js去開發(fā),但配合微信的解析器最終渲染出來的是原生組件的效果,自然體驗(yàn)上將會(huì)更進(jìn)一步。
相關(guān)資訊
《微信》錢包密碼鎖設(shè)置方法
《微信》2023情人節(jié)狀態(tài)設(shè)置方法
《微信》頭像褪色恢復(fù)方法
《微信》聊天提示對(duì)方出現(xiàn)異常原因分析
《微信》自定義表情包設(shè)置方法
《微信》鍵盤換行設(shè)置成發(fā)送的方法
《微信》自制表情包文字添加方法
《微信》自制表情包制作設(shè)置方法
《微信》自制表情包位置分享
軟件教程2022-11-22 11:24
網(wǎng)易暴雪游戲退款方法
軟件教程2022-11-18 13:21
《微信》推薦名片方法
軟件教程2022-11-01 17:23
《微信》查看朋友圈歷史點(diǎn)贊和評(píng)論的方法
軟件教程2022-11-01 17:23
《微信》自動(dòng)領(lǐng)取紅包設(shè)置方法
軟件教程2022-10-03 11:24
《微信》朋友圈被折疊解決辦法
軟件教程2022-10-03 11:23
《微信》朋友圈關(guān)鍵詞搜索內(nèi)容方法介紹
軟件教程2022-09-10 09:15
《微信》鍵盤變小了恢復(fù)正常方法介紹
軟件教程2022-09-05 17:00
類型 :社交聊天
大小 :195.88MB
老爹奶茶店
云逆水寒
后室公司
太空沙盒
朝圣者
晾曬時(shí)光
我是咸魚
劍與騎士團(tuán)
哈基逃亡2
愚錄DEMO
沖關(guān)小隊(duì)
熄燈睡覺
最新文章
《微信》單刪好友功能使用方法
《微信》查單刪好友功能開放條件
《百度》2024神龍紅包活動(dòng)金幣獲取方法
《百度》2024神龍紅包兌換現(xiàn)金時(shí)間段介紹
影音播放
影音播放
資訊閱讀
影音播放
健康醫(yī)療
資訊閱讀
影音播放
網(wǎng)絡(luò)工具
網(wǎng)絡(luò)購(gòu)物
生活服務(wù)
經(jīng)營(yíng)策略
動(dòng)作冒險(xiǎn)
休閑益智
休閑益智
體育競(jìng)速
動(dòng)作冒險(xiǎn)
休閑益智
飛行射擊
飛行射擊
休閑益智