Angular,Vue,React三者的区别-个人理解
题外话:学习了jQuery后,就在公司接触了Angular,第一次接触的时候,简直一脸懵逼呀,对于曾经习惯了对DOM元素进行操作的我真的好难好难,对于曾经没工作经验的我,Angular1入门还是比较难的,还好,努力克服了这个坎。在一次公司的开会中,领导提出了一点问题,controller中的各种变量、方法声明乱七八糟的,代码看起来一点都不规范,然后提到了一点,就是关于代码模块化(即声明全部堆在一块
题外话:学习了jQuery后,就在公司接触了Angular,第一次接触的时候,简直一脸懵逼呀,对于曾经习惯了对DOM元素进行操作的我真的好难好难,对于曾经没工作经验的我,Angular1入门还是比较难的,还好,努力克服了这个坎。在一次公司的开会中,领导提出了一点问题,controller中的各种变量、方法声明乱七八糟的,代码看起来一点都不规范,然后提到了一点,就是关于代码模块化(即声明全部堆在一块,方法全部放在一块,逻辑代码放在一块,外部引用放在一块)大致这种意思,当时我就觉得这种idea很好(现在angular2恰好满足了),但是Angular中我胡乱排序也不影响页面,哈哈。。。。直到有一天偶然看见了,Vue.js,当时一看,我靠,差点骂脏话了,这个不就是和Angular差不多的嘛,Angualr是ng-,Vue是v-,网上一搜,原来Vue开发者(中国人,还挺帅的哟)曾经在谷歌公司任职过,难怪呀,看来他深受Angular的影响呀,哈哈。Vue代码就很规范,恰恰满足了领导的要求呀,好想跟领导说我们公司全部转Vue吧。。。。。。后面,我机缘巧合之下去做了RN开发,用的是React,react感觉好像angular的指令呀。。通过看三者的官方文档,我发现,这三家许多方面的设计思想都很相似,感觉只要学会精通了一种,学习其他两个真的不成问题呀,所以我做RN上手非常快,通过官方文档,能够直接上手写代码,改bug。
一、Angular特性:
- 由自己实现一套模板编译规则,数据变化依赖脏检查,
- 基本属性包括:数据双向绑定、基本模板指令、自定义指令、表单验证、路由操作、依赖注入、过滤器、内置服务、自定义服务、组件、模块。
- 运行效率较低,数据变更检测方式。
- 学习angular会迫使你学习特有的预发,上手成本很大,代码看起来很干净
- 依赖注入,即一个对象将依赖项提供给另一个对象(客户端)的模式。导致更多的灵活性和更干净的代码。
- Angular 最适合单页应用(SPA),因为它可能太臃肿而不能用于微服务。
- 框架比较臃肿,每次用啥功能要引入一大堆东西
- Angular错误提示不够清晰明显,对于初级开发者,很难看懂Angular的错误提示。(个人认为这是最大的不好之处,当初学习这个遇到很多坑啊),而且定位bug很难。
- 面向对象编程的思想,Angular由后端开发人员设计的前端框架。
详细比较:React和Vue的区别
二、React特性:
- 单向绑定,先更新model,然后渲染UI元素,数据在一个方向流动,使得调试更加容易。代码冗余,各种生命周期太麻烦,刚开始接触好难记。
- 用了虚拟DOM。(对虚拟DOM的理解刚开始我不是很理解概念,建议大家去看【深入REACT技术栈】这本书有很好的讲解)
- 更适合大型应用和更好的可测试性
- Web端和移动端原生APP通吃
- 更大的生态系统,更多的支持和好用的工具
- 组件生命周期
- constructor
- componentWillMount
- componentDidMount
- componentWillUpdate
- componentDidUpdate
- render
三、Vue特性
- 模板和渲染函数的弹性选择
- 简单的语法和项目配置
- 更快的渲染速度和更小的体积四
- 生命周期
- beforeCreate
- created
- beforeMount
- mounted
- beforeUpdate
- updated
- beforeDestory
- destoryed
四、Vue和React共同点
- 用虚拟DOM实现快速渲染
- 轻量级
- 响应式组件
- 服务端渲染
- 集成路由工具,打包工具,状态管理工具的难度低
- 优秀的支持和社区
更多推荐
所有评论(0)