React与Vue
相同点
1、使用 Virtual DOM,有较高的运行速度
2、提供组件化功能
3、可使用mobx与vuex进行状态管理,响应式、依赖追踪
React
1、子组件重复渲染问题需要手动优化
2、可以使用redux进行状态管理,函数式、不可变、模式化,时间旅行
3、可使用JSX,完全的javascript能力
优点:引入了一个叫做虚拟DOM的概念,运行速度快;提供了标准化的API,解决了跨浏览器问题、兼容性更好;代码更加模块化,重用代码更容易,可维护性高。
缺点:React是目标是UI组件,通常可以和其它框架组合使用,并不适合单独做一个完整的框架
Vue
1、可使用JSX,但推荐使用模版语言而不是JSX
2、学习曲线平缓
优点:渐进式构建能力是Vue.js最大的优势,Vue有一个简洁而且合理的架构,使得它易于理解和构建。Vue有一个强大的充满激情人群的社区,这为Vue.js增加了巨大的价值,使得为一个空白项目创建一个综合的解决方案变得十分容易。
缺点:在模型-视图应用程序和状态容器类型的应用程序之间的互相转换可能会令人感到困惑;它类似于Web组件的模式,而不是真正的Web组件。
Angular
特点
1、完善的MV*框架,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等所有功能
2、Typescript
脏检查,对脏数据的检查就是脏检查,比较UI和后台的数据是否一致
优点:模板功能强大丰富并且是声明式的,是一个比较完善的前端MVC框架,自带了丰富的Angular指令;ng模块化比较大胆的引入了Java的一些东西(依赖注入),能够很容易的写出可复用的代码,对于敏捷开发的团队来说非常有帮
缺点:验证功能错误信息显示比较薄弱,需要写很多模板标签;ngView只能有一个,不能嵌套多个视图;比较笨重,没有让用户选择一个轻量级的版本。
比较
MVVM 列表渲染的初始化几乎一定比 Virtual DOM 慢,因为创建 ViewModel / scope 实例比起 Virtual DOM 来说要昂贵很多
大而全大框架,学习成本高
相对于自身而言觉得Vue框架更容易上手,各方面的优化相对较完善,而且正处于一个高速发展的阶段,很多公司开始由Javascript原生转向Vue开发中,建议刚上手的小伙伴们,多多上手Vue框架,当然这只是本人从这方面的建议,希望对大家有所帮助。