微信小程序运行环境(在硬件设备运行小程序)(1)

受访者 | 微信小程序运行环境(在硬件设备运行小程序)(2)微信微信小程序运行环境(在硬件设备运行小程序)(3)小程序硬件框架团队

采访者 | 伍杏玲

在 2017 年的微信小程序运行环境(在硬件设备运行小程序)(4)微信公开课 PRO 上,张小龙谈到微信小程序运行环境(在硬件设备运行小程序)(5)微信微信小程序运行环境(在硬件设备运行小程序)(6)小程序的设计初衷:“我认为所有的应用程序应该是一种无处不在,但是又可以随时访问的一种状态……什么是微信小程序运行环境(在硬件设备运行小程序)(7)小程序?微信小程序运行环境(在硬件设备运行小程序)(8)小程序是一种不需要下载、安装即可使用的应用,它实现了触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也实现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载。”

同时还超前预言十年后,人与应用程序的交互形式:

“也许十年后,智能眼镜成为主流设备,整个PC 电脑会藏在眼睛里,可以把屏幕投在视网膜里,不用安装应用程序,就能看到应用程序在哪里。只要当你看到任何实物,它背后的应用程序都会浮现出来,并且可以用眼睛去控制运行。”

三年过去,微信小程序运行环境(在硬件设备运行小程序)(9)小程序一如张小龙提到的设计初衷,如今微信小程序运行环境(在硬件设备运行小程序)(10)小程序“用完即走”的方式已深入人们的日常操作中。

在 2020 微信小程序运行环境(在硬件设备运行小程序)(11)微信公开课 PRO 上,三岁的微信小程序运行环境(在硬件设备运行小程序)(12)微信微信小程序运行环境(在硬件设备运行小程序)(13)小程序交出一份亮眼的成绩单:日活用户超 3 亿,交易额超 8000 亿。但这 3 年里,微信小程序运行环境(在硬件设备运行小程序)(14)微信微信小程序运行环境(在硬件设备运行小程序)(15)小程序只运行在微信小程序运行环境(在硬件设备运行小程序)(16)微信平台上。并未完全如上述张小龙提到的超理想状态“应用程序应该是一种无处不在”。

随着万物时代的到来,IoT 设备增长快速,是不可忽视的技术发展趋势。在今年的微信小程序运行环境(在硬件设备运行小程序)(17)微信公开课上,微信小程序运行环境(在硬件设备运行小程序)(18)微信推出全新微信小程序运行环境(在硬件设备运行小程序)(19)小程序硬件框架(WeChat Mini-Program Framework,简称 WMPF),实现可脱离微信小程序运行环境(在硬件设备运行小程序)(20)微信客户端的环境下运行微信小程序运行环境(在硬件设备运行小程序)(21)小程序,支持微信小程序运行环境(在硬件设备运行小程序)(22)小程序运行在各行各业的安卓系统平板电脑、大屏设备等硬件上。这可谓是跨时代的发展。

这是一项怎样的黑科技?开发者是否要重新编写一套新代码来适配?未来微信小程序运行环境(在硬件设备运行小程序)(23)小程序又如何赋能 IoT设备?带着这些问题,CSDN(ID:CSDNnews)专访微信小程序运行环境(在硬件设备运行小程序)(24)微信微信小程序运行环境(在硬件设备运行小程序)(25)小程序硬件框架团队,来一探究竟。

注:本文涉及的“微信小程序运行环境(在硬件设备运行小程序)(26)小程序”均表示“微信小程序运行环境(在硬件设备运行小程序)(27)微信微信小程序运行环境(在硬件设备运行小程序)(28)小程序”。

微信小程序运行环境(在硬件设备运行小程序)(29)

脱离微信小程序运行环境(在硬件设备运行小程序)(30)微信也能运行微信小程序运行环境(在硬件设备运行小程序)(31)小程序?这款框架太硬核!

