其他小程序运行时环境

不仅仅在移动设备上

在中国等国家,小程序已经风靡市场。除了小程序无处不在且是其天然栖息地的移动设备之外,小程序也开始征服其他运行时环境,如汽车和传统桌面。

汽车中的小程序

2020 年 7 月,德国汽车制造商宝马集团宣布与腾讯品牌 WeScenario 合作,据腾讯称,该合作将推广到“全球 30 家领先的汽车公司,并将 [WeScenario] 社交、内容和服务生态系统带到超过 110 个主流汽车车型”

Dashboard of a Tencent car showing two rows of mini app icons.
腾讯 WeScenario 的着陆页(来源:宝马)。

桌面端小程序

微信桌面版中的小程序

使用适用于 macOSWindows 的微信桌面客户端,可以在桌面上运行微信小程序。(如果您正在进行研究并想要获得完整体验,请确保不要从 App Store 加载 macOS 版本,因为它功能更有限。)

要在 macOS 上进行测试,请通过“文件传输”帐户从移动设备与自己共享一个小程序。这将生成一条消息,您可以在桌面客户端上打开该消息。在大多数情况下,小程序将可以直接点击和运行。在其他情况下,您必须再次从移动设备将聊天记录转发给自己。

The WeChat macOS desktop client showing a chat with oneself with a shared mini app and a chat history as the two visible messages.
在微信 macOS 桌面客户端中与自己共享小程序。

在 Windows 上,与自己共享小程序的解决方法不是必需的,因为有一个专用的小程序面板,显示用户最近使用的小程序,还包括一个应用搜索,可以在其中发现新的小程序。

The mini app panel in the WeChat Windows client showing the user's recently used mini apps.
微信 Windows 客户端中的小程序面板。
The mini app search in the WeChat Windows client showing mini apps listed in various categories like games, business, education, etc.
微信 Windows 客户端中的小程序搜索。

桌面上的微信小程序自然地与操作系统集成。在 macOS 和 Windows 上,它们都在多任务栏中获得自己的条目,并有自己的任务栏图标。虽然在 macOS 上,可以选择保留在 Dock 中,但图标会在微信客户端应用关闭时立即消失。在 Windows 上,小程序图标可以固定到任务栏,但无法启动。在 macOS 上,应用的标题始终为“WeChat”,而不是应用的实际标题,而在 Windows 上,标题显示正确。

The macOS multitask switcher includes mini apps alongside regular macOS app.
星巴克应用是一个小程序,可以像任何常规 macOS 应用一样进行多任务处理。
The Starbucks mini app icon on the macOS Dock with a WeChat title.
macOS 上的小程序以 WeChat 作为其标题。

大多数小程序尚未针对桌面进行优化,并在固定的、不可调整大小的窗口中运行,该窗口包括与移动设备上相同的常用 UI 功能和权限提示(请参阅用户体验)。

The Starbucks mini app running on macOS asking for the user profile permission which the user can grant via a prompt shown at the bottom.
在 macOS 上运行的星巴克小程序请求用户个人资料权限。
The Starbucks mini app running on macOS showing the home screen of the app.
在 macOS 上以固定的、不可调整大小的窗口运行的星巴克小程序。

针对桌面(以及移动设备)优化的响应式小程序可以显示在更宽的窗口中,该窗口在 macOS 上目前仍然是固定的,但在 Windows 上可以灵活地调整大小。

The WeChat components demo app in a responsive app window that can be resized and that by default is wider than the usual mobile screen.
响应式应用窗口中的微信组件演示应用。
The WeChat components demo app in a narrow window showing three boxes A, B, and C stacked on top of each other.
窄应用窗口中的微信组件演示应用。
The WeChat components demo app in a wide window showing three boxes A, B, and C with A stacked on top of B and C on the side.
宽应用窗口中的微信组件演示应用。

macOS 上的小程序权限设置可以通过上下文菜单更改。在 Windows 上,这似乎是不可能的,演示应用报告的位置似乎是 Windows 允许应用在不请求权限的情况下获得的粗略位置。

The WeChat components demo app running on macOS showing two checkboxes for the location and user info permission.
macOS 上的微信小程序设置。

