更新:uni-app已开源,欢迎star鼓励https://github.com/dcloudio/uni-app
更新:uni-app最新官方培训视频,见腾讯课堂:https://ke.qq.com/course/343370
看完视频,你会对uni-app有更深入的认识。
HBuilderX正式发布
从年初发布新一代HBuilderX公测版起,经历了50个版本迭代,HBuilderX终于发布了正式版!
虽然HBuilderX并不是100%覆盖老HBuilder的功能,从整体来看,HBuilderX已经是比HBuilder更好的开发工具。
HX比HB有五大优势:更流畅、更高效、更现代、更漂亮、更稳定。
- 更流畅:由于基于C++架构而非eclipse或webkit架构,HX在启动速度、大文档打开速度方面远超HB,并在众多开发工具中傲视群雄。
- 更高效:HX在多光标、无拖动选择、markdown、json、vue开发优化上,有大量的独创新特色,这些优化过的工具使得工作效率提升数倍,同样领先于业内其他工具。
- 更现代:HX内置node,插件体系大量基于node插件,提供内置终端,对vue、预编译器、webpack、npm命令运行都有良好的支持,这些现代技术栈同样能对开发效率、工程化管理项目有更多帮助。
- 更漂亮:HX拥有更漂亮简洁的界面,黑色主题也是全屏沉浸的黑色。
- 更稳定:如果几个月前说HX更稳定肯定是笑话,但今非昔比。老HB经常会在eclipse、java层面爆出一些错误,我们无力解决。但HX上我们可以控制每个环节,不再出现莫名的java错误。同时HX提供了更完善的代码保护,崩溃、断电都能有效保护代码。
从HBuilderX1.2起,所有App开发者需要的功能在HBuilderX里均已补齐(有些操作方式可能有变化,但功能是一样的)。
HX对于偏老的技术栈如jquery的支持确实不如HB,对于后端语言的支持也不如HB。
对于这些环节开发者仍然可以使用HB。
但我们仍然可以认为,HX是更值得前端工程师拥有的利器。
同时HB将逐渐减少更新频率,明年会正式停止更新。
HBuilder系列诞生来,服务了260多万开发者,我们深感荣幸,并终于打破中国人做不好开发工具的魔咒。
未来我们还将继续努力,把HBuilderX打造的更优秀,让中国的前端工程师,开发效率高于全世界!
HBuilderX的下载链接http://www.dcloud.io/hbuilderx.html
uni-app迎来里程碑突破
uni-app,是终极的跨平台框架。因为
- 跨的平台更多(Android、iOS、小程序、H5)
- 性能体验更好(小程序技术框架和weex加持)
- 三方扩展生态更丰富
即支持小程序sdk又支持原生sdk,大部分sdk厂商都有小程序sdk,也就是大部分sdk都可以直接用于uni-app的扩展生态,而且是原SDK厂商来维护。这意味着uni-app拥有了所有跨平台方案中最丰富的三方生态。开发者不用找原生工程师去封装环信、网易云信等im的原生sdk了,直接用他们的小程序sdk即可。 - 开发方式更现代
vue数据绑定、npm、webpack、各种预处理器 - 公有技术,学习成本更低
掌握uni-app需要学习的是vue的语法,小程序的api,学会这些是理所应当,并不为uni-app额外增加学习成本。
没有其他跨平台方案在这5方面可以与uni-app相提并论!
任何Hybrid方案都不是万能的,选择一种,总是会受到一些限制。
uni-app也有限制,但综合看仍然是最好的跨平台开发方案。
- 对于开发者个人:不用学习众多轮子,学好一个,什么都会做
- 对于外包公司:开发一次,给客户交付iOS、Android、小程序、H5多个平台,赚的更多,客户满意度更高
- 对于自研开发商:做小程序去拉新,转到App里实现留存和高arpu运营,是最精益的创业之道。uni-app可以以最低成本实现日活和arpu值的最大化,并可以覆盖更多流量入口。
而且这些都是免费产品,就更没有不拥抱的理由了。
uni-app开发欢迎加入QQ群,交流学习,向我们反馈意见。由于qq群满的太快,本文不再直接列最新的qq群号,请去uni-app官网左下角查看。
uni-app的官网地址:http://uniapp.dcloud.io/
最后再说下DCloud的文档、技服体系的优化
过去DCloud一些文档做的不够好,已经吸取经验,uni-app的文档比较完善,搜索也更好用。
uni-app的qq群每日数万条消息记录,高度活跃。
DCloud投入专人支持uni-app的技服工作。
官方出品的免费视频教程上线已到腾讯课堂https://ke.qq.com/course/343370。
DCloud的插件市场也已上线。
做这些产品和服务不容易,也请多支持我们。
最大的支持,当然是转发本文给朋友喽。让小伙伴们赶紧用起来HBuilderX和uni-app这样的利器!
FAQ
-
Q:uni-app的手机端用户体验怎么样?
打包成App后的体验和微信小程序一样好,在某些场景下更好。
其体验优于使用HTML开发的5+app。虽然uni-app使用了vue文件,但vue文件编译到手机上都是js,并且框架层做了自动预载和更快的联网机制,实现了更高的性能体验,尤其是联网的新页面加载速度非常快。
uni-app还支持nvue,这其实是引入了weex并在js api层面上被uni统一了。nvue的渲染效率更高。
使用uni-app开发的app,可以发现加载新页面速度极快,动画还没结束时,需要联网下的资源就可以显示了。
使用uni-app开发的微信小程序,和直接开发微信小程序相比性能没有差别,因为uni-app输出到微信时也是编译为wxml格式。 -
Q:不同平台有自己的特色,uni-app如何在一套代码里兼容?大量写if else吗
常用api都被uni-app统一了,个性化特色有优雅的条件编译方案。详见
所有平台的所有能力,都可以在uni-app中使用,不受限制。 -
Q:既然uni-app的App端使用5+引擎,是不是5+的所有强大能力都可以调用?
是的,包括Native.js、原生sdk扩展都可以用。但注意uni-app的窗体管理是在pages.json里做,不能自己管理窗体,plus.webview的api只有一些webview样式修饰的api可以使用,新建、关闭窗体的api不能用。 -
Q:uni-app支持自己扩展原生功能和离线打包吗?
支持,同5+sdk。更提供插件云打包。 -
Q:不跨端,只做App或小程序,适合用uni-app吗?或者说uni-app开发和5+App/mui开发有什么区别
新项目强烈推荐使用uni-app。
uni-app相比5+App有如下优势:- 性能体验更好,微信小程序的Hybrid方案性能是经得起考验的,支撑起一线开发商用这个技术架构获取了数亿用户。而uni-app的性能比微信小程序整体更好。
- 可跨端发布。未来是多端时代,uni-app现在已经覆盖了Android、iOS、微信小程序、H5、百度小程序、支付宝小程序、今日头条小程序。学习和使用uni-app是面向未来的正确选择。
- 使用uni-app开发App,由于基于模板和数据绑定,开发代码量比纯5+或mui更小,有更快的开发效率。
- 多了weex、小程序生态丰富的sdk等重要部分。
- DCloud在全力打造uni-app,这很关键。老项目可以暂不迁移,新项目就不要选5+App了。
-
Q:uni-app支持的手机版本最低到多少?
Android4.4、iOS8是官方会保障兼容的。
更低版本其实也能用,但官方发布时不会测试更低版本。另外如果使用flex布局,更低版本不支持的,只能使用传统css布局。 -
Q:uni-app学习难度比mui怎么样?
vue的语法+小程序的api,都是必备的通用技术。
如果你不会vue的话,需要学习了解vue。如果你开发过小程序,那组件和api基本不用再学,否则需要学一遍。如果你会vue和小程序开发,那基本没有学习成本。
没学过vue的同学,也不用掌握vue的全部,只需了解vue基础语法、虚拟dom、数据绑定、组件、vuex,其中关键是理解虚拟dom和数据绑定的思路,不要再沿袭找一个dom元素的id然后js api操作它的思路。
其他如路由、loader 不用学,cli、node.js、webpack也不需要学。但编译报错时,经常是webpack报错,需要百度查webpack报错信息。 -
Q:uni-app怎么不支持HTML的dom操作?
uni-app的web-view组件支持load本地HTML页面,所以也是支持dom的。但vue页面里不支持dom。
如无必要,我们也不推荐使用HTML。
因为现实是整个前端技术发展在去dom化,微信小程序不支持dom,vue、react也是虚拟dom。
之所以会这样是因为2点:- 性能。虚拟dom的性能更高。
- 开发效率。基于数据绑定的开发,代码量会比操作dom少很多。
所以作为前端工程师,拥抱和学习新技术是必然趋势,个人习惯应该经常update,活到老学到老。
至于基于dom的三方库用不了的问题,一方面小程序生态已经起来了,周边的三方库非常多,这些都在uni-app里可直接使用,并且兼容到了app侧。另外确实有必须使用dom的三方库,那就用web-view组件load HTML吧。
-
Q:uni-app使用的flex布局很不习惯
flex布局是更先进、更通用的布局模式,比如垂直居中,以前写起来很麻烦。
flex布局还是web和原生通吃的通用布局,使用flex布局做的界面,可以在react native、weex、快应用等平台运行,传统web布局做不到。
当然如果你不想学flex,还希望使用传统布局,也可以,把app.vue里的全局flex设置去掉就行。
另注意nvue由于是基于weex的,只支持flex布局。 -
Q:HBuilder会支持uni-app吗?
uni-app只会在HBuilderX里支持。HBuilder不会新增功能了。并且今年底会停止更新。请开发者尽快完成向HBuilderX的升级。 -
Q:是不是DCloud以后的重点是uni-app,不再演进5+和mui了?
DCloud重点是uni-app,但uni-app编译到iOS、Android时仍使用了5+引擎,5+引擎仍会积极演进。
5+引擎近期提供了原生视频、直播、指纹、ibeacon,后续还会继续强化能力。其实5+引擎也已经内置了weex渲染器,只是传统5+app开发模式下无法编译weex代码,只有uni-app里内置的编译器才能正常使用。
mui作为一个开源ui库,手机上常见的ui控件均已支持,没有什么需要新增的ui控件,本身也许久未更新了。mui过去的一个较大问题是不支持组件化和数据绑定,这部分被挪入了uni-app中。 -
Q: mpvue项目或组件是否可快速迁移到uni-app下?
是的。详细指南参考http://ask.dcloud.net.cn/article/34945 -
Q:既然uni-app有了nvue,引入了weex,假使只做app不发小程序,是否可以不用vue,所有界面都使用nvue?
理论上所有界面都可以用nvue,但不建议这么用。
首先vue页面没那么糟。只有个别场景用nvue作为补充更合适。比如左右拖来拖去的长列表。
其次weex并没有那么完善,作为局面补充使用更合理,大面积使用时也会遇到很多weex的坑。
所以各取其优势,避其短处,结合使用是最优方案。 -
Q:uni-app的成熟度怎么样?
更新:已经十几万案例了。
最后,请认真通读一遍uni-app官网,以及善用uni-app官网的搜索,你的大部分问题都会在文档里。
235 个评论
该文章目前已经被锁定, 无法添加新评论
DCloud_heavensoft (作者)
青椒茄子
8***@qq.com
rabt666
背着电脑走江湖
freedemon
DCloud_heavensoft (作者)
liyr
defineZhang
自学的烦恼