简介
uni小程序SDK是为原生App打造的一个框架,允许原生App运行基于uni-app开发的小程序前端项目,从而帮助原生App快速获取小程序的能力。
基本概念
uni-app
uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到H5、各种小程序(如微信、支付宝、百度等)以及Android和iOS App。更多信息可查看uni-app官网。
uni小程序SDK
uni小程序SDK提供让原生应用变身宿主的能力,集成后可以实现以小程序的形式运行和管理使用uni-app框架开发的小程序前端项目,实现一套代码多端运行。它支持Android和iOS平台,而uni-app x项目暂时仅Android支持,需通过特定插件集成。
关键术语解释:
- 宿主:指集成uni小程序SDK的原生App或uni-app x应用,用于构建小程序生态。
- 小程序:指运行在宿主中的、使用uni-app框架开发的前端项目。
- wgt:小程序应用资源包,即uni-app项目导出的小程序包。
- HBuilderX:开发uni-app的IDE工具。
注意事项:
- uni小程序SDK仅支持使用uni-app开发的小程序,不支持纯wxml微信小程序,但uni-app兼容wxml格式的小程序组件。
- uni小程序SDK仅支持uni-app的v3编译器,使用老版编译器的开发者需确保应用可运行在v3模式下。
特色
uni小程序SDK在性能上优于市面其他小程序引擎,在启动速度、页面加载和通信优化方面表现优秀。功能上,它提供比传统小程序更丰富的API,支持完整App开发,并兼容uni-app插件市场的海量插件。
应用场景
- 宿主App构建自己的应用生态,面向广泛或定向开发者。
- 原生App利用小程序模式对模块解耦,实现独立团队开发和灵活更新。
- 原生App中部分功能使用uni-app实现,以降低开发成本和提升发布效率(对于复杂模块,更推荐使用uni-app x原生SDK)。
集成流程
原生App集成
- 宿主开发者下载并集成uni小程序SDK到原生App中。
- 小程序开发者使用HBuilderX创建uni-app项目,开发完成后导出wgt资源包。
- 宿主开发者将wgt包集成到App中(可离线打包或在线下载)。
- 通过uni小程序SDK的API部署wgt资源,并跳转到对应小程序应用。
- 支持wgt热更新,可通过API在线更新资源。
uni-app x应用集成
uni-app x应用可以通过uni_modules插件形式引入uni小程序SDK。
注意事项
- uni小程序SDK仅支持在原生App或uni-app x应用中集成,不支持HBuilderX打包的uni-app应用集成。
- 支持同时运行多个小程序实例,但Android平台最多打开三个。
- 无法使用插件市场中付费的原生插件。
案例
以下是一些集成uni小程序SDK的应用案例,包括CSDN App、顺丰速运、驿收发、我i科大、郑州大学移动校园、多彩洛职、大参林百科、网易藏宝阁、咪咕视频爱看版、剧豆星光、国家医保服务平台、乐健体育、海康威视和伴玩等。这些案例展示了uni小程序SDK在不同领域的实际应用。
FAQ
Q:uni小程序SDK与App离线SDK的差别是什么?
A:两者解决不同场景需求。uni小程序SDK用于已有原生App扩展小程序能力或替换功能模块,仅支持uni-app的v3编译器;App离线SDK用于从零开发App并打包发布,支持5+ App和uni-app,但不推荐集成到已有原生App。
Q:uni小程序SDK的JS API与微信小程序相比如何?
A:uni小程序SDK的JS API更丰富,功能接近正常App,没有包体积限制,支持更完整的开发需求。
Q:集成uni小程序SDK后,APK体积会增加多少?
A:如果仅集成基础模块,APK体积增加约7MB(armeabi-v7a)或16MB(多CPU架构),具体取决于所选的依赖库。
Q:支持uni小程序的基座在权限方面有什么变化?
A:基座权限基本与标准HX基座一致,额外增加了一些权限以支持创建小程序桌面快捷方式。