Vue学习入门之初识Vue
1、Vue.js简介
Vue.js是一个用于构建用户界面的渐进式JavaScript框架,采用了“自底向上、增量开发”的设计方式。Vue.js的核心是只关注视图层,便于与第三方库或既有项目进行整合。这几句话里面提到了几个关键词汇:“渐进式”、“自底向上、增量开发”、“视图层”,下面就这些方面的内容展开说明一下。
(1)什么是“渐进式”?
“渐进式”的概念就比较新颖,所谓“渐进式”就是一开始不需要设计人员完全掌握其框架的全部功能特性,可以放到后续步骤中以逐步的增加方式来完成,这样在每一步都可以更专注于当前的任务。从本质上讲,这就是设计模式上的优化与进步。而与Vue.js框架相对应的Angular框架和React框架均不是严格意义上的渐进式框架,均具有一定程度上的个性化及排他性。
(2)什么是“自底向上、增量开发”?
“自底向上、增量开发”主要描述的是设计方式。这种设计方式的思路就是,先设计好基础骨架,然后再逐步向上扩充,完善功能和效果。采用“自底向上、增量开发”的设计方式,可以有效地提高开发效率,避免不必要的重复工作。
(2)什么是“视图层”?
“视图层”指的就是著名的MVVM架构模型中的View层。Vue.js是一个基于MVVM架构模型实现了“双向数据绑定”功能的前端JavaScript库,其关注的核心点就是View层。
2、Vue.js发展历史
Vue.js最早发布于2014年左右,开发者是曾在Google工作的中国籍开发人员——尤雨溪。根据作者本人的描述,Vue.js框架的定位就是为前端开发者提供一个低门槛、高效率,又同时能够伴随用户成长的前端框架。
Vue.js框架的发展历程主要如下:
-
2013年,在 Google 工作的尤雨溪,受到 Angular 的启发,开发出了一款轻量级框架,最初命名为 Seed 。
-
2013年12月,Seed更名为 Vue,图标颜色是代表勃勃生机的绿色,版本号是 0.6.0。
-
2014.01.24,Vue 正式对外发布,版本号是 0.8.0。
-
2014.02.25,0.9.0 发布,有了自己的代号:Animatrix,此后,重要的版本都会有自己的代号。
-
2015.06.13,0.12.0,代号Dragon Ball,Laravel 社区首次使用 Vue,Vue 在 JS 社区也打响了知名度。
-
2015.10.26,正式发布Vue1.0.0,代号Evangelion(新世纪福音战士),是 Vue 历史上的第一个里程碑,模板语法日趋稳定。同年,vue-router、vuex、vue-cli 相继发布,标志着 Vue从一个视图层库发展为一个渐进式框架。
-
2016.10.01,正式发布Vue2.0.0,代号Ghost in the Shell(攻壳机动队),是第二个重要的里程碑,内容更新专注于内部的渲染机制功能,这期间引入了著名的Virtual DOM机制,从而实现了服务端渲染、原生渲染、手写渲染函数等强大的设计功能。
-
2019.02.05,Vue 发布了 2.6.0 ,这是一个承前启后的版本,在它之后,推出了 3.0.0。
-
2019.12.05,在万众期待中,尤雨溪公布了 Vue 3 源代码,此时的 Vue 3仍 处于 Alpha 版本。
-
2020.09.18,正式发布Vue3.0.0,代号One Piece(海贼王)。
3、Vue.js与MVVM架构模型
软件设计的架构模型往往决定着一个开发框架的特性与性能,就好比基因对于人类的决定性因素一样。架构模型从MVC经过MVP、再到MVVM,每一步都体现了开发人员对于设计模式的不断完善。
MVVM(Model-View-ViewModel)架构其实本质上就是对MVC架构的改进版。MVC架构可谓是大名鼎鼎,相信大多数读者在刚开始接触架构模型时学习的就是该架构。从MVVM架构模型的命名来看,Model-View-ViewModel中的Model(模型)和View(视图)沿用了下来,改变的就是Controller(控制器)被ViewModel替换了。ViewModel在MVVM中负责在Model(模型)和View(视图)中间的桥接工作,当Model(模型)改变时通过ViewModel通知View(视图),反之亦然。
Vue.js框架专注于View(视图层),将视图的状态和行为抽象化,并于业务逻辑分开来设计。Vue.js虽然没有完全照搬MVVM模型,但对于ViewModel的设计有独到之处。当View(视图)改变时会触发事件,通过ViewModel负责监听事件并同步更新Model(模型)。
4、双向数据绑定
Vue.js框架实现的一项核心功能就是“双向数据绑定”,所谓双向数据绑定就是指View(视图)和Model(模型)的数据相互同步。
Vue.js框架是基于MVVM架构设计的。为了实现View(视图)和Model(模型)的数据相互同步,Vue.js会通过DOM Listeners来监听并改变Model(模型)中的数据,当Model(模型)中的数据发生改变时,会通过Data Bingings来监听并改变View(视图)中数据的展示。这一点也正是MVVM架构对于“双向数据绑定”的支持。
在Vue.js框架底层,是通过使用JavaScript Object对象的defineProperty()方法,重新定义了对象获取属性值和设置属性值的方法,来实现“双向数据绑定”操作的。因此,其原理仍旧是通过JavaScript方式实现的。
5、Vue.js特点
Vue.js是一款基于数据驱动思想开发的JavaScript框架,Vue.js框架具有如下几个主要特点:
- Vue.js是基于MVVM架构设计的、一套用于构建用户浏览器界面的、渐进式的前端Web框架。
- Vue.js是基于数据驱动思想开发的JavaScript框架,实现了在尽可能的条件下减少繁杂的DOM操作。
- Vue.js开发了一套自己的模板语言,采用虚拟DOM的方式渲染HTML页面,实现了将前后端进行分离的开发方式。
- Vue.js的核心库只关注视图层,同时借助MVVM架构的特点实现了“双向数据绑定”的核心功能。
- Vue.js只聚焦于视图层,具备能力实现单文件组件以及相对复杂的单页面应用。
- Vue.js是一个轻巧的、高性能的、可组件化的JavaScript框架,设计了易于学习的API方法,能够非常方便地与其他前端库进行有效整合。
- 点赞
- 收藏
- 关注作者
评论(0)