小程序是一种新的移动应用程序格式,是一种依赖Web技术,但也集成了原生应用程序功能的混合解决方案。小程序一些特性有助于填补Web和原生平台之间的鸿沟,因此小程序受到了一些超级应用程序的欢迎。
它不需要安装,支持热更新。
具备多个Web视图以提高性能。
它提供了一些通过原生路径访问操作系统功能(原生接口)或数据的机制。
它的内容通常更值得信赖,因为应用程序需要由平台验证。
从2017年微信首次推出小程序开始,经过四年发展,各大互联网巨头纷纷推出自己的小程序应用平台,小程序成为真正意义上的“互联网新技术标准”。截至2021年上半年,全网小程序数量突破700万个,其中,微信小程序是行业主流,数量超过430万个,占比高达约61.43%。
什么是kbone?
微信官方开始推广一个新的多端统一开发工具——Kbone。
据官方介绍,Kbone 是一个致力于微信小程序和 Web 端同构的解决方案。具体来说,因为微信小程序的底层模型和 Web 端不同,所以如果我们想直接把 Web 端的代码挪到小程序环境内执行是不可能的。Kbone 的诞生就是为了解决这个问题,它实现了一个适配器,在适配层里模拟出了浏览器环境,让 Web 端的代码可以不做什么改动便可运行在小程序里。
因为 kbone 是通过提供适配器的方式来实现同构,所以它的优势很明显:
大部分流行的前端框架都能够在 kbone 上运行,比如 Vue、React、Preact 等。
支持更为完整的前端框架特性,因为 kbone 不会对框架底层进行删改(比如 Vue 中的 v-html 指令、Vue-router 插件)。
提供了常用的 dom/bom 接口,让用户代码无需做太大改动便可从 Web 端迁移到小程序端。
在小程序端运行时,仍然可以使用小程序本身的特性(比如像 live-player 内置组件、分包功能)。
提供了一些 Dom 扩展接口,让一些无法完美兼容到小程序端的接口也有替代使用方案(比如 getComputedStyle 接口)。
官方宣传的优点,简而言之就是:提供了常用的 DOM/BOM 接口,让用户代码无需做太大改动便可从 Web 端迁移到小程序端。这一解决方案的面世,也算是微信响应市场上广大开发者日渐高呼的需求。
什么情况使用kbone较好
官方也表明,业内其实已经出现了很多关于同构的解决方案了,每个方案都有自己的优劣,不存在能够完美解决所有问题的方案,kbone 也一样。如果对小程序的性能特别苛刻,官方建议直接使用原生小程序开发;其他情况可以考虑采用 kbone。
Hybird App开发者的福音
现在小程序开发流行,Hybird的开发都在对比「Native+H5」和「Native+小程序」两种混合式APP开发模式,哪种更优。相比起来,「Native+小程序」的开发模式还是有很多好处。
「Native+小程序」的优势:
- 具备跨平台的能力,一套代码可以在 iOS 与 Android 两个平台中运行;
- 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
- 能获取更多系统权限,完成更加丰富的产品设计;
- 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
- 包尺寸有效减少,节省流量和存储
- 服务不再受发版所限制,支持热更新
如果加上kbone这个web同构解决方案,那么现在许多web应用,都能够尝试迁移成小程序应用,让企业更关注于业务逻辑的实现。
跨端开发组合拳:小程序+kbone+finclip
kbone或者小程序,都只是满足了已有业务流程能够在社交生态App中以更轻、更符合用户在社交平台上进行碎片化时间访问的需求。
那么App就没有存在的意义了吗?并不是。
Web3,以“去中心化”、“隐私保护”为核心的一场“技术运动”,如果能成功的话,可以说是“合久必分”的明证。不过这对于一般的企业来说,还远着呢。当下,马上,能做什么呢?简单的办法是:
拥有自己的App、拥有自己的服务、拥有自己的数据,掌握自己的数字生态
拥有这些东西,过去是挺难的一件事。对于一般的中小企业乃至大企业里没有什么IT预算的部门,要自己搞一个App首先是技术门槛高,其次是维持难度大,再三是运营能力低。所以,最终的效果是,投入产出比很差,自营的App品质不高、推广成本高、客流量小,得不偿失。最后,很多企业都放弃了这方面的尝试。
小程序这种技术形态的出现,可以说是很大程度上解决了企业遭遇的这些问题 - 开发门槛低、轻量、和媒体内容可以交织在一起便于分享、有社交传播的便利性、发布相对容易、数字化连接能力强… 所以迅速获得市场的欢迎。
加上kbone的同构解决方案,那么可以想象,会有越来越多的web端应用加入到小程序应用的趋势中来。
自主掌握App,依然是有很多好处的,首先它沉淀了存量用户,可以更加直接的去触达和运营,社区感更强;其次,客户隐私数据、企业经营的商业数据,都可以得到更大的保障 - 数据资产的归属权,毫无疑义的属于企业而不是第三方。在国家一力支持和推动的国内互联网互联互通、“反垄断”的态势下,各平台之间、公共社交平台与企业App之间的连接与跳转应该基于开放标准,那么小程序导流至App、App跳转回小程序,都是可行的。
市面上有小程序容器技术FinClip,就能让App里面运行小程序,或者使用Kbone转化的web应用。
FinClip小程序容器技术,任何 App 均可以通过引入 FinClip小程序运行时 SDK 来获得运行小程序的能力,同时,它还提供一个后台管理系统,统一管理小程序的上架和下架,以及收集和分析小程序数据,对于开发人员,可谓是极其便捷了。遵循兼容微信小程序的开发标准与规范,也就是说,如果你本身已经开发好了一个微信小程序,可以在不改一行代码的情况下,直接放进你的 App 里面,运行效果和在微信上面保持一致,不必额外二次开发和改造,大大节省了人力成本。
FinClip支持手机以外的多种终端,包括 Linux、Windows、MacOS、麒麟等操作系统。这意味着,多终端设备如电视、可视化屏幕、平板、车载设备、智能电视都能使用小程序了,实现了小程序的“一次开发,到处运行”,同时触达众多流量平台,而不仅仅局限于微信生态。