据了解,硬件开发者只需接入微信小程序运行环境(在硬件设备运行小程序)(32)小程序硬件框架 WMPF 的 SDK 及 APK,即可在平板电脑、大屏设备等智能硬件设备上运行微信小程序运行环境(在硬件设备运行小程序)(33)小程序。但这个微信小程序运行环境(在硬件设备运行小程序)(34)小程序硬件框架不是以 SDK 的形式在硬件设备上运行,而是以“壳”App的形式来容纳微信小程序运行环境(在硬件设备运行小程序)(35)微信微信小程序运行环境(在硬件设备运行小程序)(36)小程序的 SDK,用户或者开发者在更新时通过“壳”App来静默更新,整体“壳”App的大小约60-70M。

目前 WMPF 仅支持安卓系统的设备,可接入的设备包括但不限于:

1、智慧零售:收银机/排号机/商场导航屏/自动贩卖机/点餐平板/互动广告屏幕等;

2、家用及娱乐设备:智能冰箱/儿童平板/跑步机/电视机/KTV点唱机等;

3、公共服务:医院挂号机/图书租赁设备/美术馆办卡机等;

4、办公设备:教育平板/会议终端/会议投屏等。

微信小程序运行环境(在硬件设备运行小程序)(37)小程序硬件框架团队介绍,早在微信小程序运行环境(在硬件设备运行小程序)(38)小程序起步时,技术团队便同步考虑在不同环境运行微信小程序运行环境(在硬件设备运行小程序)(39)小程序的问题。当时的设想是通过抽取出微信小程序运行环境(在硬件设备运行小程序)(40)小程序运行的 SDK,来和微信小程序运行环境(在硬件设备运行小程序)(41)小程序开发者的代码一起打包生成目标环境的原生应用,运行在不同的设备上。

“这是站在开发者的角度来思考的,一个很原始、很朴素的想法,初衷是让开发者可以没有任何顾虑的投入开发微信小程序运行环境(在硬件设备运行小程序)(42)小程序。”技术团队表示。

时间划到 2018年,随着微信小程序运行环境(在硬件设备运行小程序)(43)小程序生态的快速发展,团队希望能在手机之外释放微信小程序运行环境(在硬件设备运行小程序)(44)小程序的能力,即如今这种通过 WMPF,在更多的智能硬件设备上运行微信小程序运行环境(在硬件设备运行小程序)(45)小程序。“这和之前小龙在公开的场合上所阐述的理念是一致的。”

除了外部的硬件设备外,微信小程序运行环境(在硬件设备运行小程序)(46)微信内部平台如企业微信小程序运行环境(在硬件设备运行小程序)(47)微信等,也开始对支持运行微信小程序运行环境(在硬件设备运行小程序)(48)小程序有了需求。

基于以上两方面的需求出发,目前该技术团队主要由两部分的人员组成:一是微信小程序运行环境(在硬件设备运行小程序)(49)微信客户端内部的微信小程序运行环境(在硬件设备运行小程序)(50)小程序开发团队,同时负责完成 WMPF 新功能的迭代和研发微信小程序运行环境(在硬件设备运行小程序)(51)微信客户端内微信小程序运行环境(在硬件设备运行小程序)(52)小程序框架的功能,保证微信小程序运行环境(在硬件设备运行小程序)(53)小程序能力迭代在两端的一致。

二是微信小程序运行环境(在硬件设备运行小程序)(54)小程序之外、微信小程序运行环境(在硬件设备运行小程序)(55)微信在物联网领域投入预研的技术支持团队,未来他们将会在设备合法性校验、推送通道建设,以及维护外部开发者接入等方面提供更加丰富技术支持。

微信小程序运行环境(在硬件设备运行小程序)(56)

在目标设备上运行微信小程序运行环境(在硬件设备运行小程序)(57)小程序

微信小程序运行环境(在硬件设备运行小程序)(58)

不同硬件设备上,如何确保微信小程序运行环境(在硬件设备运行小程序)(59)小程序的安全?

