uni-app 积极拥抱社区,创建了开放、兼容的生态系统。
- uni-app插件市场,有数千款插件,支持前端组件、js sdk、页面模板、项目模板、原生插件等多种类型。在生态建设上远远领先于竞品。
- 兼容 微信小程序 JS SDK 丰富的小程序生态内容可直接引入uni-app,并且在App侧通用。以前的跨平台开发框架普遍缺少三方SDK,由于大量SDK厂商均原厂维护小程序SDK,使得uni-app成为跨平台开发框架里生态最丰富的平台
- 兼容 微信小程序自定义组件 小程序自定义组件是一种ui组件,uni-app里可以在App、H5、微信小程序、QQ小程序同时兼容微信小程序自定义组件
- 兼容 NPM 包管理系统 uni-app完整支持 NPM
- 兼容 mpvue 项目及组件 mpvue同样基于vue语法,但支持完善度不如uni-app,是uni-app的子集。mpvue的组件可以在uni-app里直接使用并全端通用。项目代码可以快速移植到uni-app
- 兼容 weex 插件生态 uni-app内置了weex,weex的原生插件或ui库均可使用。注意weex的生态不如uni-app丰富,一般情况建议使用uni-app的插件市场。
- 兼容 普通 web 库 uni-app的H5端支持所有浏览器API。但众所周知,由于小程序的js不运行在浏览器里,所以小程序里不支持 HTML 和 DOM 的 API。
uni-app的App端虽然和小程序是相同的架构,逻辑层也运行在独立jscore而不是浏览器里,但一方面可通过web-view组件加载HTML,引入web相关库; 另一方面可通过renderjs实现在渲染层执行js,此时完整echart、threejs等web库均可使用。 (但为了全端使用,仍然建议减少对dom库的依赖,在uni-app的插件市场可寻找全端可以的库来替代)
- App端支持各种调用原生能力的方式
- 支持 原生混合开发
- 支持 比小程序能力更多的plus JSAPI
- 支持 Native.js 直接调用原生api
- 支持 原生插件扩展
- 支持 云打包原生插件。
- App端支持双渲染引擎 uni-app逻辑层在独立jscore,而渲染层可选webview渲染和weex引擎渲染。
- 使用webview渲染则整个架构与小程序相同,此时页面后缀为vue文件。
- 使用weex引擎(经过改造)渲染,则整个架构与快应用相同,此时页面后缀为nvue文件。使用webview渲染时,可以指定由系统webview渲染还是由x5引擎渲染。