一、使用uniapp开发多端项目的前提条件
现阶段web前端的开发并没有一统天下的趋势,而是多年来一直都存在五花八门的各式各样的开发框架和技术,使得我们前端人员在开发时需要掌握的框架太多也太杂,再就是互联网时代,前端的终端也越来越多,比如android、ios以及各种小程序和H5这些终端平台太多了。
导致我们前端人员开发时很是苦恼,想要运行部署在不同的各种多端平台时需要开发多套相适应的代码,实在是苦不堪言,因此,业内就有专业的人士推出这种一个框架解决多端平台的这种思路出现,就是我们这款uni-app框架。
如果我们用这款框架开发的话,需要有一定的前提条件,首先这款框架是基于vuejs框架开发的,底层运用的大多是vue的语法,因此我们必须要对vue这个框架了若指掌,能够熟悉的应用,这是其中的一个前提条件。
第二就是我们要对原生小程序开发有所了解,因为uni-app中的很多组件跟原生小程序中的组件是类似的,像是小程序的开发工具、小程序的上线流程、部署流程、原生小程序的布局和语法之类的这些我们也要做到一定的熟悉,掌握两个前提基础后再学习用uni-app开发就简单得多了。
二、剖析uni-app多端开发的底层原理
大家一定很好奇uni-app竟然能够实现一套代码同时运行在多个平台,使得多端开发变得如此的容易,小伙伴们一定很想了解其底层的内部原理吧。
其实uni-app底层大概整合了三个技术,分别是mpvue框架、vue语法以及原生小程序的语法,所以它的底层原理也是基于以上三个框架来实现的。
vue文件与小程序目录结构文件不同,因此uni-app将原先的vue文件拆分成了四个用于小程序开发的文件,在数据绑定上面兼容了vue的优势,因为原声小程序的语法是不支持双向数据绑定的,因此,uni-app借助于vue通过一个runtime方法实现了双向数据绑定的应用。
在数据渲染和处理方面也进行了相应的优化,原生的小程序在更新数据的时候更新频次太频繁,方法调用次数太多,因此对性能损失比较高,因此uni-app底层也运用了vue的机制,一次调用就可以实现页面的更新。
原生小程序也没有组件化的思想,uni-app则是吸收了mpvue里面的核心,将组件化的思想搬到了小程序上面,更新内容时只更新单个组件即可,因此效率更高。