需打破平台的限制,让软硬件开发者均可使用,这是一个创新的理念和技术突破。微信小程序运行环境(在硬件设备运行小程序)(60)小程序硬件框架团队在研究探索的过程中,在技术上遇到众多困难:

1、如何在微信小程序运行环境(在硬件设备运行小程序)(61)小程序开发者几乎不感知的情况下,在硬件设备上提供微信小程序运行环境(在硬件设备运行小程序)(62)微信特有的开放能力?

原有的微信小程序运行环境(在硬件设备运行小程序)(63)微信微信小程序运行环境(在硬件设备运行小程序)(64)小程序由于运行在微信小程序运行环境(在硬件设备运行小程序)(65)微信客户端,所以获取分享、登录和支付等微信小程序运行环境(在硬件设备运行小程序)(66)微信账号身份相关的自有能力是非常容易的。但如今微信小程序运行环境(在硬件设备运行小程序)(67)小程序脱离微信小程序运行环境(在硬件设备运行小程序)(68)微信客户端,运行在其他硬件设备上,此时该如何获取调用微信小程序运行环境(在硬件设备运行小程序)(69)微信能力?例如,一用户A的主身份在自己的智能手机里,当他在操作独立运行着微信小程序运行环境(在硬件设备运行小程序)(70)小程序的、和手机完全隔离的大屏设备上时,设备上的微信小程序运行环境(在硬件设备运行小程序)(71)小程序该如何知道当前操作的用户是A呢?

在参考微信小程序运行环境(在硬件设备运行小程序)(72)微信现有的第三方网页扫码授权机制后,技术团队沿用了这种方式,通过在设备上拉取并显示授权二维码,配合用户扫码授权,以后台通信的方式将用户身份信息,从手机端传递到设备上,以此来解决身份问题。

将身份问题解决后,其他微信小程序运行环境(在硬件设备运行小程序)(73)微信开放能力就能迎刃而解:只需要在 WMPF 上使用微信小程序运行环境(在硬件设备运行小程序)(74)微信客户端里对应的访问后台接口,就能将微信小程序运行环境(在硬件设备运行小程序)(75)微信的开放能力提供给没有微信小程序运行环境(在硬件设备运行小程序)(76)微信客户端的环境(其他硬件设备)。

2、安全问题如何解决?

团队刚开始设计时,按照一般的做法是想将框架以 SDK 的形式提供给开发者使用,集成到他自己的App环境中,但这种形式在保证用户和微信小程序运行环境(在硬件设备运行小程序)(77)小程序开发者两方的权益时会有风险。

首先,用户会认为自己在使用的微信小程序运行环境(在硬件设备运行小程序)(78)小程序一定是运行在一个相对安全的微信小程序运行环境(在硬件设备运行小程序)(79)微信客户端环境里,出于信任可能会提供更多个人信息给微信小程序运行环境(在硬件设备运行小程序)(80)小程序。但假如以 SDK 的形式来提供接入的话,微信小程序运行环境(在硬件设备运行小程序)(81)小程序以及用户提供的数据都将运行在第三方不可控的环境里。技术原理上来看,这种模式由于在同进程运行,存在着被第三方不可控环境监听的风险,进而导致可能的用户隐私数据泄露。

同样,开发者侧无法确保通过第三方环境中运行的微信小程序运行环境(在硬件设备运行小程序)(82)小程序获取到的用户是不是微信小程序运行环境(在硬件设备运行小程序)(83)微信的真实用户,不排除黑产灰产通过集成SDK实现运行环境,伪造、仿冒真实用户来“薅羊毛”,从而造成用户获取环节实实在在的损失。

而说到解决方法,也并不复杂。团队采用封装壳的方式,将微信小程序运行环境(在硬件设备运行小程序)(84)小程序框架 SDK 装入 WMPF 来解决上述SDK模式的安全问题。

