1.5.4 为什么要使用Vue框架
在真正开始学习Vue之前,还有一个问题至关重要,那就是我们为什么要学习它。
首先,做前端开发,一定要使用一款框架,这就像生产产品的工厂有一套完整的流水线一样。在学习阶段,我们可以直接使用HTML、CSS和JavaScript开发出一些简单的静态页面,但是要做大型的商业应用,要完成的代码量会非常大,要编写的功能函数会非常多,而且对于交互复杂的项目来说,如果真的不使用任何框架来开发的话,后期维护和扩展将会非常困难。
既然一定要使用框架,那么我们为什么要选择Vue呢?在互联网Web时代早期,前后端的界限还比较模糊,有一个名为jQuery的JavaScript框架非常流行,其内部封装了大量的JavaScript函数,可以帮助开发者操作DOM并且提供了事件处理、动画和网络相关接口。当时的前端页面更多是用来展示,因此使用jQuery框架足够应付所需要进行的逻辑交互操作。后来随着互联网的飞速发展,前端网站的页面越来越复杂,2009年诞生了一款名为AngularJS的前端框架,此框架的核心是响应式与模块化,其使得前端页面的开发方式发生了变革,前端可以自行处理非常复杂的业务逻辑,前后端的职责开始逐渐分离,前端从页面展示向单页面应用发展。
AngularJS虽然强大,但其缺点也十分明显,总结如下:
(1)学习曲线陡峭,入门难度高。
(2)灵活性很差,这意味着如果要使用AngularJS,就必须按照其规定的一套构造方式来开发应用,要完整地使用其一整套的功能。
(3)由于框架本身很庞大,使得速度和性能会略差。
(4)在代码层面上,某些API设计复杂,使用麻烦。
只要AngularJS有上述问题,就一定会有新的前端框架来解决这些问题,Vue和React这两个框架就此诞生了。
Vue和React在当下前端项目开发中平分秋色,它们都是非常优秀的现代化前端框架。从设计上,它们有很多相似之处,比如相较于功能齐全的AngularJS而言,它们都是“骨架”类的框架,即只包含基础的核心功能,路由、状态管理等功能都是靠分离的插件来支持的。并且在逻辑上,Vue和React都是基于虚拟DOM树的,改变页面真实的DOM要比虚拟DOM的更改性能开销大很多,因此Vue和React的性能都非常优秀。Vue和React都引导采用组件化的方式进行编程,模块间通过接口进行连接,方便维护与扩展。
当然,Vue与React也有很多不同之处,Vue的模板编写采用的是类似HTML的模板方式,写起来与标准的HTML非常像,只是多了一些数据绑定或事件交互的方法,入手非常简单。而React则是采用JSX的方式编写模板,虽然这种编写方式提供的功能更加强大一些,但是JavaScript混合XML的语言使得代码看上去非常复杂,阅读起来也比较困难。Vue与React还有一个很大的区别在于组件状态管理,Vue的状态管理本身非常简单,局部的状态只要在data中进行定义,其默认就被赋予了响应性,在需要修改时直接将对应属性更改即可,对于全局的状态也有Vuex模块进行支持。在React中,状态不能直接修改,需要使用setState方法进行更改,从这一点上看,Vue的状态管理更加简洁一些。
总之,如果你想尽快掌握前端开发的核心技能并上手开发大型商业项目,Vue一定不会让你失望。