如今,无论是学生还是白领,教师或是公职人员,都习惯于在电脑端使用小程序。PC端有很多微信小程序运行的场景,如打卡、签到和文档协作等小程序的频率非常高。
为什么微信桌面端会支持小程序的运行呢?
分析后认为有3点:
1、小程序逐渐成为主流的业务承载方式
从2017年微信首次推出小程序开始,经过四年发展,各大互联网巨头纷纷推出自己的小程序应用平台,小程序成为真正意义上的“互联网新技术标准”。截至2021年上半年,全网小程序数量突破700万个,其中,微信小程序是行业主流,数量超过430万个,占比高达约61.43%。
2、小程序的用户体验足够优秀
从Web 1.0进化到2.0之后的十几年间,移动App都是各大软件提供商用于争夺消费者碎片化时间的主战场。HTML5这种标准化的、普适的文本化内容编码格式,被广泛应用,并最终成为了互联网的基石之一。Web2.0向3.0的进化过程中,软件技术标准的扩展,小程序类技术的编码和内容格式,整体基于HTML5基础上,更加轻量,也更加开放有生命力。
从标准的角度看,当前互联网上的小程序类技术,几乎都借鉴了这个领域的先行者微信的规范。可以说,微信小程序就是这个领域的“既成事实”标准。故此互联网系列全球标准的制定者W3C,也正在通过其Mini-Apps工作组制定国际标准。
小程序规避掉之前用 Web 开发会遇到的各种问题,比如渲染卡顿、加载白屏时间长等问题,提供类似于原生的体验、安全易用的微信数据开放、更多端能力的提供、简单高效的开发方式。
其核心是前端容器化,分为UI和数据两个层面。
- UI层面容器化,微信的解决方案很简单,就是重新创建一套组件,完全抛弃 DOM 的标准组件。这样就可以做到 UI 上的完全可控和安全。
- 数据层面容器化,本质上就是 JS 的沙盒,避免开发者直接拿到 UI 及其数据,这也就诞生了小程序和别的差别最大的地方——双线程架构。
这个架构简单科普一下,分为:
- 逻辑层: 运行在端内创建的 JS 线程中,用户的业务代码在该线程中执行,如你的 js 代码
- 渲染层: 运行在端创建的 WebView 中,用户的模板和样式代码在其中执行,如你的 wxml、wxss 代码
3、小程序可以规避各类安全风险
各个大平台发力小程序建设还有一个最主要地目的,就是为了"安全"(并不是为了保障渲染的更顺畅),这是一个加了引号的安全,这里的安全是对小程序的平台方来说的。任何软件平台都有它的游戏规则,比如 UI 界面的一致性,网络请求域的收敛,平台功能限制等,只是小程序稍有不同的是虽然是基于 web 技术,但并不想让开发者使用到全量的 web 技术。所以把用户的代码放到一个脱离 web 的线程中去运行就是一个最稳妥的方案了。
PC端运行小程序的方案
其实现在主流的小程序容器技术就可以支持电脑PC端运行小程序,例如FinClip小程序容器技术可以支持 Windows、MacOS、统信UOS、麒麟系统等主流桌面系统和iOS、Android、flutter等移动端运行小程序,也就是说能让任何企业的手机APP、桌面应用软件、硬件设备均可以嵌入组件而瞬间获得小程序运行和上架能力,使其丰富应用场景,提升用户体验度,并进一步打造业务开放生态,构建企业的专属小程序开放平台。