如何理解 Vue ?

Vue 是一套用于构建用户界面的渐进式框架。


解:框架和库的区别

  • Vue 是一个框架,它和我们之前了解的 jQuery 库有什么区别呢?
  • 目前常见的框架有哪些?常见的库有哪些?

答:1. 库(插件):是一种封装好的特定方法的集合,对项目的侵入性较小,提供给开发者使用,控制权在开发者手中,如果某个库无法满足某些需求,可以很容易的切换到其他的的库来实现需求

2. 框架:是一套架构,会基于自身特点向用户提供一套相当完整的解决方案,而且控制器在于框架本身;对项目的侵入性较大,使用者要按照框架规定的某种特定规范来进行开发,项目如果需要更换框架,则需要重新架构整个项目

3. 目前流行的前端框架有:Angular  Vue  React,常见的一些库有:jQuery  Zeptp


解:为什么要学习 Vue ?

  • 使用之前的 jQuery 也可以开发 Web 网页,为什么还要去学习一些前端框架呢?

答:从历史发展的角度来看,人们从之前的:原生 JS  ->  jQuery 等类库  ->  模板引擎,它们都有一个共同的特点就是:需要我们去操作 DOM 元素。而,Vue 和这些不一样,它能够帮助我们减少不必要的 DOM 操作、提高渲染效率以及双向数据绑定的概念,简单来说就是,通过框架提供的指令(某种特定的规范),作为前端程序员,只需要关心数据的业务逻辑,不再关心 DOM 是如何渲染的了。

这也是 Vue 的一个核心理念:减少不必要的 DOM 操作,让程序员有更多的时间关注业务逻辑。而,学习前端框架的根本原因在于:效率,准确来说是,企业为了提升开发效率。在当今社会,时间就是效率,而效率就是金钱!

所以说,企业使用框架,可以提升开发效率!


解:Vue 作为前端框架的特点是什么呢 ?

答:1. 构建用户界面,只需要关心 View 层

前端的主要工作就是:负责 MVC 中的 V 这一层,也就是说,与用户界面打交道,实现前端页面效果(画页面 & 对接口)。而,Vue 的两大核心就是:通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

  • 响应式的数据绑定:当数据发生变化,视图可以自动更新,可以不用关心 DOM 操作,而专注数据逻辑
  • 可组合的视图组件:把视图按功能切分成若干基本单元,然后通过排列组合形成组件,组件可以一级一级组合整个应用形成倒置组件树,可维护、可重用、可测试

2. 简单易学,轻量快速

3. 渐进式框架  —  什么是渐进式 ?

所谓渐进式,可以这样理解:开发可以根据需要,逐渐递增所需要的方式,而每种方式又不是依赖性特别强

  • 如果只使用 Vue 最基础的声明式渲染的功能,则完全可以把 Vue 当做一个模板引擎来使用
  • 如果想以组件化开发方式进行开发,则可以进一步使用 Vue 里面的组件系统
  • 如果要制作 SPA( 单页应用 ),则使用 Vue 里面的客户端路由功能
  • 如果组件越来越多,需要共享一些数据,则可以使用 Vue 里的状态管理
  • 如果想在团队里执行统一的开发流程或规范,则使用构建工具

也就是说,可以根据项目的复杂度来自主选择使用 Vue 框架里的功能