360 安全浏览器中的小程序

360 安全浏览器是由奇虎公司开发的 Web 浏览器。除了 iOS 和 Android,该浏览器还适用于 WindowsmacOSLinux。在 Windows 上,它能够运行特殊的 360 小程序开发者文档API 与其他供应商的类似;但是,360 不提供专用的 DevTools。相反,开发人员需要在他们自己选择的 IDE 中创建他们的小程序,然后可以使用特殊的开发模式在浏览器中测试它们。调试通过 Chrome Dev Tools 进行。演示应用可用于入门。

A 360 mini app running in 360 Secure Browser being debugged with Chrome Dev Tools.
使用 Chrome Dev Tools 调试 360 小程序。

360 小程序可以全屏模式运行,并且在多任务栏中显示为单独的条目。通过上下文菜单,可以添加主屏幕图标,允许从桌面启动小程序。

A 360 video mini app running in fullscreen mode showing various thumbnails of videos to watch.
以全屏模式运行的 360 小程序。

基于 Web 的小程序

有些小程序平台是基于 Web 的,但依赖于特殊的 WebView 来解锁其全部潜力。

LINE

LINE 是一款用于智能手机、平板电脑和个人电脑等电子设备上即时通信的应用。此外,LINE 还是一个提供各种服务的平台,包括数字钱包、新闻流、视频点播和数字漫画发行。该服务是韩国互联网搜索引擎公司 Naver Corporation 的子公司。

由于 LINE 小程序 本质上只是一个常规 Web 应用(请参阅 示例应用),它引入了 LINE 前端框架 (LIFF),因此也可以通过特殊的 永久链接 (示例) 在主 LINE 应用之外访问。但是,并非所有 API 在这种情况下都可用。浏览器 API 中不可用的示例包括用于读取 QR 码的 liff.scanCode() 方法或蓝牙相关 API,例如 liff.bluetooth.getAvailability()。要了解该平台,如果您有 LINE 帐户,则可以在浏览器和 LINE 应用中测试 LINE Playground 应用

The LINE Playground demo app running on an iOS device showing `liff.getOS()` returning 'ios'.
在 iOS 设备上运行的 LINE Playground 演示应用。
The LINE Playground demo app running in the web browser showing `liff.getOS()` returning 'web'.
在 Web 浏览器中运行的 LINE Playground 演示应用。

Google Spot

Google Spot 平台 允许开发者在 Google Pay 上设置 Spot——一个数字店面,他们可以创建品牌并以他们选择的方式托管。它可以在线上以及通过物理条形码发现。用户可以轻松地在他们最喜欢的消息应用上共享“Spot”(正如该应用所称),或者在 Google Pay 上找到它。Spot 是使用 HTML 和 JavaScript 构建的,因此根据公告帖子,通过“添加几行 JavaScript”,可以将对移动网站或 PWA 的现有投资轻松转换为 Spot。

The Eat.fit mini app running in the Google Pay super app showing the sign-in bottom sheet.
在 Google Pay 超级应用中运行的 Eat.fit 小程序(来源:Google)。

VK Mini Apps

俄罗斯社交网络平台 VK 运行一个 小程序计划,允许开发者 构建 与社交网络深度结合的小程序。VK 小程序可以在 VK 的平台特定移动应用以及桌面网站上运行。除了该品牌的其他几个平台(如 Mail.ru)之外,VK 小程序还集成在 Atom 浏览器中。

The Все аптеки mini app running in VK.
在 VK 中运行的 Все аптеки 小程序(来源:VK)。

Telegram Mini Apps

借助 Telegram Mini Apps,开发者可以使用 JavaScript 创建灵活的界面,可以直接在 Telegram 内启动。与机器人类似,Mini Apps 支持 无缝授权、使用 20 个支付提供商的 集成支付(开箱即用地支持 Google Pay 和 Apple Pay)、向用户发送定制的推送通知等等。有一个 演示小程序 可用于测试该功能。

Durger King 演示小程序(来源:Telegram)。

致谢

本文由 Joe MedleyKayce BasquesMilica MihajlijaAlan Kent 和 Keith Gu 审阅。