脫離微信,在硬體設備運行小程序?小程序硬體框架大揭秘

csdn 發佈 2020-01-20T23:39:42+00:00

在2020 微信公開課 PRO 上,三歲的微信小程序交出一份亮眼的成績單:日活用戶超 3 億,交易額超 8000 億。

受訪者 | 微信小程序硬體框架團隊

採訪者 | 伍杏玲

在 2017 年的微信公開課 PRO 上,張小龍談到微信小程序的設計初衷:「我認為所有的應用程式應該是一種無處不在,但是又可以隨時訪問的一種狀態……什麼是小程序小程序是一種不需要下載、安裝即可使用的應用,它實現了觸手可及的夢想,用戶掃一掃或者搜一下就能打開應用,也實現了用完即走的理念,用戶不用安裝太多應用,應用隨處可用,但又無須安裝卸載。」

同時還超前預言十年後,人與應用程式的交互形式:

「也許十年後,智能眼鏡成為主流設備,整個PC 電腦會藏在眼睛裡,可以把螢幕投在視網膜里,不用安裝應用程式,就能看到應用程式在哪裡。只要當你看到任何實物,它背後的應用程式都會浮現出來,並且可以用眼睛去控制運行。」

三年過去,小程序一如張小龍提到的設計初衷,如今小程序「用完即走」的方式已深入人們的日常操作中。

在 2020 微信公開課 PRO 上,三歲的微信小程序交出一份亮眼的成績單:日活用戶超 3 億,交易額超 8000 億。但這 3 年裡,微信小程序只運行在微信平台上。並未完全如上述張小龍提到的超理想狀態「應用程式應該是一種無處不在」。

隨著萬物時代的到來,IoT 設備增長快速,是不可忽視的技術發展趨勢。在今年的微信公開課上,微信推出全新小程序硬體框架(WeChat Mini-Program Framework,簡稱 WMPF),實現可脫離微信客戶端的環境下運行小程序,支持小程序運行在各行各業的安卓系統平板電腦、大屏設備等硬體上。這可謂是跨時代的發展。

這是一項怎樣的黑科技?開發者是否要重新編寫一套新代碼來適配?未來小程序又如何賦能 IoT設備?帶著這些問題,CSDN(ID:CSDNnews)專訪微信小程序硬體框架團隊,來一探究竟。

註:本文涉及的「小程序」均表示「微信小程序」。

脫離微信也能運行小程序?這款框架太硬核!

據了解,硬體開發者只需接入小程序硬體框架 WMPF 的 SDK 及 APK,即可在平板電腦、大屏設備等智能硬體設備上運行小程序。但這個小程序硬體框架不是以 SDK 的形式在硬體設備上運行,而是以「殼」App的形式來容納微信小程序的 SDK,用戶或者開發者在更新時通過「殼」App來靜默更新,整體「殼」App的大小約60-70M。

目前 WMPF 僅支持安卓系統的設備,可接入的設備包括但不限於:

1、智慧零售:收銀機/排號機/商場導航屏/自動販賣機/點餐平板/互動廣告螢幕等;

2、家用及娛樂設備:智能冰箱/兒童平板/跑步機/電視機/KTV點唱機等;

3、公共服務:醫院挂號機/圖書租賃設備/美術館辦卡機等;

4、辦公設備:教育平板/會議終端/會議投屏等。

小程序硬體框架團隊介紹,早在小程序起步時,技術團隊便同步考慮在不同環境運行小程序的問題。當時的設想是通過抽取出小程序運行的 SDK,來和小程序開發者的代碼一起打包生成目標環境的原生應用,運行在不同的設備上。

「這是站在開發者的角度來思考的,一個很原始、很樸素的想法,初衷是讓開發者可以沒有任何顧慮的投入開發小程序。」技術團隊表示。

時間劃到 2018年,隨著小程序生態的快速發展,團隊希望能在手機之外釋放小程序的能力,即如今這種通過 WMPF,在更多的智能硬體設備上運行小程序。「這和之前小龍在公開的場合上所闡述的理念是一致的。」

