前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在桌面端实现小程序的运行?

如何在桌面端实现小程序的运行?

原创
作者头像
Lydiasq
修改2022-11-23 17:24:21
1.1K0
修改2022-11-23 17:24:21
举报
文章被收录于专栏:Fin

​如今,无论是学生还是白领,教师或是公职人员,都习惯于在电脑端使用小程序。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、桌面应用软件、硬件设备均可以嵌入组件而瞬间获得小程序运行和上架能力,使其丰富应用场景,提升用户体验度,并进一步打造业务开放生态,构建企业的专属小程序开放平台。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、小程序逐渐成为主流的业务承载方式
  • 2、小程序的用户体验足够优秀
  • 3、小程序可以规避各类安全风险
  • PC端运行小程序的方案
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档