然而这样做还并不足够,在设备层面也依然存在安全上的挑战——如何确保 WMPF 所运行的设备是合法有效的?

参考手机上的做法,可以通过对硬件上有更高要求,比如说硬件需引入类似 SOTER 的机制,在类似TEE这样的安全环境中,生成或者校验签名和唯一设备ID。然而这样的方式对于更多的第三方设备开发者来说,意味着需要增加额外的硬件成本投入。所以这个解决方案并不普适。

随后技术团队尝试探索引入在线验证的方式,通过将物联网的在线认证机制引入 WMPF,以保证每台设备的合法性校验都是实时在线完成,确保每一台运行 WMPF 的设备都是安全可控的。

因为微信小程序运行环境(在硬件设备运行小程序)(85)小程序里所有业务都有实时在线的特点,所以在设计验证环节时,我们也是假定了设备需要实时联网。

即使有合法设备的ID泄露,被黑产拷贝生产出一些未授权的设备,那么这些未授权设备在运行框架时一定会产生在线校验冲突——任意时刻一个合法有效的设备ID只能有一个在线运行。如此一来,就能提高门槛,避免大规模的未授权设备出现。

微信小程序运行环境(在硬件设备运行小程序)(86)

硬件设备的微信小程序运行环境(在硬件设备运行小程序)(87)小程序入口

脱离了微信小程序运行环境(在硬件设备运行小程序)(88)微信的微信小程序运行环境(在硬件设备运行小程序)(89)小程序,用户该如何启动硬件设备上的微信小程序运行环境(在硬件设备运行小程序)(90)小程序?是否和 App 一样,需要通过“微信小程序运行环境(在硬件设备运行小程序)(91)小程序应用市场”来搜索获取呢?

微信小程序运行环境(在硬件设备运行小程序)(92)小程序硬件框架团队表示,并不需要统一的应用市场,在特定场景下,第三方设备开发者自己决定“入口”是什么。在商场导购机的场景中,当用户查看商场导购机上的地图时,这地图上的每一个店铺便可能是微信小程序运行环境(在硬件设备运行小程序)(93)小程序的入口。用户点击地图上某一个店铺后,便可直接进入到商家的微信小程序运行环境(在硬件设备运行小程序)(94)小程序,查看相关的优惠活动信息。

对于设备开发者而言,需将原来一般的“九宫格”桌面应用换成地图形式的“微信小程序运行环境(在硬件设备运行小程序)(95)小程序启动器”,在地图的每个商铺位置上,做类似手机桌面图标的微信小程序运行环境(在硬件设备运行小程序)(96)小程序入口,当用户点击商铺位置时,开发者通过 WMPF 来运行对应的微信小程序运行环境(在硬件设备运行小程序)(97)小程序。

如此一来,开发者只需选择适合运行在该设备的微信小程序运行环境(在硬件设备运行小程序)(98)小程序,然后把这些微信小程序运行环境(在硬件设备运行小程序)(99)小程序加在合适的入口上。

微信小程序运行环境(在硬件设备运行小程序)(100)

不同硬件设备上,微信小程序运行环境(在硬件设备运行小程序)(101)小程序兼容性如何解决?

每次开发者在面对一款新工具或框架时,可能“哀怨”地想:“这又得将代码搬运一遍……”

微信小程序运行环境(在硬件设备运行小程序)(102)小程序硬件框架团队表示,微信小程序运行环境(在硬件设备运行小程序)(103)小程序开发者可直接将原有的那套微信小程序运行环境(在硬件设备运行小程序)(104)小程序代码直接迁移至 WMPF,然后根据不同的硬件设备来调整屏幕尺寸和适配交互方式。

实际上 WMPF 会尽量保持一致性的兼容,假如硬件设备和手机的交互方式一致、屏幕尺寸比例也相似的话,微信小程序运行环境(在硬件设备运行小程序)(105)小程序开发者几乎不需做任何的修改,其代码可直接运行在该硬件设备上。

