{"id":19509794,"url":"https://github.com/dcloudio/native-docs","last_synced_at":"2025-02-25T22:45:01.930Z","repository":{"id":39164569,"uuid":"250227517","full_name":"dcloudio/native-docs","owner":"dcloudio","description":"uni小程序SDK \u0026 5+ SDK 原生开发文档","archived":false,"fork":false,"pushed_at":"2024-05-22T08:43:14.000Z","size":17911,"stargazers_count":77,"open_issues_count":126,"forks_count":74,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-22T12:09:21.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcloudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-26T10:28:39.000Z","updated_at":"2024-06-05T05:25:55.950Z","dependencies_parsed_at":"2023-02-17T16:30:24.500Z","dependency_job_id":"6b71a5a3-f2c3-4350-8e58-cfd71f98be48","html_url":"https://github.com/dcloudio/native-docs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcloudio%2Fnative-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcloudio%2Fnative-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcloudio%2Fnative-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcloudio%2Fnative-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcloudio","download_url":"https://codeload.github.com/dcloudio/native-docs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240761122,"owners_count":19853255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T23:13:24.028Z","updated_at":"2025-02-25T22:45:01.828Z","avatar_url":"https://github.com/dcloudio.png","language":null,"readme":"## 简介\nuni小程序SDK，是为原生App打造的可运行基于 [uni-app](https://uniapp.dcloud.io/) 开发的小程序前端项目的框架，从而帮助原生App快速获取小程序的能力，效果如下：\n\n\u003cimg src=\"https://ask.dcloud.net.cn/uploads/article/20200208/17968bd5afe1e15f1b0b4965a194726f.gif\" width=230\u003e\n\n## 基本概念\n\n### uni-app\n\n首先您需要了解什么是`uni-app`，[uni-app](https://uniapp.dcloud.io/) 是一个使用 [Vue.js](https://vuejs.org/) 开发所有前端应用的框架，开发者编写一套代码，可发布到 H5、以及各种小程序（微信/支付宝/百度/头条/QQ/钉钉/淘宝）、快应用等多个平台，并且在 [HBuilderX](https://www.dcloud.io/hbuilderx.html) 中可直接打包生成 Android、iOS App。了解更多关于 `uni-app` 请点击查看 [uni-app 官网](uni-apphttps://uniapp.dcloud.io/)。\n\n### uni小程序SDK\n\nuni小程序SDK是原生SDK，提供 Android 版本 和 iOS 版本，需要在原生工程中集成，然后即可运行用`uni-app`框架开发的小程序前端项目，一套代码两端运行\n\n**名词解释**\n\n- 宿主：想要构建小程序的原生App，集成uni小程序SDK的宿主\n- 小程序：运行在宿主中的前端代码编写的小程序项目，使用 uni-app 框架开发\n- wgt：小程序应用资源包，即使用 uni-app 框架开发的项目，导出的小程序应用资源包\n- HBuilderX：开发 uni-app 的 [IDE 工具](https://www.dcloud.io/hbuilderx.html)\n\n**注意**\n\n1. uni小程序SDK 仅支持使用 uni-app 开发的小程序，不支持纯 wxml 微信小程序运行。但 uni-app 支持使用 wxml 格式的小程序组件。\n2. uni小程序SDK 仅支持 uni-app 的 v3 编译器。使用老版的开发者，需首先保障应用可以运行在 v3 编译模式下。\n\n## 特色\nuni-app 在 app 端是双渲染引擎，可以像微信那样使用webview渲染，也可以使用改造版的weex进行原生渲染。其中 webview 渲染在 Android 上也同时支持系统webview渲染和x5渲染。\n\n- 性能\nuni小程序sdk的性能，与uni-app的app端v3编译器相同，性能超过市面其他小程序引擎。在启动速度、页面加载速度、逻辑层与视图层通信优化等方面均优有更优秀的表现。\n- 功能\nuni小程序sdk的功能，与uni-app的app端功能相同，所有原生能力均可调用。不同于小程序的限制和有限API，uni小程序sdk的功能更加强大。\n- 插件生态\n[uni-app插件市场](https://ext.dcloud.net.cn/)有大量丰富的插件。\n\n## 应用场景\n1. 宿主App构建自己的应用生态，可以面向广泛开发者，也可以定向部分开发者\n2. 原生App利用小程序模式对模块解耦，让不同模块的开发团队各自独立发版，灵活更新\n3. 原生App中部分功能使用uni-app实现，降低开发成本、提升发布效率\n\n## 集成流程\n1. 宿主开发者下载uni小程序sdk，根据文档集成到宿主App中\n2. 小程序开发者使用 HBuilderX 创建 uni-app 项目并开发功能，开发阶段可以直接在 HBuilderX 内置基座进行测试，开发完毕后在发行菜单导出wgt包\n3. 宿主开发者将 wgt 集成到宿主App中，可离线集成直接打包进去，也可以在线下载wgt\n4. 通过 uni小程序sdk 的 api 将 wgt 资源部署到运行路径，然后即可跳转到该资源对应的小程序应用中\n5. uni小程序支持 wgt升级，可以在小程序中直接调用 api 在线更新 wgt 资源，即热更新 [参考文档](https://ask.dcloud.net.cn/article/35667)\n\n## 注意\n- uni小程序sdk 仅支持在原生App中集成使用，不支持 HBuilderX 打包生成的App中集成。如需在uni-app项目中使用，请加QQ群984388064申请\n- uni小程序sdk 支持同时运行多个小程序实例，但android平台最多打开三个\n- uni 小程序 sdk 无法使用插件市场中付费的原生插件\n\n## 案例\n- **CSDN App：** Appstore新闻类榜单前十。App内部众多栏目做成小程序形式。[App下载](https://www.csdn.net/apps/download)\n- **顺丰速运：** 顺丰速运官方提供查、寄快递，网点查询、邮费查询等相关服务的一站式快递物流服务软件。[App下载](https://a.app.qq.com/o/simple.jsp?pkgname=com.sf.activity)、[AppStore下载](https://apps.apple.com/cn/app/id899529698)\n- **驿收发：** 驿收发快递驿站App。[AppStore下载](https://apps.apple.com/cn/app/id1515218332)\n- **我i科大：** 河南科技大学移动App。[官方下载](https://download.haust.edu.cn/haust/getApp/ihaust.apk)、[AppStore下载](https://apps.apple.com/cn/app/id1119046005)\n- **郑州大学移动校园：** 郑州大学官方校园生活工具App。[官方下载](http://app6.zzu.edu.cn/index.html)、[AppStore下载](https://apps.apple.com/cn/app/id1219859554)\n- **多彩洛职：** 洛阳职业技术学院移动App。[官方下载](http://download.lypt.edu.cn/dclz/dclz.apk)、[AppStore下载](https://apps.apple.com/cn/app/id1532844806)\n- **大参林百科：** 大参林医药集团股份有限公司智能零售App。[App下载](https://a.app.qq.com/o/simple.jsp?pkgname=com.dsl.newwiki)、[AppStore下载](https://apps.apple.com/cn/app/id1437878101)\n- **网易藏宝阁：** 网易官方游戏交易平台。 [App下载](https://a.app.qq.com/o/simple.jsp?pkgname=com.netease.cbg)\n- **咪咕视频爱看版：** 咪咕视频爱看版App。[App下载](https://android.myapp.com/myapp/detail.htm?apkName=com.wondertek.miguaikan)、[AppStore下载](https://apps.apple.com/cn/app/id1168490851)\n- **剧豆星光：** 帮助线下门店更好的进行积分营销App。[App下载](https://a.app.qq.com/o/simple.jsp?pkgname=com.xar.weichat)\n- **国家医保服务平台：** 国家统一的医保服务平台App，为百姓提供参保缴费、信息查询、待遇申请、业务经办等多种使用功能服务。 [App下载](https://a.app.qq.com/o/simple.jsp?pkgname=cn.hsa.app)、[AppStore下载](https://apps.apple.com/cn/app/id1490383593)\n- **乐健体育：** 一款智能云端健身App。[App下载](https://a.app.qq.com/o/simple.jsp?pkgname=com.ledreamer.zz)\n- **海康威视：** 海康互联App。[官方下载](https://www.me-app.net/Sentinels)\n- **伴玩：** 比心陪玩交友平台App。[App下载](https://a.app.qq.com/o/simple.jsp?pkgname=com.wanjiu.heishi)\n\n## FAQ\nQ：uni小程序sdk 与 App离线sdk 的差别是什么？\nA：解决两种不同的需求场景，前者的使用场景是你已经有原生App，在此基础上扩展宿主App的小程序能力，或者用小程序替换原生App的部分功能模块，仅支持uni-app并使用v3编译器；后者的使用场景是你没有原生App，用DCloud的工具来开发App，又不想使用云打包，则可以使用App离线sdk打包发布为原生App，App离线sdk支持5+ App、uni-app，不支持wap2app。虽然App离线sdk也可以集成到已有原生App中，但自从uni小程序sdk推出后，将不再推荐这种用法。\n\nQ：想了解 uni小程序sdk 都有哪些js api，和微信小程序相比如何？\nA：uni小程序sdk的js api比微信小程序更多，不同于微信小程序的“小”的限制，uni小程序sdk的功能更接近于正常的app，没有包体积限制，并且提供了更丰富的api，以支持完整app的开发。文档和演示demo见：[https://uniapp.dcloud.io/](https://uniapp.dcloud.io/)\n\nQ: uni小程序不需要集成分享、支付等第三方的功能。集成到我的Android项目中APK的体积会增加多少？\nA: 如果排除视频、地图、分享、支付、登录、直播pusher等sdk，只集成[基础模块](UniMPDocs/UseSdk/android?id=unimpsdksdklibs-依赖库说明)。占用APK体积大小如下：\n\n  |cpu型号.so选择|apk占用大小\n  |:---|:---\n  |armeabi-v7a|约7MB左右\n  |'armeabi-v7a'、'x86'、'arm64-v8a'|约16MB左右\n\nQ：支持uni小程序的基座与标准的HX基座权限方面有什么变化？\nA：两者权限基本一致，除了uni小程序的基座会增加下列权限，用于支持创建小程序桌面快捷方式\n\n  |权限|\n  |:---|\n  |com.android.launcher.permission.INSTALL_SHORTCUT|\n  |com.android.launcher.permission.UNINSTALL_SHORTCUT|\n  |com.android.launcher.permission.READ_SETTINGS|\n  |com.android.launcher2.permission.READ_SETTINGS|\n  |com.android.launcher3.permission.READ_SETTINGS|\n\n## 文档编写注意事项\n\n1. 右侧导航仅支持二级、三级、四级\n2. 文档如有标题，必须从一级或二级开始，不允许只有三级，没有二级的情况；也不允许先有三级、后有二级的情况；\n3. FAQ、注意事项、常见问题，要放在文档最下方，不要穿插在文档中间位置\n4. 容器书写方式，支持：`info`、`tip`、`warning`、`danger`、`details（在 IE / Edge 中不生效）` [详情](https://vuepress.vuejs.org/zh/guide/markdown.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AE%B9%E5%99%A8)：\n    ```md\n    ::: warning 注意\n    - 认证凭证有效期为`30分钟`\n    - 当余额全部被冻结时，会出现有余额但无法调用服务的情况\n    :::\n    ```\n    ![](https://web-assets.dcloud.net.cn/unidoc/zh/action_temp.jpg)\n5. 代码语法高亮支持：`js`、`javascript`、`ts`、`typescript`、`objc（Objective-C）`、`kt（Kotlin）`、`cs（C#）`、`cpp（C++）`等。[详情](https://prismjs.com/#supported-languages)\n6. 支持流程图：\n\n        ```mermaid\n        sequenceDiagram\n        actor user as 用户端\n        participant cf as 云函数/云对象\n        participant service as 认证服务\n        activate user\n        user-\u003e\u003e+user: 获取设备信息metaInfo\n        user-\u003e\u003e+cf: 提交姓名、身份证号、metaInfo获取certifyId\n        cf-\u003e\u003e+service: 提交姓名、身份证号、metaInfo获取certifyId\n        service--\u003e\u003e-cf: 返回certifyId\n        cf--\u003e\u003e-user: 返回certifyId\n        user-\u003e\u003e+service: 调用sdk进行刷脸认证\n        service--\u003e\u003e-user: 返回认证结果\n        user-\u003e\u003e+cf: 请求校验认证结果\n        cf-\u003e\u003e+service: 请求认证结果\n        service--\u003e\u003e-cf: 返回认证结果\n        cf--\u003e\u003e-user: 返回最终实人认证结果\n        deactivate user\n        ```\n    ![](https://web-assets.dcloud.net.cn/unidoc/zh/doc_mermaid.jpg)\n7. 代码支持行高亮 [详情](https://vuepress.vuejs.org/zh/guide/markdown.html#%E4%BB%A3%E7%A0%81%E5%9D%97%E4%B8%AD%E7%9A%84%E8%A1%8C%E9%AB%98%E4%BA%AE)\n\n    ![](https://web-assets.dcloud.net.cn/unidoc/zh/docs_code_color.jpg)\n8. 标题（Badge）组件 [详情](https://vuepress.vuejs.org/zh/guide/using-vue.html#badge)\n\n    ![](https://web-assets.dcloud.net.cn/unidoc/zh/docs_bage_component.jpg)\n9.  可使用模板语法 [详情](https://vuepress.vuejs.org/zh/guide/using-vue.html#%E6%A8%A1%E6%9D%BF%E8%AF%AD%E6%B3%95)\n\n    ![](https://web-assets.dcloud.net.cn/unidoc/zh/docs_temp_code.jpg)\n10. 图片点击放大 `img.class=\"zooming\"`\n    ```html\n    \u003cimg class=\"zooming\" src=\"xxx\"\u003e\n    ```\n11. md 支持书写属性。`#{`：左定界符，与 markdown 语法之间不能有空格；`}` 右定界符\n    ```md\n    ![](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app-multiport.jpg)#{.zooming data=abc width=100 height=100}\n    ```\n    渲染为：\n\n    ```html\n    \u003cimg src=\"https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app-multiport.jpg\" class=\"zooming\" data=\"abc\" width=\"100\" height=\"100\" /\u003e\n    ```\n12. 路径注意\n    - _sidebar.md是左侧导航，其中路径写https路径，可打开新页签。如左侧导航里引用了本产品目录之外的文档，需写成这种方式\n\t- 每个产品目录下均有一个static目录，在其中提交图片视频等静态资源。引用static下的静态资源时，路径可以是\"../static\"、\"./static\"，不能写\"static/\"。\n\t- 书写文档时应注意特殊符号的编写与换行：\n    \t- `###` 下应有空行\n    \t- `内容 **加粗** 内容` 两边需要有空格\n    \t- 在书写方括号 `[]` 时要注意使用转义字符 `\\`，或者使用 `\\`\\`` 包裹，否则会被识别为链接，导致链接失效\n\n13. md 表格支持行、列合并\n    - 行列合并\n        ```md\n        |资源分类\t\t|资源细项\t\t\t\t|售价（元）\t|\n        |:-:\t\t\t|:-:\t\t\t\t\t|:-:\t\t|\n        |云函数 #{rowspan=3}|资源使用量（GBs）\t\t|0.000110592|\n        |调用次数（万次）\t\t|0.0133\t\t|\n        |出网流量（GB）\t\t\t|0.8\t\t|\n        |云数据库 #{rowspan=3}|容量（GB/天）\t\t\t|0.07\t\t|\n        |读操作使用量（万RU）\t|0.015\t\t|\n        |写操作使用量（万RU）\t|0.05\t\t|\n        |云存储 #{rowspan=4}|容量（GB/天）\t\t\t|0.0043\t\t|\n        |下载操作次数（万次）\t|0.01\t\t|\n        |上传操作次数（万次）\t|0.01\t\t|\n        |CDN 流量（GB）\t\t\t|0.18\t\t|\n        |前端网站托管 #{rowspan=2}|容量（GB/天）\t\t\t|0.0043\t\t|\n        |流量（GB）|0.18\t\t|\n        |售价（元/月）#{colspan=2}\t|5\t\t|\n        ```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcloudio%2Fnative-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcloudio%2Fnative-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcloudio%2Fnative-docs/lists"}