uniapp项目回顾

最近uniapp比较火,相较于其他跨平台的移动端框架来说,uniapp的能力范围是非常广的,uniapp支持各大厂家对的小程序、h5和app端(安卓和ios)。它类似微信小程序的文件架构,同时集成vue.js的代码风格让前端程序员非常容易上手,只要会点小程序基础的都能够用uniapp完成一些基本的小程序业务操作。但是,uniapp为了能够在安卓和ios上也能运行,甚至能够跑通移动浏览器的h5端,uniapp就要玩骚操作了,uniapp的开发工具HBuilderX内部自带native.js,前端程序员使用native.js就能调用原生的手机api来达到一些原生的操作。

当然咯,native.js不是万能的,所以uniapp又能在插件市场去下载一些由安卓/ios原生大神们上传的原生插件,这一步神仙般的操作让不懂原生的前端懵逼们又燃起了心中的希望,想到这是不是感觉又可以用uniapp像原生app那样玩各种炫酷的动画体验呢?其实是还差一点的,因为uniapp的vue版本是跨平台没错,但是它就失去了app端那种原生的性能效果,因为小程序是基于webview渲染的,uniapp用vue写成的应用也不能摆脱这一点,webview在性能体验上是没有原生那么好的,比如用小程序稍微做些耗性能的动画就导致页面卡顿,降低了用户体验,uniapp虽然是用一套代码,运行多端,但也只是转编译一下原来的代码,把它变成其他平台的代码而已,uniapp是不可能去修改其他平台的原生底层代码的,这一点要弄清楚。

那这也不行啊,在小程序按照小程序的来没问题,可是app端不能这么玩啊,uniapp于是又在app端加个nvue的版本。就是说想要app端也有极好的性能体验,那么app端的页面就用nvue来写,nvue是native vue的缩写,用nvue写的页面是基于weex引擎原生渲染的,nvue页面和vue页面可以同级同名,但是如果nvue页面和vue页面同时存在,运行到app就会只渲染nvue页面,但是nvue也有缺点,就是css样式语法受到一些限制,所以如果不需要用uniapp跨app端的话,没必要用nvue的,不是一些特别需要高性能、炫酷特效的页面,app端用vue也能满足基本的业务需求。

对于uniapp的其他介绍,请移步官网 https://uniapp.dcloud.io/ 。

总结:

  1. 优点:
    对于会vue和小程序的前端程序员来说,容易上手,对于其他人,心里都明白的;
    开发快速,插件市场的轮子也多,条件编译,跨平台;
    会node.js的还能自己开发HBuilderX插件,开发工具对vue支持特别好。

  2. 缺点:
    不会vue和小程序的还得学,只对前端程序员友好;
    前端程序员不会开发原生插件,这导致app端的业务范围有限制,也是uniapp的业务范围限制;
    刚开始上手坑特别多,每次官方更新都会导致之前的功能出现问题,所以心态不好的程序员不建议学这玩意。

     

 

你可能感兴趣的:(uniapp)