微信小程序和HTML5應用有什麼區別?

譖璨TDiz6670


HTML英文全稱為Hyper Text Markup Language,即超文本標記語言,H5是一種技術,依附的外殼是是瀏覽器,而小程序是基於微信的一種不需要下載安裝即可使用的應用。

從“前端開發”的視角來看,微信小程序和HTML5也存在著多方面的不同。概括來說有以下四個方面的區別!

第一條是運行環境的不同

傳統的HTML5的運行環境是瀏覽器,包括webview,而微信小程序的運行環境並非完整的瀏覽器,大家注意,我這裡寫的是“非完整的瀏覽器”,有以下幾個原因

小程序的開發過程中會用到html5相關的技術(並非全部)

小程序最後的發佈上線需要微信審核,微信在不更新自身軟件的情況下可以將小程序更新到自身軟件內,這就聯想到了ReactNative框架,並且已經有開發者在微信小程序的開發工具源碼中發現使用了react和NodeWebkit庫

官方文檔中著重強調了腳本內是無法使用瀏覽器中常用的window對象和document對象(基於這一點,像zepto/jQuery這種操作dom的庫就被完全拋棄了)

所以我個人認為,小程序的運行環境很有可能是微信開發團隊基於瀏覽器內核完全重構的一個內置解析器,針對小程序專門做了優化,配合自己定義的開發語言標準,提升了小程序的性能。

不過由於微信給開發者提供了開發工具,而開發工具中也內置了編程、調試、開發環境、發佈於一身,我們也不用再探討它的最終運行環境了,只要按照官方文檔進行開發就可以了。並且從微信團隊給開發者提供開發工具這一舉動,讓我聯想到了蘋果給開發者提供的X-CODE開發工具,可以想象微信的“野心”可見一斑

第二條是開發成本的不同

這裡我提出了一個問題,當我們面對一個Html5web開發需求時,我們需要考慮什麼呢?

拋去開發工具(vscode、sublimtext、Atom等)不談,大到前端框架(Angular、react、vue、backbone等)、模塊管理工具(Webpack 、Browserify 等)、任務管理工具(Grunt、Gulp等),小到UI庫選擇、接口調用工具(ajax、Fetch Api等)、瀏覽器兼容性等都要我們一一考略,再不濟用jqery插件寫H5,也要在開發過程中去尋找合適的jquery插件來配合項目。

儘管這些工具可定製化非常高,並且提高了開發者的開發效率,但我相信項目開發的配置工作已經消耗了不少精力,儘管大部分開發者都有自己的配置模板,但長久以來對於項目中使用的各種外部庫的版本迭代、版本升級所產生的成本應該也不低。

而當我們面對一個微信小程序的開發需求時,我們需要考慮什麼呢?微信團隊提供了開發者工具,並且規範了開發標準,前端常見的HTML、CSS變成了微信自定義的WXML、WXSS,WXML中儘管全部是自定義標籤,但官方文檔中都有明確的使用介紹,相信上手應該是非常容易的;WXSS、JSON和js文件中的寫法稍有限制,但整體相差不多。在統一了這些標準之後,作為一個開發者,你會發現,自己只要專注寫程序就可以了:

  • 當需要調用後端接口時,調用發起請求API

  • 當需要上傳下載時,調用上傳下載API

  • 當需要數據緩存時,調用本地存儲API

  • 引入地圖、使用羅盤、調用支付、調用掃碼等等功能都可以直接使用

  • UI庫方面,框架自然帶有自家weui庫加成

並且在使用這些API時,你不用再去顧慮瀏覽器兼容性,不用擔心生產環境中出現不可預料的奇妙BUG,可見微信小程序的開發成本確實相比以往的web開發低很多。

第三條是獲取系統級權限的不同

微信小程序相對於HTML5 web應用能獲得更多的系統權限,比如網絡通信狀態、數據緩存能力等,這些系統級權限都可以和微信小程序無縫銜接,也就是官方宣稱的擁有Native App的流暢性能,而這一點恰巧是HTML5 web應用經常被詬病的地方,這也是HTML5的大多應用場景被定位在業務邏輯簡單、功能單一的原因。

第四條便是應用在生產環境的運行流暢度

最容易區分小程序與H5的一點, 打開H5,實際上是打開一個網頁,而網頁需要在瀏覽器中渲染,面對複雜的業務邏輯或者豐富的頁面交互時頁面會卡頓。

而微信小程序,直接在微信上運行,省去了通過瀏覽器渲染的步驟,因此,在微信中使用小程序,才會比H5流暢很多。除了首次打開需要幾秒的加載時間外,小程序各個頁面的切換、跳轉等體驗已經媲美原生App,非常順暢。

小程序不能跳轉外部鏈接,H5沒有限制。

概括來說、小程序相對H5有著開發成本低、功能更豐富、用戶體驗更佳的優點。(缺點:微信做了很多限制,很多東西不能自定義)

以上就是我總結的微信小程序跟HTML5的區別。微信現在月活9億,特別是微信推出大眾號今後,微信的月活也大幅上升,這就為微信小程序帶了十分便利的入口。以9億為基數,奠定了微信小程序的根底。

