小程序腾讯官网web同构的kbone

当你拥有一个用现代技术写的web程序,要如何让它快速的变成小程序的代码,使得你可以通过小程序发布出去你的这个程序呢,这就要用到kbone,为什么是它呢,不是taro,remax之类的,是因为它是腾讯官方出品,俗话说得好,腾讯出品必属精品。

01

怎么用?

首先我们肯定是事先写好了一个webapp,或者即将写一个webapp,然后再使用她的框架让这个webapp可以编译成小程序的代码,这样就可以让代码跑到小程序里。

首先可以到小程序的官方文档里搜索 多端统一开发工具——kbone

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

  • 大部分流行的前端框架都能够在 kbone 上运行,比如 Vue、React、Preact 等。
  • 支持更为完整的前端框架特性,因为 kbone 不会对框架底层进行删改(比如 Vue 中的 v-html 指令、Vue-router 插件)。
  • 提供了常用的 dom/bom 接口,让用户代码无需做太大改动便可从 Web 端迁移到小程序端。
  • 在小程序端运行时,仍然可以使用小程序本身的特性(比如像 live-player 内置组件、分包功能)。
  • 提供了一些 Dom 扩展接口,让一些无法完美兼容到小程序端的接口也有替代使用方案(比如 getComputedStyle 接口)

你的webapp如果是主流的框架开发的,应该都是支持的。

 npm install -g kbone-clikbone init my-app

她就会让你选她支持的项目。我选个react,就和你从github下载的模板是一样的

如果cli下载不了,就clone上面的项目

安装好依赖,就可以开始showtime

运行web,可以展示出来一个她这个例子项目的web

* 其实就是个很简单的计数器的webapp(react所写的)然后点击跳转

地址栏变成了log.html,

可是代码里面没有这个文件啊。这是因为

src目录下的xxx.js 会被kbone打包成html文件。我们来证明一下跳转改成

新增页面

确实跳转了。那我这个目录如果放的就是html呢?

并将跳转改成xx.html是不行的,因为kbone迁移的是spa,所以写个html,她也不会生成一个相应的html。所以就没有一个相应的html去跳转

02

在kbone的web里调小程序API

因为最终还是要把kbone的web迁移到小程序,所以还是有不同于webapp的语法的东西会出现在你的webapp

首先把你的appid配置进去

然后运行mp

运行mp指令,可以动态转成小程序代码,去让小程序ide读取并调试,如果是build:mp 就是静态的转化,那你每次都要重新build:mp就DX下降,建议开发时用mp指令

用小程序IDE打开以上目录

由于现在是在小程序里,所以会走上面的分支,使用了wxapi, 跳转到log页面,log的小程序页面是前面log.js生成的

将页面改动内容,小程序IDE会自动显示出来

那么这个时候,和webapp相比,行为不同了,因为有个if嘛

能跳到最新的log页面就说明已经可以直接调mp的api了。mp就是小程序的意思

我们再试试调别的api

也能够正常返回,这就意味着不需要在你的webapp引入jssdk就可以调小程序api,做到小程序原生的一些功能

03

多页程序

像前面的po.js log.js 为什么会生成html页面呢?

因为kbone其实就是打包的,通过修改webpack,使得多页程序的入口都可以根据你写的js去自动生成mp的page,这样你就可以完全在webapp写代码,kbone会帮你编译成小程序代码,你调试的工具还是在小程序IDE

Kbone有什么用,当你有一些webapp不想拿个服务器serve出来,就要用他编译成小程序代码,直接发布到小程序,那么你就不用买服务器了。她就是个将你web代码转换为小程序代码的工具和方案,由于是腾讯出品,那么如果想转换web代码为小程序代码,这个官方的方案应该不会那么的打脸,如果你想转换到其他小程序,例如支付宝小程序,就要用到其他方案,我接下来开始写这些有趣的方案

Jing