除了外部的硬體設備外,微信內部平台如企業微信等,也開始對支持運行小程序有了需求。

基於以上兩方面的需求出發,目前該技術團隊主要由兩部分的人員組成:一是微信客戶端內部的小程序開發團隊,同時負責完成 WMPF 新功能的疊代和研發微信客戶端內小程序框架的功能,保證小程序能力疊代在兩端的一致。

二是小程序之外、微信在物聯網領域投入預研的技術支持團隊,未來他們將會在設備合法性校驗、推送通道建設,以及維護外部開發者接入等方面提供更加豐富技術支持。

在目標設備上運行小程序

不同硬體設備上,如何確保小程序的安全?

需打破平台的限制,讓軟硬體開發者均可使用,這是一個創新的理念和技術突破。小程序硬體框架團隊在研究探索的過程中,在技術上遇到眾多困難:

1、如何在小程序開發者幾乎不感知的情況下,在硬體設備上提供微信特有的開放能力?

原有的微信小程序由於運行在微信客戶端,所以獲取分享、登錄和支付等微信帳號身份相關的自有能力是非常容易的。但如今小程序脫離微信客戶端,運行在其他硬體設備上,此時該如何獲取調用微信能力?例如,一用戶A的主身份在自己的智慧型手機里,當他在操作獨立運行著小程序的、和手機完全隔離的大屏設備上時,設備上的小程序該如何知道當前操作的用戶是A呢?

在參考微信現有的第三方網頁掃碼授權機制後,技術團隊沿用了這種方式,通過在設備上拉取並顯示授權二維碼,配合用戶掃碼授權,以後台通信的方式將用戶身份信息,從手機端傳遞到設備上,以此來解決身份問題。

將身份問題解決後,其他微信開放能力就能迎刃而解:只需要在 WMPF 上使用微信客戶端里對應的訪問後台接口,就能將微信的開放能力提供給沒有微信客戶端的環境(其他硬體設備)。

2、安全問題如何解決?

團隊剛開始設計時,按照一般的做法是想將框架以 SDK 的形式提供給開發者使用,集成到他自己的App環境中,但這種形式在保證用戶和小程序開發者兩方的權益時會有風險。

首先,用戶會認為自己在使用的小程序一定是運行在一個相對安全的微信客戶端環境裡,出於信任可能會提供更多個人信息給小程序。但假如以 SDK 的形式來提供接入的話,小程序以及用戶提供的數據都將運行在第三方不可控的環境裡。技術原理上來看,這種模式由於在同進程運行,存在著被第三方不可控環境監聽的風險,進而導致可能的用戶隱私數據泄露。

同樣,開發者側無法確保通過第三方環境中運行的小程序獲取到的用戶是不是微信的真實用戶,不排除黑產灰產通過集成SDK實現運行環境,偽造、仿冒真實用戶來「薅羊毛」,從而造成用戶獲取環節實實在在的損失。

而說到解決方法,也並不複雜。團隊採用封裝殼的方式,將小程序框架 SDK 裝入 WMPF 來解決上述SDK模式的安全問題。

然而這樣做還並不足夠,在設備層面也依然存在安全上的挑戰——如何確保 WMPF 所運行的設備是合法有效的?

參考手機上的做法,可以通過對硬體上有更高要求,比如說硬體需引入類似 SOTER 的機制,在類似TEE這樣的安全環境中,生成或者校驗簽名和唯一設備ID。然而這樣的方式對於更多的第三方設備開發者來說,意味著需要增加額外的硬體成本投入。所以這個解決方案並不普適。

隨後技術團隊嘗試探索引入在線驗證的方式,通過將物聯網的在線認證機制引入 WMPF,以保證每台設備的合法性校驗都是實時在線完成,確保每一台運行 WMPF 的設備都是安全可控的。

因為小程序里所有業務都有實時在線的特點,所以在設計驗證環節時,我們也是假定了設備需要實時聯網。

