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

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

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

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

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

  產品上,Web 上能做的,小程式中大部分都能做。小程式上能做的,Web 上不一定能做。

  營銷上,Web 能用到的入口,除了朋友圈以外,小程式都可以用。小程式能用到的若干入口,Web 不能使用。

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

  小程式,整個小程式是提前下載的,不會有 Web 頁面開啟時的頁面載入感。我們過去的可用性研究表明,這是多使用者對一個介面是「Web」還是「原生」的主要判斷標準。對於偏工具型的小程式,「原生」的感受應該會更好。

  小程式對體驗的控制更完整,自己要做的事情也更多。例如 Web 頁面中多使用者可以選擇頁面上的文字複製,而在「原生」小程式介面中,這是需要單獨新增的功能。

  小程式提供了一些專屬的控制元件和 APIs(介面),如展示群資訊、傳送推送等,這些只有使用小程式框架開發才能使用。

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

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