写在前面
聚沙成塔——每天进步一点点,大家好我是几何心凉,不难发现越来越多的前端招聘JD中都加入了uni-app 这一项,它也已经成为前端开发者不可或缺的一项技能了,所以凉哥为大家推出 聚沙成塔【45天玩转uni-app】
专栏,帮助大家对 uni-app 进行学习和理解,uni-app可以通过一套代码多端发行,相信你掌握本语言后无论是毕设还是求职项目都可以说是锦上添花,妥妥加分项;快来订阅专栏跟着凉哥一起来感受 uni-app 为开发者带来的劲感吧!
DCloud
首先让我们先来了解一下 uni-app 发行者——DCloud,可能很多人对 DCloud 比较陌生,但是 DCloud 公司对于前端做出的贡献可谓是潜移默化,不世之功;很多人以为小程序是微信先推出的,其实,DCloud才是这个行业的开创者。DCloud于2012年开始研发小程序技术,优化webview的功能和性能,并加入W3C和HTML5中国产业联盟,推出了HBuilder开发工具,为后续产业化做准备。2015年,DCloud正式商用了自己的小程序,产品名为“流应用”,它不是B/S模式的轻应用,而是能接近原生功能、性能的App,并且即点即用,第一次使用时可以做到边下载边使用。为将该技术发扬光大,DCloud将技术标准捐献给工信部旗下的HTML5中国产业联盟 (opens new window),并推进各家流量巨头接入该标准,开展小程序业务。360手机助手率先接入,在其3.4版本实现应用的秒开运行。
随后DCloud推动大众点评、携程、京东、有道词典、唯品会等众多开发者为流应用平台提供应用。在2015年9月,DCloud推进微信团队开展小程序业务,演示了流应用的秒开应用、扫码获取应用、分享链接获取应用等众多场景案例,以及分享了webview体验优化的经验。微信团队经过分析,于2016年初决定上线小程序业务,但其没有接入联盟标准,而是订制了自己的标准。DCloud持续在业内普及小程序理念,推进各大流量巨头,包括手机厂商,陆续上线类似小程序/快应用等业务。部分公司接入了联盟标准,但更多公司因利益纷争严重,标准难以统一。技术是纯粹的,不应该因为商业利益而分裂。开发者面对如此多的私有标准不是一件正确的事情。造成混乱的局面非DCloud所愿。于是我们决定开发一个免费开源的框架。既然各巨头无法在标准上达成一致,那么就通过这个框架为开发者抹平各平台差异。这就是uni-app的由来。因为多年积累,所以DCloud拥有800多万开发者,并不意外,因为DCloud一直都有小程序的iOS、Android引擎,所以uni-app的App端和小程序端保持高度一致,并不意外,因为DCloud在引擎上的持续投入,所以uni-app的App端功能、性能比大多数小程序引擎都优秀,并不意外,因为DCloud对各家小程序太了解了,所以做好抹平各端差异的跨端框架,并不意外。
DCloud 公司 CEO 王安是 HTML5 中国产业联盟发起人之一,在手机刚能写程序的时候、在还没有移动互联网这个词的时候就扎进这个行业的老兵。王安在一次参访中表示 DCloud公司是围绕着HTML5做产品,有增强引擎,才能够做出很好的应用,有发行渠道流应用。希望在未来和大应用市场合作,最终打通用户和开发者之间的通路。助力开发者成本节约的同时效率提升,用户能够有更加省时省力更便捷的体验。HTML5一定会有更精彩的未来,火爆到这个世界大多数应用都是基于H5发行的运用,这是我们的一个愿景来做这个事情。
当下跨平台开发存在的问题
1、多端泛滥:那我们能够联想到前端目前的覆盖端设备太多了,iOS、Android、Web、H5、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)相信后面还会有更多的小程序和快应用被发布出来,那么随着这种多元化的端,想要覆盖被分散的多端用户开发公司势必要加大运营成本,这也导致我们前端工程师的学习成本提高,毕竟与时俱进多掌握一端的开发技术才能让我们更具竞争力;
2、体验不好:我们既然适配多端注定是为了减少开发成本 编码成本,这样一来很多跨端技术开发出的应用在用户体验上比较差劲;
3、生态不完善:很多跨端技术的学习成本比较高也就是我们通俗的比较难学,就导致技术的使用者较少那么自然这项技术的生态就会不够丰富,毕竟没有使用者就没有收益,也没有更多的问题被发现也就没有提升和完备的机会;
DCloud 推出的 uni-app 规避这些缺陷为开发者们提供更优质的服务;uni-app 能够跨更多端,真正做到一套代码多端发行,不再需要对各端代码并行维护和升级,而且 uni-app 具备条件编译,可以优雅的在一套代码中调用不同平台的特色功能;体验更好:组建、API与小程序一致,兼容 weex 原生渲染,既可以提升体验又不会被 weex 所限制,通用技术栈,学习成本更低:Vue的语法、微信小程序的API,内嵌mpvue,也就是说如果你会Vue和微信小程序,你就可以直接上手 uni-app 如果你还不会这两个建议快速去了解一下,毕竟非常主流的两门技术;开放生态,组件更丰富:支持通过 npm 安装第三方的包,支持微信小程序自定义组件及SDK,兼容mpvue组件及项目,app端支持和原生混合编码,DCloud 的插件市场;
为什么选择uni-app
开发者/案例数量更多 数百万应用、uni统计月活12亿、70+微信/qq群、更高的百度指数跨端完善度更高,真正落地的提高生产力;平台能力不受限 在跨端的同时,通过条件编译+平台特有API调用,可以优雅的为某平台写个性化代码,调用专有能力而不影响其他平台。支持原生代码混写和原生sdk集成。性能体验优秀 加载新页面速度更快、自动diff更新数据。App端支持原生渲染,可支撑更流畅的用户体验。小程序端的性能优于市场其他框架;周边生态丰富 插件市场数千款插件。支持NPM、支持小程序组件和SDK。微信生态的各种sdk可直接用于跨平台App;学习成本低 基于通用的前端技术栈,采用vue语法+微信小程序api,无额外学习成本;开发成本低 不止开发成本,招聘、管理、测试各方面成本都大幅下降。HBuilderX是高效开发神器,熟练掌握后研发效率至少翻倍(即便只开发一个平台)。下篇就会大家介绍这款 uni-app 绝配的开发神器。
现在,uni-app已经是业内最风靡的应用框架,支撑着12亿活跃手机用户的庞大生态。世界兜兜转转,当你踏出第一步时,随后很多事不会按你的预期发展。但只要你不忘初心,你想要的那个目标,最终会换个方式实现。DCloud的初心是什么?为开发者提供免费、高效的开发工具,让天下没有难做的应用,改进应用形态,让用户更方便的获取数字服务。
写在最后
本篇的内容就到这里了,欢迎大家订阅本专栏,跟随博主一起来学习 uni-app 吧,相信可以通过本专栏的学习,你也可以通过编写一套代码发布出自己的多端应用,相信他能够成为你毕设、求职项目中的亮点技术和产品;如果你想学习本专栏可以在文章末尾添加我进群一起学习交流!