delphi 调 web api_小程序web同构Kbone相关推荐

  1. 函数计算搭建小程序Web应用后端服务

    简介:使用Severless架构搭建移动App.小程序和Web应用后端服务,弹性伸缩使用云资源. 直达最佳实践:[函数计算搭建小程序Web应用后端服务] 最佳实践频道:[点击查看更多上云最佳实践] 这 ...

  2. [Web] [微信小程序-云开发] 商城 无服务器 加后台管理

    [Web] [微信小程序-云开发] 商城 无服务器 加后台管理 说明: 目前云开发仅针对认证后的公众号使用(每年300的费用那个) wxapp-mall-clouddb 前言 如何使用 更多说明 功能 ...

  3. 使用LINUX云服务器搭建web、小程序服务器MySql+Java+Tomcat

    记小白第一次使用LINUX搭建web.小程序服务器 MySql+Java+Tomcat (很全的安装过程收集整合) 一.使用LINUX搭建服务器的原因 准备工具 二.下载配置 2.1 阿里云服务器的购 ...

  4. Web微信小程序开发(一)

    微信作为一种通讯工具的使用可以说是越来越频繁了,随之兴起的也有很多,比如服务号,小程序,但是似乎小程序更能符合大众的心意,在面临着越来越多的APP的普及,大家更多的是希望手机上的APP能越来越少 所以 ...

  5. 【delphi】开发微信小程序后台控件(一)(含源代码、演示程序、控件使用帮助)

    1. 前言 微信小程序已经非常普及,但是遗憾的是官方提供的 SDK 等没有Delphi语言的,这样使用Delphi语言开发微信小程序后台就相对比较困难,需要研究平台API,费时费力,特别是调试API很 ...

  6. 【问题排查与解决】ios调起微信小程序支付失败

    ios调起微信小程序支付SDK失败 场景 排查方向(1. 支付规范导致2. 参数缺少导致3. sdk版本问题) 微信小程序支付规范 解决方式 调起微信小程序参数问题(需要传入当前小程序的appId) ...

  7. HTML我帮您打造微信小程序web可视化开发者工具

    HTML我帮您WEBAPP在线可视化开发工具是一款在线可视化网站在线设计软件,无须专业知识,通过鼠标拖拽,所见即所得,快速完成手机网页设计和微信场景应用.HTML5轻应用设计:在线DIY产品宣传册.婚 ...

  8. 小程序web开发框架-weweb介绍

    weweb是一个兼容小程序语法的前端框架,你可以用小程序的写法,来写web单面应用.如果你已经有小程序了,通过它你可以将你的小程序运行在浏览器中.在小程序大行其道的今天,它可以让你的小程序代码得到最大 ...

  9. js页面初始化方法只调用一次_跟我学 “Linux” 小程序 Web 版开发(三):云开发相关数据调用

    介绍 在完成了界面的实现后,接下来可以开始进行和云开发相关的数据对接.完成数据对接后,应用基础就打好了,接下来的就是发布上线以及一些小的功能的加入. 配置 在进行相关的配置调用的时候,你需要先登录腾讯 ...

最新文章

  1. java session 作用范围_ssm项目session使用及其作用域问题
  2. 【Network Security!】关于DDOS攻击的现状分析与探索
  3. JMS分布式应用程序异步消息解决方案EhCache 高速缓存同步问题
  4. Servlet3.1规范翻译 - 应用生命周期事件
  5. xss Payload
  6. web前端入门学习 css(4)(盒子模型)
  7. 【ArcGIS风暴】基于ArcGIS空间分析功能研究渭河流域镇驻地空间分布格局
  8. Android之开发者应该收藏的优秀博客和技术网站
  9. Not Equal on a Segment CodeForces - 622C
  10. TensorFlow中报错 module ‘tensorflow_core._api.v2.train‘ has no attribute ‘GradientDescentOptimize
  11. C语言中以二进制形式输出文件
  12. AsciidocFX相关
  13. 《Python 学习手册4th》 第十六章 函数基础
  14. pgadmin3连接mysql_postgresql – PgAdmin III – 密码为空时如何连接数据库?
  15. 微信小程序使用阿里字体图标库的方法
  16. 台式计算机用u盘给电脑安装系统,台式机用u盘装系统,教您用u盘装系统给台式机...
  17. Mysql数据库用户密码暴力破解
  18. qq系统软件测试计划,软件测试设计报告案例——qq空间.doc
  19. linux 笔记本禁用触摸板
  20. img图片转码base64使用(简单版)

热门文章

  1. php mysql文件缓存_PHP文件缓存类实现代码
  2. ntdll 异常代码0xc0000374_不要把异常当做业务逻辑,这性能可能你无法承受
  3. K-Means聚类算法Java实现
  4. 如何用文本档编辑c语言,c语言读写word文档
  5. python实验收获和建议_python实验收获与反思 100字_考试后的反思100字
  6. 联想p720装系统_分享联想ThinkPad X1 Carbon笔记本最稳的重装WIN10系统方法
  7. 如何在 Windows 上安装 Python | Linux 中国
  8. 程序员的私藏好书中,一定有这7本!
  9. python程序一定要有主函数_Python 没有main函数的原因
  10. JAVA实现可视化的xpath_Java学习之XPath