前端开发一定会遇到框架的问题,那前端开发时用哪个框架好呢?哪个框架更适合前端初学者呢?我们就来梳理一下三大主流框架。
Reat.js(react)是脸书推出的一个用来构建用户界面的JAVAScript库。React是脸书用于构建反应式图形界面的JS库,已经用于构建ins和脸书的部分网站。最近出现了AngularJS、MeteorJS 和Polymer中实现的Model-Driven Views等框架,React也顺应了这种趋势。它基于在数据模型之上声明式指定用户界面的理念,用户界面会自动与底层数据保持同步。React较为独特的一点就在于它使用JavaScript来构建用户界面而非html。
优点:
1. ui渲染过程中,react通过在虚拟dom中的微操来实现对实际dom的局部更新。
2. 跨浏览器兼容:虚拟DOM能够帮助解决跨浏览器问题,它能够提供标准化的API。
3. 模块化:能够编写独立的模块化UI组件,当某个或者某些组件出问题时可以方便地进行隔离。
缺点:
在大型项目中,单react难以完成大型应用的编写。
Vue.js是一套构建用户界面的渐进式框架。与其他框架不同,Vue采用自底向上增量开发的设计。Vue的核心库重点关注视图层,也非常容易上手,容易与其他库或已有的项目进行整合。此外,Vue也足够采用单文件组和其支持的库开发复杂的单页面应用。
优点:
1. 简单:官方文档十分清晰。
2. 快速:以异步处理的方式更新DOM。
3. 组合:用解耦的、可复用的组件组合应用。
4. 紧凑:~18kbmin+gzip,且无依赖。
5. 对模块友好:可通过npm、bower或duo安装,使用场景更灵活。
缺点:
Vue.js多样性、丰富性与其他库相比较少。
Angular是谷歌开发的web框架,跨平台性极强。通常结合typescript开发,能够提供无缝升级的过渡方案。作为一款优秀的前端JS框架,已经被用于google多款产品之中。
优点:
1. 模块功能强大,自带丰富的指令。
2. 框架完善,包含几乎所有功能。
3. 引入了如依赖注入等java的东西,能够容易地写出可复用的代码。
4. 强大的社区和基础支持。
缺点:
1. 入门容易但深入概念多,后续学习难度较大。
2. 文档例子少,经常边写边谷歌。
3. 教程少,写出来的东西容易四不像。