否则,开发者将需调整微信小程序运行环境(在硬件设备运行小程序)(106)小程序中对应的 UI 代码来适配不同尺寸屏幕的布局。假如微信小程序运行环境(在硬件设备运行小程序)(107)小程序开发者之前在编写代码的过程中,已采用类似响应式UI开发的话,将会较容易适应不同尺寸屏幕的表现。

微信小程序运行环境(在硬件设备运行小程序)(108)

发力 IoT ,微信小程序运行环境(在硬件设备运行小程序)(109)微信微信小程序运行环境(在硬件设备运行小程序)(110)小程序的优势

这次在微信小程序运行环境(在硬件设备运行小程序)(111)微信公开课推出新的微信小程序运行环境(在硬件设备运行小程序)(112)小程序硬件框架,后续微信小程序运行环境(在硬件设备运行小程序)(113)微信微信小程序运行环境(在硬件设备运行小程序)(114)小程序是否全面发力 IoT 设备?

从受访者看来,IoT 覆盖的设备和场景非常大,从一个超大屏幕到很小传感器,两者均是 IoT设备。但这两个产品在技术和应用生态上完全不同的子领域,很难完全做兼容的。所以,他认为 IoT领域并不是单一的应用生态就能容纳。

而在 IoT领域,微信小程序运行环境(在硬件设备运行小程序)(115)微信微信小程序运行环境(在硬件设备运行小程序)(116)小程序的发力点是智能屏幕,即拥有触摸屏交互形式的设备上,“对于这类 IoT 设备,微信小程序运行环境(在硬件设备运行小程序)(117)小程序是具备优势的。”

毕竟在每个新技术的传播中,最难的是建立开发者生态和应用生态的过程。

技术团队表示,原有的微信小程序运行环境(在硬件设备运行小程序)(118)微信微信小程序运行环境(在硬件设备运行小程序)(119)小程序已积累非常庞大的开发者数量,这是让微信小程序运行环境(在硬件设备运行小程序)(120)小程序能快速地迁移到相接近的智能屏幕 IoT 领域里的巨大优势,因为无需在这个新技术领域里面重新建立起一套新的应用生态。

微信小程序运行环境(在硬件设备运行小程序)(121)

微信小程序运行环境(在硬件设备运行小程序)(122)小程序硬件框架的三大发力点

随着 AI 技术的发展,WMPF将结合第三方语音助手和小微机器人,来给WMPF 增加语音控制微信小程序运行环境(在硬件设备运行小程序)(123)小程序的能力。微信小程序运行环境(在硬件设备运行小程序)(124)小程序开发者还可通过小微的平台来提供其支持的技能。

在 AR 技术上,将结合开发者的诉求,框架技术团队来进行相关的研发。如对于化妆镜场景,后续 WMPF 可提供和微信小程序运行环境(在硬件设备运行小程序)(125)微信客户端相似的试妆能力。

谈及 WMPF 在近期的研发方向,主要有三点:

1、智能屏幕场景。在理想的预期下,期待能在智能屏幕上诞生出出色的微信小程序运行环境(在硬件设备运行小程序)(126)小程序 SaaS 软件服务商和硬件的解决方案商。2、目前 WMPF 支持安卓平台,未来希望能扩展到更多底层操作系统平台。3、探索 5G 技术下的新发展。随着 5G 技术的发展,团队相信基于 WMPF 构建的微信小程序运行环境(在硬件设备运行小程序)(127)小程序在设备上的应用响应速度和更新的实时性都会变得更好。

WMPF 传送门:

https://developers.wei微信小程序运行环境(在硬件设备运行小程序)(128)xin.qq微信小程序运行环境(在硬件设备运行小程序)(129).com/doc/oplatform/Miniprogram_Frame/

微信小程序运行环境(在硬件设备运行小程序)(130)

微信小程序运行环境(在硬件设备运行小程序)(131)

,