ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 前端三大主流框架 * Angular.js:出来最早的前端框架,学习曲线比较陡,NG1学起来比较麻烦,NG2开始,进行了一系列的改革,也开始启用组件化了;在NG中,也支持使用TS(TypeScript)进行编程;(国内使用率炒鸡低) * Vue.js:最火的一门前端框架,它是中国人开发的,对我我们来说,文档要友好一些; * React.js:最流行的一门框架,因为它的设计很优秀; # React与vue.js的对比 ## 组件化方面 1. 什么是模块化:从 **代码** 的角度,去分析问题,把我们编程时候的业务逻辑,分割到不同的模块中来进行开发,这样能够**方便代码的重用**; 2. 什么是组件化:从 **UI** 的角度,去分析问题,把一个页面,拆分为一些互不相干的小组件,随着我们项目的开发,我们手里的组件会越来越多,最后,我们如果要实现一个页面,可能直接把现有的组件拿过来进行拼接,就能快速得到一个完整的页面, 这样方**便了UI元素的重用**;**组件是元素的集合体**; 3. 组件化的好处: 4. Vue是如何实现组件化的:.vue 组件模板文件,浏览器不识别这样的.vue文件,所以,在运行前,会把 .vue 预先编译成真正的组件; * template: UI结构 * script: 业务逻辑和数据 * style: UI的样式 5. React如何实现组件化:在React中实现组件化的时候,根本没有 像 .vue 这样的模板文件,而是,直接使用JS代码的形式,去创建任何你想要的组件; * React中的组件,都是直接在 js 文件中定义的; * React的组件,并没有把一个组件 拆分为 三部分(结构、样式、业务逻辑),而是全部使用JS来实现一个组件的;(也就是说:结构、样式、业务逻辑是混合在JS里面一起编写出来的) ## 开发团队方面 * React是由FaceBook前端官方团队进行维护和更新的;因此,React的维护开发团队,技术实力比较雄厚; * Vue:第一版,主要是有作者 尤雨溪 专门进行维护的,当 Vue更新到 2.x 版本后,也有了一个小团队进行相关的维护和开发; ## 社区方面 * 在社区方面,React由于诞生的较早,所以社区比较强大,一些常见的问题、坑、最优解决方案,文档、博客在社区中都是可以很方便就能找到的; * Vue是近四年才诞生开源出来的,所以,它的社区相对于React来说,要小巧一些,所以,可能有的一些坑,没人踩过; ## 移动APP开发体验方面 * Vue,结合 Weex 这门技术,提供了 迁移到 移动端App开发的体验(Weex,目前只是一个 小的玩具, 并没有很成功的 大案例;) * React,结合 ReactNative,也提供了无缝迁移到 移动App的开发体验(RN用的最多,也是最火最流行的); # 为什么要学习React 1. 设计很优秀,是基于组件化的,方便我们UI代码的重用; 2. 开发团队实力强悍,不必担心短更的情况; 3. 社区强大,很多问题都能找到对应的解决方案; 4. 提供了无缝转到 ReactNative 上的开发体验,让我们技术能力得到了拓展;增强了我们的核心竞争力 5. React的设计思想一直引领着其它框架向它看齐。如Vue3.0也越来越像React了