vue和react已然是目前最受欢迎的前端开发框架,但公司依然有个项目使用的是jQuery开发。之前面试的时候,也有面试官问,什么项目适合使用jQuery开发呢?
jQuery
jQuery无疑是将web开发带向标准化的领路人,兼容了各大浏览器,且包含了各种好用的插件。
但是jQuery体积大,不太合适用来开发对流量限制较大的项目,更别提移动端项目。且jQuery是直接操作原生DOM,性能上也较差。
因此,jQuery在我看来,比较适合用来搭建没有什么交互行为的项目。公司的jQuery项目也就是一个仅仅介绍公司产品的项目,并且使用jQuery的插件实现了很丰富的动画效果
vue和react
vue和react实际上是很相似的,众所周知的MVVM模式,以下就针对这两个框架谈谈异同。
【virtual DOM】
vue和react很大的一个性能优点就是使用了virtual DOM,并不直接操作真实dom,避免了页面多次重绘回流的问题。在更改时,构建新的virtual DOM,与旧的相比较,得到变化的集合进行更改。不过vue和react在此也有一个不同点:vue针对每个组件都有对应的依赖,某个组件更改,只需重新渲染该组件;而react中,默认会引起所有子组件重新渲染,耗时耗性能。但可以通过componentShouldUpdate来进行处理。
【组件化】
vue和react都实现了组件化,将一个模块抽离出来,可以提供重用性。比如对于一个聊天功能,好友列表可以抽离为一个组件,消息列表可以抽离为一个组件,回复输入框可以抽离为一个组件。
【props】
props是两者实现父子组件的属性
【构建工具】
vue的构建工具是vue-cli,react的构建工具是create-react-app
【chrome开发工具】
都有自己的调试工具,方便用来排查bug。可以查看到各组件的状态和全局状态管理的数据等。
【template和jsx】
vue使用静态模板实现dom和state的关系,react通过jsx,在js中插入html代码。二者的比较在另一篇文章https://www.cnblogs.com/ashen1999/p/13700723.html中说过,不再赘述