微信小程序不是HTML5,它是根據微信的獨立的開發模式,能過節約人們的開發本錢與開發週期。當然,現在小程序也不能徹底替代APP,今後的發展怎麼樣,歡迎持續關注千鋒武漢吧!


千鋒武漢


這個是一個是應用 一個的程序 這個我想說 是不同的


穩穩最靠譜


區別一:準備時間與準備工作。

從我們已知的信息來看,百度輕應用的準備時間很短,而微信小程序的準備時間很長,看上去,百度的輕應用並沒有全力以赴,倉促上線,做得成則成,不成拉倒;而微信花了一年時間去準備小程序,擺出了無論如何都要成功的態勢,因為準備得充分,所以剛一正式上線,就刷屏了,N多互聯網企業參與了小程序,由此可見,在正式上線前,微信就做了大量的準備與推廣,但當年的百度輕應用則是發佈了再推廣。

區別二:入口。

百度認為,移動互聯網的入口依舊是搜索框,所以,在做出手機百度和其他號稱用戶數過億的app後,就迫不及待地想把世界裝入搜索框;而微信認為,移動互聯網的入口是二維碼,換句話說,移動互聯網的入口是線下,通過二維碼,可以連接線上線下。百度還活在PC時代,而微信是真正活在移動時代的。

區別三:用戶數。

百度推出輕應用的時候,用戶數還不到3億,而微信推出小程序時,月活用戶已達8.5億(保守估計),日活用戶也近8億,刨除wechat用戶,估計月活也得超6億,日活超5億,也就是說,微信推出小程序時,微信中國用戶基本等於中國移動互聯網的用戶,而百度推出輕應用時,百度總用戶離當時的中國移動互聯網總用戶還有一段距離,何況當時的移動互聯網用戶還在已井噴的方式增長,百度能否抓住移動互聯網的紅利,繼續做大用戶群尚是未知,所以業界對百度的輕應用也並不看好(因為大家都忙著開發app去搶用戶)。

區別四:投入程度。

從準備時間和騰訊官方的發言來看,騰訊對小程序不可謂不重視,投入力度不可謂不大。而從第一批上線的小程序可以看出,騰訊陣營的公司,京東、滴滴和美團在微信上已有入口的情況下,還做出了京東購物、滴滴出行DIDI、滴滴公交查詢、美團外賣+、大眾點評+、貓眼電影,而非騰訊陣營公司,攜程、去哪兒也跟進了小程序,疑似騰訊陣營的今日頭條也加入了小程序戰團,完全不曾站隊的豆瓣也加入了,一些政府機構也加入了……這麼多個in公司加入,可見騰訊在小程序上線前做了多少細緻的工作,據鈦媒體報道,美味不用等得到了微信小程序團隊的指導!而在百度上線輕應用時,根本沒有這麼多公司支持,更沒有標杆應用出現,可見百度在輕應用上的投入程度。

區別五:推廣。

目前,微信官方還沒有推廣小程序,從微信小程序的規則上看,小程序會像公眾號一樣,由N多靠微信生存的公司自發推廣,一如螞蟻雄兵,把二維碼鋪滿中華大地;而百度當年推廣輕應用,則是指望百度的代理公司到各商家門店去立展牌,商家也不是很上心,代理公司也不是很上心(因為只有商家投廣告,代理公司才能賺到錢)。兩廂對比,孰優孰劣,一目瞭然。

區別六:用戶體驗。

百度輕應用引入了“@”的概念,這個來自西方的概念,只在以微博為代表的社交網絡中並廣泛使用;而微信小程序,則直接使用了中國用戶已經接受了的“掃一掃”和“二維碼”。單從這一點上看,百度輕應用的用戶體驗就不如小程序。


樂狐


第一、運行環境不同

傳統的HTML5的運行環境是瀏覽器,包括webview,而微信小程序的運行環境並非完整的瀏覽器。

小程序的開發過程中會用到HTML5相關的技術(並非全部)。

第二、開發成本的不同

第三、獲取系統級權限的不同

微信小程序相對於HTML5 web應用能獲得更多的系統權限,比如網絡通信狀態、數據緩存能力等,這些系統級權限都可以和微信小程序無縫銜接,也就是官方宣稱的擁有Native App的流暢性能,而這一點恰巧是HTML5 web應用經常被詬病的地方,這也是HTML5的大多應用場景被定位在業務邏輯簡單、功能單一的原因。

第四、應用在生產環境的運行流暢度

長久以來,當HTML5應用面對複雜的業務邏輯或者豐富的頁面交互時,它的體驗總是不盡人意,需要不斷的對項目優化來提升用戶體驗。但是由於微信小程序運行環境獨立,儘管同樣用html+css+js去開發,但配合微信的解析器最終渲染出來的是原生組件的效果,自然體驗上將會更進一步。


飛騰求職助力營


HTML,不管是手機瀏覽器還是電腦瀏覽器都可以使用

這就是兩者的區別


分享到:


相關文章: