A cross-platform framework using Vue.js
简体中文 | English
uni-app
是一个使用 Vue.js
开发小程序、H5、App的统一前端框架。官网地址:https://uniapp.dcloud.io
开发者使用 Vue
语法编写代码,uni-app
框架将其编译到 小程序(微信/支付宝/百度/字节跳动/QQ/快手/钉钉/小红书)、App(iOS/Android)、H5等多个平台,保证其正确运行并达到优秀体验。
开发一次,编译到14个平台。依次扫描14个二维码,亲自体验最全面的跨平台效果!
注: 某些平台不能提交简单demo,补充了一些其他功能。
uni-app
支持通过vue-cli
命令行、HBuilderX
可视化界面两种方式快速创建项目:
欢迎提交你的应用,uni-app案例征集
uni-app
计划支持的功能点,会在需求墙上进行展示,征集开发者的投票意见,前往投票。
uni-app
一直保持高频的更新迭代,详见正式版更新日志、Alpha版更新日志。
由于DCloud
有70多个QQ、微信群,官方已无法维护更多交流群。请开发者到官方论坛交流:https://ask.dcloud.net.cn/explore/ 。论坛提供了比issues更专业的工具服务。
uni-app
有丰富的插件生态,众多开发者提交了数千款组件、sdk、项目模板,详见:https://ext.dcloud.net.cn/
除了众多三方ui库,官方还提供了uni-ui,在性能和跨端兼容方面有更强的优势。详见:https://ext.dcloud.net.cn/plugin?id=55
问:不同端有不同的需求、不同的特色,登录支付也不一样,如何统一?
答:差异部分使用条件编译。uni-app提供了灵活强大的条件编译。可以完美处理复用部分和差异部分。真正一套工程源码。当业务升级时,不再需要多端维护。如果多端维护,经常会因为某些端的流量不大,就一直拖延无法让那些用户享受到最新服务。另外登录支付在客户端部分,已经被uni-app统一成一样的api了。
问:多端是不是一种妥协,是否会造成性能下降?
答:good question。多端且不影响性能,确实很难,但uni-app做到了。在h5端,它的性能、包体积与直接使用vue.js开发一致; 在小程序端,它的性能比大多数开发框架更好,uni-app底层自动处理的setdata差量同步机制,比开发者手动写setdata更好,就像使用vue.js更新界面比手动写js修改dom更高效一样; 在App,uni-app支持webview渲染和原生渲染双引擎,启用原生渲染时,css写法受限,但性能是很接近原生开发的效果的,在当前的手机环境下,千万日活以下的应用在App使用uni-app也不会遇到任何压力。当然也可以在已经做好的原生App中将部分页面改为uni-app实现; 此外,我们会把很多跨端处理放在编译期完成的,这样会减少对运行期的效率影响。
问:不做多端,是不是不需要uni-app?
答:不是。大量开发者用uni-app只做一个端,详见案例。对于开发者而言,一个优秀工具在手,做什么都不愁。
问:uni-app以后会不会变更开源协议,转向收费?
答:官方承诺永远不会变更开源协议。无论HBuilderX、uni-app、App,面向中国人永久免费。
如果你想参与贡献,请先阅读贡献指南。