微信小程序> 微信小程序案例需求文档-微信小程序多端框架kbone开源-微信小程序案例

微信小程序案例需求文档-微信小程序多端框架kbone开源-微信小程序案例

浏览量:2136 时间: 来源:tencent__open

1.适用场景

2.kbone是一个致力于微信小程序和Web端同构的解决方案。

3.微信小程序的底层模型和Web端不同,我们想直接把Web端的代码挪到小程序环境内执行是不可能的。kbone的诞生就是为了解决这个问题,它实现了一个适配器,在适配层里模拟出了浏览器环境,让Web端的代码可以不做什么改动便可运行在小程序里。这样,我们就可以借助kbone快速实现Web项目转化为微信小程序项目。

4.方案实现

5.方案设计有如下几个前提:

6.为了更好的复用组件,尽可能完整的支持Web端的特性

7.在小程序端的渲染结果要尽可能接近Web端h5页面

所以,与其他同构框架不同,kbone是以适配器的方式来支持的。

8.适配器包含两部分:负责提供dom/bomapi的js库和负责渲染的自定义组件,也就是kbone中的miniprogram-render和miniprogram-element,可以看到kbone最终生成的小程序代码里会依赖这两个npm包。除此之外还需要一个webpack插件来根据原始的Web端源码生成小程序代码,因为小程序代码包和Web端的代码不同,它有固定的结构,而这个插件就是mp-webpack-plugin。

miniprogram-render、miniprogram-element和mp-webpack-plugin这三个包即是kbone的核心。

9.框架优势

10.因为kbone是通过提供适配器的方式来实现同构,所以它的优势很明显:

11.大部分流行的前端框架都能够在kbone上运行,比如Vue、React、Preact等。

12.支持更为完整的前端框架特性,因为kbone不会对框架底层进行删改(比如Vue中的v-html指令、Vue-router插件)。

13.提供了常用的dom/bom接口,让用户代码无需做太大改动便可从Web端迁移到小程序端。

14.在小程序端运行时,仍然可以使用小程序本身的特性(比如像live-player内置组件、分包功能)。

15.提供了一些Dom扩展接口,让一些无法完美兼容到小程序端的接口也有替代使用方案(比如getComputedStyle接口)。

16.不是所有的方案都是无懈可击的,就像每个人都有优缺点,kbone也不例外。

kbone是使用一定的性能损耗来换取更为全面的Web端特性支持。

17.开源交流

我们期望通过kbone开源,能够帮助更多有多端需求的项目解决实际问题,也希望更好的完善kbone本身,如果你对kbone感兴趣,欢迎提出Issue和PR!关于Kbone你有什么使用问题或建议,欢迎访问Kbone社区主页发帖交流(PC网页端可发帖)

18.Github开源地址:

19.https://github.com/Tencent/kbone

20.(点击文末阅读原文直接访问)

21.请给kbone一个Star!

22.欢迎提出你的issue和PR!

23.国内镜像地址:

24.https://git.code.tencent.com/Tencent_Open_Source/kbone

25.(登录后才能访问公开项目)

26.

27.腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