DCloud_iOS_XHY
DCloud_iOS_XHY
  • 发布:2020-02-08 13:22
  • 更新:2023-03-15 17:44
  • 阅读:62914

uni小程序SDK 概述

分类:uni小程序sdk

uni小程序SDK原生开发者交流QQ群: 892918401

请移步查看 新的文档,此文档已过期

uni小程序SDK

概述

uni小程序SDK,是一个用于原生App中集成的SDK,它可以帮助原生App快速实现小程序的能力。

效果如下:

基本概念

  • 宿主:想要构建小程序的原生App,集成uni小程序SDK的宿主
  • 小程序:运行在宿主中的前端代码编写的小程序,使用uni-app框架开发
    注意:
    1. uni小程序SDK仅支持使用uni-app开发的小程序,不支持纯wxml微信小程序运行。但uni-app支持使用wxml格式的小程序组件。
    2. uni小程序SDK仅支持uni-app的v3编译器。使用老版的开发者,需首先保障应用可以运行在v3编译模式下。

集成流程

  1. 宿主开发者下载uni小程序sdk,根据文档集成到宿主App中
  2. 小程序开发者使用uni-app框架开发,通过运行到手机App进行测试,开发完毕后在发行菜单导出wgt包
  3. 宿主开发者将wgt集成到宿主App中,可离线集成直接打包进去,也可以在线下载wgt
  4. 通过uni小程序sdk的api,可以调起wgt,执行为一个小程序
  5. uni小程序支持wgt升级,可在线更新wgt应用,即热更新

原生工程集成 uni小程序sdk 文档

特色

uni-app在app端是双渲染引擎,可以像微信那样使用webview渲染,也可以使用改造版的weex进行原生渲染。包括webview渲染在Android上也同时支持系统webview渲染和x5渲染。

  • 性能
    uni小程序sdk的性能,与uni-app的app端v3编译器相同,性能超过市面其他小程序引擎。在启动速度、页面加载速度、逻辑层与视图层通信优化等方面均优有更优秀的表现。
  • 功能
    uni小程序sdk的功能,与uni-app的app端功能相同,所有原生能力均可调用。不同于小程序的限制和有限API,uni小程序sdk的功能更加强大。
  • 插件生态
    uni-app插件市场有大量丰富的插件。

应用场景

  1. 宿主App构建自己的应用生态,可以面向广泛开发者,也可以定向部分开发者
  2. 原生App利用小程序模式对模块解耦,让不同模块的开发团队各自独立发版,灵活更新
  3. 原生App中部分功能使用uni-app实现,降低开发成本、提升发布效率

注意

  • 目前uni小程序sdk仅支持同时运行一个小程序实例,启动下一个小程序会关闭上一个小程序
  • uni小程序sdk无法使用插件市场中付费的原生插件,需自己开发

FAQ

Q:uni小程序sdk与5+ sdk的差别是什么?
A:解决两种不同的需求场景,前者的使用场景是你已经有原生App,在此基础上扩展宿主App的小程序能力,或者用小程序替换原生App的部分功能模块,仅支持uni-app并使用v3编译器;后者的使用场景是你没有原生App时使用5+ SDK本地离线打包发布为原生App,或者替换你已有的原生App,支持5+ App、wap2app、uni-app等。虽然5+ sdk也可以集成到已有原生App中,但后续会逐步迁移放到uni小程序sdk中。

Q:想了解uni小程序sdk都有哪些js api,和微信小程序相比如何?
A:uni小程序sdk的js api比微信小程序的多,不同于微信小程序的“小”的限制,uni小程序sdk的功能更接近于正常的app,没有包体积限制,并且提供了更多丰富的api,以支持正常app的开发。文档和演示demo见:https://uniapp.dcloud.io/

Q: uni小程序不需要集成分享、支付等第三方的功能。集成到我的Android项目中APK的体积会增加多少?
A: 如果排除视频、地图、分享、支付、登录、直播pusher等功只集成基础模块。占用APK体积大小如下:

cpu型号.so选择 apk占用大小
armeabi-v7a 约7MB左右
'armeabi-v7a'、'x86'、'arm64-v8a' 约16MB左右
7 关注 分享
码农朱哲 2***@qq.com 小熊是安妮的 sonicsunsky gmm 1***@qq.com h***@163.com

要回复文章请先登录注册

h***@163.com

h***@163.com

回复 h***@163.com :
还有就是原生app是否能分享这个wgt到微信并打开呢。。
2020-03-17 12:39
h***@163.com

h***@163.com

回复 DCloud_iOS_XHY :
不好意思,我描述有误,我想问的是能不能调用ios和Android同事他们写的方法。
2020-03-17 09:16
DCloud_iOS_XHY

DCloud_iOS_XHY (作者)

回复 h***@163.com :
可以,小程序应用就是 uni-app,功能同uni-app一样
2020-03-16 18:05
h***@163.com

h***@163.com

请问这个uni小程序可以像webview一样调用IOS或者Android提供的方法吗。
2020-03-16 17:30
非专业开发人员

非专业开发人员

回复 1***@qq.com :
理论上是可以的。在uniapp打包出来的APP内,引入这个SDK, 但是你得有能在原生APP内调用这个SDK的中介(原生页面)才行。这个SDK是给原生使用的。你都用uniapp打包APP了,就没必要使用这个了。
2020-03-16 11:23
1***@qq.com

1***@qq.com

你好,这个sdk应该不能集成在uniapp打包的app上吧
2020-03-16 10:02
非专业开发人员

非专业开发人员

在uni小程序开发中,编译条件是什么?是APP-PLUS吗?
2020-03-16 08:58
PandaCoding

PandaCoding

回复 DCloud_iOS_XHY :
谢谢答复。大致明白了,集成小程序SDK,性能比集成5+SDK好些。
2020-03-05 20:06
DCloud_iOS_XHY

DCloud_iOS_XHY (作者)

回复 PandaCoding :
方案一适合只有一个页面使用html开发,并且可以使用5+sdk,同样可以调用很多原生能力;方案二适用于整个功能模块采用混合开发的方式集成小程序sdk,并且 uni-app 中的nvue页面对应的是纯原生渲染,所以性能上会比H5跟好;希望对你有帮助
2020-03-05 19:56
PandaCoding

PandaCoding

咨询下官方:同样的业务,方法一(原生APP+H5),方法二(原生APP+uni小程序SDK),哪个方法更好?方法二是不是性能上有优势?
2020-03-05 19:46