WMPF的技术原理

WMPF是微信小程序硬件框架(WeChat Mini-Program Framework)的简称,该运行环境能让硬件在脱离微信客户端的情况下运行微信小程序,目前已支持Android,未来会支持到更多的平台。

想要顺利地运行小程序,你需要安装两个apk,并使其同时运行:

  • WMPF Service apk:小程序框架的运行环境,又称WMPF框架,以apk的方式运行在安卓系统中,由微信侧提供;
  • WMPF Client apk:Service的调用方,又称launcher,以apk的方式运行在安卓系统中,是小程序的容器。开发者需要根据后文的详细接入流程,完成Client的开发(可在微信提供的示例代码基础上二次开发)。

Client可以作为设备的“桌面”,用户可以从“桌面”启动小程序或者App。当用户点击“桌面上”的小程序入口(你可以自行定义入口样式),Client就会触发Service调起对应的小程序。

建议硬件配置

  • 四核 2GHz CPUxi
  • 内存 2GB RAM + 8GB ROM
  • 安卓7.1及以上

WMPF的合作角色

完整的WMPF应用包括微信小程序、WMPF Service、WMPF Client以及设备操作系统及相关驱动程序,分别由小程序开发者、硬件设备开发者和设备软件开发者进行开发:

如图所示,WMPF接入方可以分为三种

硬件设备开发者

硬件设备开发者一般是指设备的研发和生产商,为下游客户提供具备合理的硬件功能、操作系统(Android)和驱动软件的硬件设备。

如果你是一家智能跑步机的生产商,你可以通过WMPF来结合小程序的能力,从而创造出属于你的硬件设备的独特能力,例如结合屏幕画面控制跑步机的速度和坡度,实现趣味场景跑步能力;或者和另一台智能跑步机上运动的微信好友完成竞速挑战。

如果你专精于硬件的研发和生产,不熟悉Android开发,可以寻找其他设备软件开发者来帮助你完成WMPF Client的开发。但必须配合软件开发者对设备进行注册。

如果你的团队有Android开发工程经验,也可尝试自行开发WMPF Client。

设备软件开发者

WMPF Client又称WMPF launcher,以apk的方式运行在安卓系统中,是小程序的容器。开发者需要根据后文的详细接入流程,完成Client的开发。

开发者需要在Client中放置小程序的入口(icon或卡片),当用户点击触发时调用对应的接口启动WMPF Service来运行小程序。开发者在完成相关注册流程后,可以在wecooper平台上绑定所需使用的小程序。只有经过绑定的小程序才可以通过WMPF启动。

开发者如果在Client apk上删除了某个小程序的入口(icon或卡片),用户就无法启动该小程序了;因此,开发者可以通过放置入口的方式来允许或禁止用户启动某个小程序。

关于未在小程序中定义的特殊安卓接口,部分常用硬件(如打印机、定焦摄像头)可以通过WMPF专有接口来直接调用,与小程序完成通信;其他未定义的外接硬件,也可通过WMPF调用通道实现小程序和硬件的通信。

一般而言,在wecooper平台上绑定过的小程序可以运行在WMPF设备上。但已经发布到微信上使用的小程序已针对手机屏幕进行了UI设计的适配,如果你的设备屏幕尺寸、比例、分辨率、方向和手机差异较大,直接运行小程序的体验可能较差;可以通过专用接口调整小程序的显示区域,或者寻找合适的小程序开发者开发适应屏幕要求的小程序。

小程序开发者

小程序开发者可以将已在微信上发布的小程序授权给WMPF硬件使用,也可以针对硬件的特殊需要,定制开发专用小程序。小程序开发者若不愿意被WMPF硬件使用,可在微信开放平台关闭相关功能。

WMPF硬件具备部分手机未支持的能力,也有少量已在手机上成熟支持的接口在WMPF尚未稳定支持,开发者需要阅读WMPF小程序能力说明了解开发规范。