傳說中的微信“應用號”終於要來了,但它的正式名稱很有可能是“微信小程式”。這一次微信還是按照慣例,透過機器跑出的資料,首先將“小程式”開放給了200名擁有微信服務號的開發者進行內測,而且目前開發者釋出的小程式無法在使用者的客戶端顯示。
簡單說,微信“小程式”可以為開發者提供基於微信的表單、導航、地圖、媒體和位置等開發元件,讓他們在微信的網頁裡構建一個HTML 5應用。同時微信還開放了登入和微信支付等介面,讓這個“小程式”可以和使用者的微信賬號打通。
根據參與本次內測的“小道訊息”創始人Fenng提供的資訊,微信小程式向開發者開放了下列API介面:
檢視容器:檢視(View)、滾動檢視、Swiper基礎內容:圖示、文字、進度條表單元件:按鈕、表單等等操作反饋導航媒體組建:音訊、圖片、影片。地圖畫布檔案操作能力網路:上傳下載能力、WebSocket資料:資料快取能力位置:獲取位置、檢視位置裝置:網路狀態、系統資訊、重力感應、羅盤介面:設定導航條、導航、動畫、繪圖等等開放介面:登入,包括簽名加密,使用者資訊、微信支付、模板訊息
雖然微信小程式本質上來說就是一個HTML 5(移動網頁) 應用,但與那些經常在朋友圈刷屏的 H5 小遊戲或者應用不同的是,微信小程式獲得更多的系統許可權。首先是資料快取能力,這可以讓使用者在開啟一個小程式的時候將程式的主要框架快取到微信上,下一次就可以快速開啟了。微信創始人張小龍曾說過,微信應用號希望實現的目標是“用完即走,無需安裝和解除安裝”,也就是說以後當你要使用一個應用時,只需要在微信裡搜尋就可以直接使用了。
在這些框架和組建的幫助下,微信小程式的啟動和執行速度將遠超過依賴瀏覽器的普通移動網頁應用——甚至可以媲美手機本地安裝的應用,但這還是得取決於你的網速。另外,16 GB的iPhone使用者可能真的得升級手機了:一旦“小程式”啟用,微信可能吞噬你大部分的儲存空間。
另外一個非常重要的開放許可權是微信登入介面,有了這個介面,開發者就可以將使用者的微信賬號和應用賬號打通——這一點是很多開發者夢寐以求的,畢竟在這種情況下獲取一個活躍使用者的成本要小得多。
此外微信還為開發者提供了非常詳盡的開發文件,以及基於Mac、Windows和Linux系統的開發工具。不過小程式開發完後不能直接釋出,需要提交給微信團隊進行稽核,稽核方式類似於蘋果稽核嚴格的App Store。目前還不確定微信是否會像蘋果一樣只允許付費的開發者釋出程式,以及如何進行小程式的收入分成。
從目前已知的資訊來看,微信“小程式”對於開發者來說還是非常友好的。首先是推廣成本將大幅降低,開發者獲取一個使用者不再需要下載安裝和註冊的過程,而僅僅是讓使用者關注自己的小程式,一鍵即可完成,同時也不會佔用太多使用者的手機記憶體(當然微信應用自身會進一步吞噬更多的手機記憶體);其次是微信為開發者提供了完整的前端框架和後端管理平臺,這可以為開發者節省不少在這方面的人力和資金成本——這就相當於一個內容創業者已經不需要開發一個網站,而是直接使用微信訂閱號平臺。
這也就是說,在很多數情況下,開發者不用再開發一款原生的移動app,再放到蘋果的App Store應用商店和各種Android應用商店裡去稽核了,開發一款微信的“小程式”就能滿足使用者的瀏覽、定位、預訂、分享和支付等絕大部分需求。而對普通使用者來說,到應用商店裡搜尋下載應用,佔用手機記憶體,然後再不斷刪除冗餘的app以節約手機儲存空間的做法也不必了;很多時候你只需要安裝一個越來越臃腫的微信而已——大部分應用將以“小程式”的方式內建其中。
這對自2009年以來以“應用商店”為中心的移動應用和使用者體驗,是一個非常重要的改變。一款“超級應用”包含了人們需要的大部分應用。而人們僅僅需要從應用商店下載它——而且,在這個問題上,微信得到了蘋果的默許。
其實在微信小程式正式登場之前,你就可以在iPhone的iMessage應用上體驗類似的“小程式”了。在升級到最新版的iOS 10後,蘋果簡直就是在iMessage上覆制了一個App Store,你不僅可以在iMessage裡傳送表情包,還可以跟朋友玩小遊戲和分享其他應用資訊。但跟微信小程式不同的是,iMessage使用的是iPhone手機自帶的框架,而不是網頁框架。
將應用“網頁化”一直都是技術公司努力推動的一個趨勢,而將強大的通訊工具“應用平臺化”也是技術公司們正在探索的。除了微信的“小程式”和蘋果的iMessage應用,此前Facebook也在自己的通訊工具Messager上推出了簡單的應用開發介面,讓使用者直接透過聊天視窗完成叫車和訂餐等操作。
而Google則一直希望將Chrome瀏覽器變成一個超級網頁App平臺,Google在最近提出了一個名為Progressive Web App的概念,指的是執行在瀏覽器裡的App。這類App跟微信小程式的原理很類似,也就是將應用需要的框架和程式快取到本地的瀏覽器裡,讓H5程式在離線的狀態下仍然能夠使用。
目前Google旗下的Chrome瀏覽器和Firefox、Opera等主流瀏覽器都已經支援了Progressive Web App,並在Google的主導下為開發者提供了統一的API介面。相比之下,微信在這個時候釋出小程式也只是在自己的平臺上進行了跟進。
這麼看,移動應用程式開發和分發的大變局真的快來了。“別再開發app了”,有很多人這麼說。那麼,現在加上後半句吧。“請開發移動網頁應用吧”,而且JavaScrpit程式設計師要更吃香了。對開發者們來說,這是一次地震。