如何正確談論微信小程式開放內嵌 Web 頁面

王俊煜發表於2017-11-03

昨天晚上,微信宣佈「為方便開發者靈活配置小程式,小程式現開放內嵌 Web 頁面能力」。

在這之前,如果有人問我,在微信中做一個產品,是用小程式還是 Web 頁面 (嚴謹,既不是 HTML5 更不是 H5…) 的時候,我會這麼說:

  • 產品上,Web 上能做的,小程式中大部分都能做。小程式上能做的,Web 上不一定能做。
  • 營銷上,Web 能用到的入口,除了朋友圈以外,小程式都可以用。小程式能用到的若干入口,Web 不能使用。

關於後一點,朋友圈分享現在普遍會用海報來做,在這點上 Web 和小程式的能力其實是一樣的,都是隻能幫你儲存圖片到相簿,再請使用者手動傳送到朋友圈。而小程式獨有的發現 - 小程式、搜尋框快捷方式等對使用者回訪特別重要的入口,Web 頁面是不能使用的。

那麼,昨天的釋出意味著什麼?簡單地說,小程式的開發成本有了很大的下降

微信小程式剛剛上線的時候,由於小程式使用類似 HTML、CSS 和 JavaScript 等 Web 語言的方式進行開發,讓一些媒體誤以為小程式就是 Web 開發,歡呼將「迎來 Web 開發的春天」。我自己的第一份工作就是 Web 開發工程師,Web 開發入門確實比較容易;可是儘管小程式使用了 Web 語言,那只是語法上的一致,整個開發模式完全不同,更接近於原生 App 的開發而不是 Web。打個比方,對在看這篇文章的大多數人來說,讀中文要比讀英文更容易,但假如你看不懂英文版的《量子力學導論》,翻譯成中文版你也不一定能看懂。開發小程式,需要有專門的、獨立於 Web 團隊之外的團隊,按小程式的規範重新設計、重新開發,不能將已有的產品直接遷移過來。

可以理解微信當初做這個決定,是希望開發者按照微信的要求,為微信的使用者重新去思考、設計一套全新的使用者體驗,而不是將已有的 Web 頁面搬進來。歷史上,包括 Microsoft 的 Windows Phone 平臺、Google 的 Chrome Packaged App 都冒過類似的險,而其實 Apple 也做過類似的決定—— Steve Jobs 2010 年 4 月親筆寫過一篇文章,解釋為何 iPhone 不支援 Flash (Thoughts on Flash),其中最重要的原因是,Apple 不希望第三方開發者將已有的產品直接搬過來,而是希望開發者能直接在 iOS (當年還叫 iPhone OS) 進行開發,為 iPhone 的使用者提供最好的體驗。這些決定賭的是,新平臺 (小程式或 iOS) 帶來的商業上的好處,最終會讓開發者們願意付出這個成本。

那時候的 iPhone 還很弱小,但後來的歷史證明 Steve Jobs 賭對了——Adobe 公司今年 7 月宣佈,將在 2020 年最終停止 Flash 的更新和分發。

微信,則在昨天支援了開發者直接嵌入已有網頁。

所以,如果你已經有一個網站,可以直接在小程式中套個殼,把網站中的 Web 頁面搖身一變成一個小程式。至於這和直接分發 Web 頁面有什麼區別——

  • 產品上,Web 上能做的,小程式中大部分都能做。小程式上能做的,Web 上不一定能做。
  • 營銷上,Web 能用到的入口,除了朋友圈以外,小程式都可以用。小程式能用到的若干入口,Web 不能使用。

細心的你可能已經注意到了,上面這兩條並沒有任何變化… 對,在小程式的用法上其實沒有任何變化,只是開發成本下降了。

那麼,在今天之後,使用微信小程式框架開發的「原生」小程式,和嵌入已有的 Web 頁面的 「Web」小程式,在使用者感受上會有什麼區別呢?

  • 「原生」小程式,整個小程式是提前下載的,不會有 Web 頁面開啟時的頁面載入感。我們過去的可用性研究表明,這是使用者對一個介面是「Web」還是「原生」的最主要判斷標準。對於偏工具型的小程式,「原生」的感受應該會更好。
  • 「原生」小程式對體驗的控制更完整,自己要做的事情也更多。例如 Web 頁面中使用者可以選擇頁面上的文字複製,而在「原生」小程式介面中,這是需要單獨新增的功能。
  • 「原生」小程式提供了一些專屬的控制元件和 APIs(介面),如展示群資訊、傳送推送等,這些只有使用小程式框架開發才能使用。

所以,如果需要和微信生態整合得更緊密,可以使用「原生」方式開發;如果追求快速遷移已有 Web 產品,嵌入 Web 頁面更快。

最後,來講講輕芒小程式+ 相應的變化。

輕芒小程式+ 是目前唯一面向內容創作者的免費小程式解決方案。到剛剛為止,已有超過 8000 個內容創作者註冊申請生成自己的小程式。在微信昨天的更新後,我們即將推出以下幾個新功能:

  • 免費支援嵌入網頁能力,如果你已有網頁,可以藉助輕芒小程式+ 無程式碼、自助生成一個小程式。
  • 支援內容詳情頁直接開啟原網頁的能力,避免轉碼帶來的樣式丟失問題,讓小程式擁有原生網頁的瀏覽體驗。
  • 今後將支援免費生成活動頁面( minisite ),網頁和小程式同步展示。

注意,微信小程式嵌入網頁的功能,目前還不對個人開放,且對網頁的域名有要求。

如果你已經有了高品質的內容,希望在小程式上進行呈現,歡迎聯絡輕芒小程式+,也非常歡迎來跟我們提新的需求。歡迎發郵件到

hello@qingmang.me

也歡迎大家關注我們的服務號:「創作者與輕芒」,那裡會介紹更詳細的合作流程,回覆也會非常及時。


相關文章