当前位置:网站首页>Kbone与小程序跨端开发的一些思考
Kbone与小程序跨端开发的一些思考
2022-07-06 21:04:00 【Finbird】
小程序是一种新的移动应用程序格式,是一种依赖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、麒麟等操作系统。这意味着,多终端设备如电视、可视化屏幕、平板、车载设备、智能电视都能使用小程序了,实现了小程序的“一次开发,到处运行”,同时触达众多流量平台,而不仅仅局限于微信生态。
边栏推荐
猜你喜欢
Probability formula
Open3D 网格滤波
2022年上半年HIT行业TOP50
[safe office and productivity application] Shanghai daoning provides you with onlyoffice download, trial and tutorial
什么是 BA ?BA怎么样?BA和BI是什么关系?
VHDL implementation of arbitrary size matrix addition operation
Create applet from 0
Summer 2022 daily question 1 (1)
R data analysis: how to predict Cox model and reproduce high score articles
我的勇敢对线之路--详细阐述,浏览器输入URL发生了什么
随机推荐
MySQL的存储引擎
SQL injection -day15
自适应非欧表征广告检索系统AMCAD
图形化工具打包YOLOv5,生成可执行文件EXE
机器学习笔记 - 使用机器学习进行鸟类物种分类
CVPR 2022 best paper candidate | pip: six inertial sensors realize whole body dynamic capture and force estimation
Kalman filter-1
Restcloud ETL Community Edition June featured Q & A
Introduction to opensea platform developed by NFT trading platform (I)
代码质量管理
Vernacular high concurrency (2)
Open3d mesh filtering
A 股指数成分数据 API 数据接口
[security attack and Defense] how much do you know about serialization and deserialization?
25. (ArcGIS API for JS) ArcGIS API for JS line modification line editing (sketchviewmodel)
List interview common questions
21.(arcgis api for js篇)arcgis api for js矩形采集(SketchViewModel)
Probability formula
[leetcode] 450 and 98 (deletion and verification of binary search tree)
概率论公式