一、主体不同
1、vue.js:是一套用于构建用户界面的渐进式JavaScript框架。
2、jquery:是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库。
二、特点不同
1、vue.js:Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。
2、jquery:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。
三、优势不同
1、vue.js:目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
2、jquery:提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等操作。
参考资料来源:百度百科-jQuery
参考资料来源:百度百科-Vue.js
两者的区别是:一个是服务端语言,一个是前端框架。
1、nodejs是一个js运行于服务端的环境,是一个服务端语言;而vue是前端渲染的库,是一个前端框架。
2、Node用于方便地搭建响应速度快、易于扩展的网络应用;
3、而vue用于实现响应的数据绑定和组合的视图组件。是一套用于构建用户界面的渐进式JavaScript框架。
Node.js
是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。
Vue.js
是一个构建数据驱动的 web 界面的渐进式框架。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。
2、Vue.js的优点
体积小:压缩后只有33k;
更高的运行效率:基于虚拟DOM,一种可以预先通过JavaScript进行各种计算,把最终的DOM操作计算出来并优化的技术,由于这种DOM操作属于预处理操作,并没有真实的操作DOM,所以叫做虚拟DOM;
双向数据绑定:让开发者不用再去操作DOM对象,把更多的精力投入到业务逻辑上;
生态丰富、学习成本低:市场上拥有大量成熟、稳定的基于vue.js的ui框架及组件,拿来即用实现快速开发;对初学者友好、入门容易、学习资料多;
3、为什么要使用Vue.js
随着前端技术的不断发展,前端开发能够处理的业务越来越多,网页也变得越来越强大和动态化,这些进步都离不开JavaScript。在目前的开发中,已经把很多服务端的代码放到了浏览器中来执行,这就产生了成千上万行的JavaScript代码,他们连接着各式各样的HTML和CSS文件,但是缺乏正规的组织形式。这也是为什么越来越多的前端开发者使用JavaScript框架的原因,目前比较流行的前端框架有Angular、Reac、Vue等。
Vue是一款友好的、多用途且高性能的JavaScript框架,它能够帮助你创建可维护性和可测试性更强的代码库。Vue是渐进式的JavaScript框架,也就是说,如果你已经有了现成的服务端应用,你可以将Vue作为该应用的一部分嵌入其中,带来更加丰富的交互体验。或者如果你希望将更多业务逻辑放到前端来实现,那么Vue的核心库及其生态系统也可以满足你的各式需求。
和其他框架一样,Vue允许你将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方。如果我们构建了一个大型的应用,可能需要将东西分割成为各自的组件和文件,使用Vue的命令行工具,使快速初始化一个真实的工程变得非常简单。
vue init webpack my-project我们甚至可以使用Vue的单文件组件,它包含了各自的HTML、JavaScript以及带作用域的CSS或SCSS。
4、MVC、MVP、MVVM 设计模式
MVC(Model-View-Controller)是最常见的软件架构之一,在软件开发领域有着广泛的应用,MVC本身是比较好理解的,但是要讲清楚由它衍生出来的MVP和MVVM就不太容易了。
4.1、MVC
MVC的意思是,可以将软件分为三个部分:
视图(View):用户界面
控制器(Controller):业务逻辑
模型(Model):数据保存
各部分之间的通信方式为:
View传送指令到Controller
Controller完成业务逻辑后,要求Model改变状态
Model将新的数据发送到View,用户得到反馈
并且所有的通信都是单向的,如下图所示:
请点击输入图片描述
MVC 模式的执行流程是有两种方式:
(1)通过View接受指令,传递给Controller
请点击输入图片描述
(2)直接通过Controller接受指令
请点击输入图片描述
实际项目中往往采用更加灵活的方式:
(1)用户可以向View发送指令(DOM事件),再由View直接要求Model改变状态;
(2)用户也可以直接向Controller发送指令(改变URL触发hashChange事件),再由Controller发送给view
(3)Controller非常薄,只起到路由的作用,而View非常厚,业务逻辑都部署在View,所以有些框架里就直接取消了Controller,只保留一个Router(路由器)。