即使有合法設備的ID泄露,被黑產拷貝生產出一些未授權的設備,那麼這些未授權設備在運行框架時一定會產生在線校驗衝突——任意時刻一個合法有效的設備ID只能有一個在線運行。如此一來,就能提高門檻,避免大規模的未授權設備出現。

硬體設備的小程序入口

脫離了微信小程序,用戶該如何啟動硬體設備上的小程序?是否和 App 一樣,需要通過「小程序應用市場」來搜索獲取呢?

小程序硬體框架團隊表示,並不需要統一的應用市場,在特定場景下,第三方設備開發者自己決定「入口」是什麼。在商場導購機的場景中,當用戶查看商場導購機上的地圖時,這地圖上的每一個店鋪便可能是小程序的入口。用戶點擊地圖上某一個店鋪後,便可直接進入到商家的小程序,查看相關的優惠活動信息。

對於設備開發者而言,需將原來一般的「九宮格」桌面應用換成地圖形式的「小程序啟動器」,在地圖的每個商鋪位置上,做類似手機桌面圖標的小程序入口,當用戶點擊商鋪位置時,開發者通過 WMPF 來運行對應的小程序

如此一來,開發者只需選擇適合運行在該設備的小程序,然後把這些小程序加在合適的入口上。

不同硬體設備上,小程序兼容性如何解決?

每次開發者在面對一款新工具或框架時,可能「哀怨」地想:「這又得將代碼搬運一遍……」

小程序硬體框架團隊表示,小程序開發者可直接將原有的那套小程序代碼直接遷移至 WMPF,然後根據不同的硬體設備來調整螢幕尺寸和適配交互方式。

實際上 WMPF 會儘量保持一致性的兼容,假如硬體設備和手機的交互方式一致、螢幕尺寸比例也相似的話,小程序開發者幾乎不需做任何的修改,其代碼可直接運行在該硬體設備上。

否則,開發者將需調整小程序中對應的 UI 代碼來適配不同尺寸螢幕的布局。假如小程序開發者之前在編寫代碼的過程中,已採用類似響應式UI開發的話,將會較容易適應不同尺寸螢幕的表現。

發力 IoT ,微信小程序的優勢

這次在微信公開課推出新的小程序硬體框架,後續微信小程序是否全面發力 IoT 設備?

從受訪者看來,IoT 覆蓋的設備和場景非常大,從一個超大螢幕到很小傳感器,兩者均是 IoT設備。但這兩個產品在技術和應用生態上完全不同的子領域,很難完全做兼容的。所以,他認為 IoT領域並不是單一的應用生態就能容納。

而在 IoT領域,微信小程序的發力點是智能螢幕,即擁有觸摸屏交互形式的設備上,「對於這類 IoT 設備,小程序是具備優勢的。」

畢竟在每個新技術的傳播中,最難的是建立開發者生態和應用生態的過程。

技術團隊表示,原有的微信小程序已積累非常龐大的開發者數量,這是讓小程序能快速地遷移到相接近的智能螢幕 IoT 領域裡的巨大優勢,因為無需在這個新技術領域裡面重新建立起一套新的應用生態。

小程序硬體框架的三大發力點

隨著 AI 技術的發展,WMPF將結合第三方語音助手和小微機器人,來給WMPF 增加語音控制小程序的能力。小程序開發者還可通過小微的平台來提供其支持的技能。

在 AR 技術上,將結合開發者的訴求,框架技術團隊來進行相關的研發。如對於化妝鏡場景,後續 WMPF 可提供和微信客戶端相似的試妝能力。

談及 WMPF 在近期的研發方向,主要有三點:

1、智能螢幕場景。在理想的預期下,期待能在智能螢幕上誕生出出色的小程序 SaaS 軟體服務商和硬體的解決方案商。2、目前 WMPF 支持安卓平台,未來希望能擴展到更多底層作業系統平台。3、探索 5G 技術下的新發展。隨著 5G 技術的發展,團隊相信基於 WMPF 構建的小程序在設備上的應用響應速度和更新的實時性都會變得更好。

WMPF 傳送門:

https://developers.weixin.qq.com/doc/oplatform/Miniprogram_Frame/

關鍵字: