当前位置:网站首页>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、麒麟等操作系统。这意味着,多终端设备如电视、可视化屏幕、平板、车载设备、智能电视都能使用小程序了,实现了小程序的“一次开发,到处运行”,同时触达众多流量平台,而不仅仅局限于微信生态。
边栏推荐
- Tencent cloud native database tdsql-c was selected into the cloud native product catalog of the Academy of communications and communications
- codeforces每日5题(均1700)-第七天
- CMB's written test - quantitative relationship
- [MySQL] row sorting in MySQL
- What is Ba? How about Ba? What is the relationship between Ba and Bi?
- 【DPDK】dpdk样例源码解析之三:dpdk-l3fwd_001
- [C language] question set of IX
- U.S. Air Force Research Laboratory, "exploring the vulnerability and robustness of deep learning systems", the latest 85 page technical report in 2022
- R数据分析:cox模型如何做预测,高分文章复现
- On file uploading of network security
猜你喜欢
Open3d mesh filtering
VHDL实现单周期CPU设计
枚举通用接口&枚举使用规范
[leetcode] 700 and 701 (search and insert of binary search tree)
Sub pixel corner detection opencv cornersubpix
图形化工具打包YOLOv5,生成可执行文件EXE
如何检测mysql代码运行是否出现死锁+binlog查看
Basic concepts of Huffman tree
Introduction to opensea platform developed by NFT trading platform (I)
21.(arcgis api for js篇)arcgis api for js矩形采集(SketchViewModel)
随机推荐
Ubuntu20 installation redisjson record
25.(arcgis api for js篇)arcgis api for js线修改线编辑(SketchViewModel)
VHDL实现任意大小矩阵加法运算
24.(arcgis api for js篇)arcgis api for js点修改点编辑(SketchViewModel)
【安全攻防】序列化与反序列,你了解多少?
24. (ArcGIS API for JS) ArcGIS API for JS point modification point editing (sketchviewmodel)
QT 项目 表格新建列名称设置 需求练习(找数组消失的数字、最大值)
21. (article ArcGIS API for JS) ArcGIS API for JS rectangular acquisition (sketchviewmodel)
Kotlin Android 环境搭建
Clock in during winter vacation
codeforces每日5题(均1700)-第七天
Baidu map JS development, open a blank, bmapgl is not defined, err_ FILE_ NOT_ FOUND
链表面试常见题
23.(arcgis api for js篇)arcgis api for js椭圆采集(SketchViewModel)
When QT uses qtooltip mouse to display text, the picture of the button will also be displayed and the prompt text style will be modified
22. (ArcGIS API for JS) ArcGIS API for JS Circle Collection (sketchviewmodel)
MySQL的存储引擎
Free PHP online decryption tool source code v1.2
Graphical tools package yolov5 and generate executable files exe
Set WiFi automatic connection for raspberry pie