小程序和H5其實(shí)還有這4大區(qū)別,別只會(huì)說(shuō)看上去不一樣了!
小程序面世以后,盡管微信團(tuán)隊(duì)做了很多關(guān)于小程序的普及功課,但是還是有很多人不太理解,最多的誤解就是把它等同于H5。
小程序由于剛推出來(lái)時(shí)開放的能力十分有限,所以在功能展示上會(huì)讓普通用戶感覺和H5一樣,并沒有什么特別之處,導(dǎo)致了部分人把兩者混為一談。實(shí)際上,小程序和H5是兩種不同的東西。
通過(guò)百度詞條可以知道,HTML英文全稱為Hyper Text Markup Language,即超文本標(biāo)記語(yǔ)言。而HTML5是超文本標(biāo)記語(yǔ)言的第五次修訂版本。
簡(jiǎn)單來(lái)說(shuō),小程序是一種應(yīng)用,運(yùn)行的環(huán)境是微信(App);H5是一種技術(shù),依附的外殼是是瀏覽器。
如果從PC端和移動(dòng)端的比較來(lái)看,電腦上的軟件相當(dāng)于手機(jī)上的App,都需要下載;而通過(guò)瀏覽器打開的H5則相當(dāng)于小程序,都無(wú)需下載。
就拿看電影作為例子,PC端是從下載軟件視頻.exe到在瀏覽器打開http://shipin.com(H5);手機(jī)端則是從下載視頻App變?yōu)榇蜷_視頻小程序。
從「前端開發(fā)」的視角來(lái)看,微信小程序和H5也存在著多方面的不同。概括來(lái)說(shuō)有以下四個(gè)方面的區(qū)別。
一、運(yùn)行環(huán)境的不同
H5的運(yùn)行環(huán)境是瀏覽器,包括webview,而微信小程序的運(yùn)行環(huán)境并非完整的瀏覽器,因?yàn)樾〕绦虻拈_發(fā)過(guò)程中只用到一部分H5技術(shù)。
小程序的運(yùn)行環(huán)境是微信開發(fā)團(tuán)隊(duì)基于瀏覽器內(nèi)核完全重構(gòu)的一個(gè)內(nèi)置解析器,針對(duì)性做了優(yōu)化,配合自己定義的開發(fā)語(yǔ)言標(biāo)準(zhǔn),提升了小程序的性能。
官方文檔表明腳本內(nèi)無(wú)法使用瀏覽器中常用的window對(duì)象和document對(duì)象(基于這一點(diǎn),像zepto/jquery這種操作dom的庫(kù)就被完全拋棄了)。
不過(guò)微信給開發(fā)者提供了開發(fā)工具,內(nèi)置了編程、調(diào)試、開發(fā)環(huán)境以及發(fā)布,開發(fā)者只需按照官方文檔進(jìn)行開發(fā),就能保證小程序在微信內(nèi)穩(wěn)定運(yùn)行。
二、開發(fā)成本的不同
H5 的開發(fā),涉及開發(fā)工具(vscode、Atom等)、前端框架(Angular、react等)、模塊管理工具(Webpack 、Browserify 等)、任務(wù)管理工具(Grunt、Gulp等),還有UI庫(kù)選擇、接口調(diào)用工具(ajax、Fetch Api等)、瀏覽器兼容性等等。
盡管這些工具可定制化非常高,大部分開發(fā)者也有自己的配置模板,但對(duì)于項(xiàng)目中各種外部庫(kù)的版本迭代、版本升級(jí),這些成本加在一起那就是個(gè)不小數(shù)目了。
而開發(fā)一個(gè)微信小程序,由于微信團(tuán)隊(duì)提供了開發(fā)者工具,并且規(guī)范了開發(fā)標(biāo)準(zhǔn),則簡(jiǎn)單得多。前端常見的HTML、CSS變成了微信自定義的WXML、WXSS,WXML,官方文檔中都有明確的使用介紹,開發(fā)者按照說(shuō)明專注寫程序就可以了。
需要調(diào)用后端接口時(shí),調(diào)用發(fā)起請(qǐng)求API;需要上傳下載時(shí),調(diào)用上傳下載API;需要數(shù)據(jù)緩存時(shí),調(diào)用本地存儲(chǔ)API;引入地圖、使用羅盤、調(diào)用支付、調(diào)用掃碼等等功能都可以直接使用;UI庫(kù)方面,框架帶有自家weui庫(kù)加成。
并且在使用這些API時(shí),不用考慮瀏覽器兼容性,不用擔(dān)心出現(xiàn)BUG,顯而易見微信小程序的開發(fā)成本相對(duì)低很多。
三、獲取系統(tǒng)級(jí)權(quán)限的不同
微信小程序相對(duì)于H5能獲得更多的系統(tǒng)權(quán)限,比如網(wǎng)絡(luò)通信狀態(tài)、數(shù)據(jù)緩存能力等,這些系統(tǒng)級(jí)權(quán)限都可以和微信小程序無(wú)縫銜接。
而這一點(diǎn)恰巧是H5 被詬病的地方,這也是HL5的大多應(yīng)用場(chǎng)景被定位在業(yè)務(wù)邏輯簡(jiǎn)單、功能單一的原因。
四、運(yùn)行流暢度的不同
在運(yùn)行流暢度方面,無(wú)論對(duì)于用戶還是開發(fā)者,都可以直觀體驗(yàn)出兩者的差異。這也是普通大眾最容易區(qū)分小程序與H5的一點(diǎn)。
打開H5,實(shí)際上是打開一個(gè)網(wǎng)頁(yè),而網(wǎng)頁(yè)需要在瀏覽器中渲染。所以加載這一過(guò)程,會(huì)給人明顯的「卡頓」感覺,面對(duì)復(fù)雜的業(yè)務(wù)邏輯或者豐富的頁(yè)面交互時(shí)尤為明顯。
而微信小程序,它的代碼直接在微信上運(yùn)行,省去了通過(guò)瀏覽器渲染的步驟,因此,在微信中使用小程序,才會(huì)比H5流暢很多。
除了首次打開需要幾秒的加載時(shí)間外,小程序各個(gè)頁(yè)面的切換、跳轉(zhuǎn)等體驗(yàn)已經(jīng)媲美原生App,有著同樣的柔絲般順滑的效果。
概括來(lái)說(shuō),小程序相對(duì)H5有著開發(fā)成本低、功能更豐富、使用體驗(yàn)更佳的優(yōu)點(diǎn)。其實(shí)大家最應(yīng)該關(guān)注的一點(diǎn)是,小程序領(lǐng)域目前是一片藍(lán)海,對(duì)于個(gè)人就業(yè)、商家做生意以及技術(shù)團(tuán)隊(duì)創(chuàng)業(yè)都有著不少的機(jī)會(huì),大家應(yīng)該多想想怎么分得這塊蛋糕。
責(zé)任編輯:售電衡衡
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計(jì) -
中國(guó)自主研制的“人造太陽(yáng)”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng)
-
新基建助推 數(shù)據(jù)中心建設(shè)將迎爆發(fā)期
2020-06-16數(shù)據(jù)中心,能源互聯(lián)網(wǎng),電力新基建 -
泛在電力物聯(lián)網(wǎng)建設(shè)下看電網(wǎng)企業(yè)數(shù)據(jù)變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網(wǎng) -
泛在電力物聯(lián)網(wǎng)建設(shè)典型實(shí)踐案例
2019-10-15泛在電力物聯(lián)網(wǎng)案例
-
新基建之充電樁“火”了 想進(jìn)這個(gè)行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎(chǔ)設(shè)施,電力新基建 -
燃料電池汽車駛?cè)雽こ0傩占疫€要多久?
-
備戰(zhàn)全面電動(dòng)化 多部委及央企“定調(diào)”充電樁配套節(jié)奏
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計(jì) -
中國(guó)自主研制的“人造太陽(yáng)”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長(zhǎng)期助力儲(chǔ)能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng) -
5G新基建助力智能電網(wǎng)發(fā)展
2020-06-125G,智能電網(wǎng),配電網(wǎng) -
從智能電網(wǎng)到智能城市
-
山西省首座電力與通信共享電力鐵塔試點(diǎn)成功
-
中國(guó)電建公司公共資源交易服務(wù)平臺(tái)摘得電力創(chuàng)新大獎(jiǎng)
-
電力系統(tǒng)對(duì)UPS的技術(shù)要求