目前主流的三大前端框架是Vue、React、Angular。Vue是一个用于构建数据驱动的Web界面的库,准确地说不是一个框架,是一个用于构建直观、快速和组件化交互界面的MVVM框架。它具有以下特点:1.轻量级框架,2.双向数据绑定,3.使用说明,4.插件优点:简单:官方文档非常清晰,比Angular更容易学习。快速:以异步批处理模式更新DOM。组合:使用分离的、可重用的组件组合您的应用程序。对第三方友好:引入第三方js时非常方便。缺点:我会说Vue.js很棒,就像任何其他框架/库一样,它本身几乎没有缺点。下面我将我所知道的Vue.js的几个缺点列举如下:1.主要代码由游玉玺自己编写,社区有待成熟;2.不支持IE8;3.与其他框架相比这两个框架影响不大,也不够丰富。REACTReact起源于Facebook的内部项目,用于搭建Instagram网站,于2013年5月开源。React具有高性能和非常简单的代码逻辑。越来越多的人开始关注和使用它。它具有以下特点:1.声明式设计:React采用声明式范式,可以很容易地描述应用程序。2.高效:React通过模拟DOM来最小化与DOM的交互。3.灵活:React与已知的库或框架配合得很好。优点:速度快:在UI渲染过程中,React通过虚拟DOM中的微操作实现对实际DOM的局部更新。跨浏览器兼容性:VirtualDOM帮助我们解决了跨浏览器的问题,它为我们提供了标准化的API,即使在IE8中也是如此。模块化:为你的程序编写独立的模块化UI组件,这样当一个或某些组件出现问题时,可以很容易地将它们隔离开来。单向数据流:Flux是一种在JavaScript应用程序中创建单向数据层的架构,由Facebook随着React视图库的开发而概念化。同构、纯javascript:由于搜索引擎爬虫依赖于服务器端响应而不是JavaScript执行,因此预呈现您的应用程序有助于SEO。6.兼容性好:比如使用RequireJS加载打包,而Browserify和Webpack则适合构建大型应用。它们使那些困难的任务不那么令人生畏。缺点:React本身只是一个V,不是一个完整的框架,所以大型项目如果想要一个完整的框架,基本上需要加上ReactRouter和Flux来写大型应用。AngularAngular是一个优秀的前端JS框架,已经在很多谷歌产品中使用。具有以下特点:1.良好的应用结构,2.双向数据绑定,3.使用说明,4.HTML模板,5.可嵌入,可注入,可测试优点:模板功能强大丰富,自带极其丰富角度指令。是一个比较完整的前端框架,包含了服务、模板、数据双向绑定、模块化、路由、过滤器、依赖注入等所有功能;自定义指令,自定义指令后可以在项目中多次使用。ng的模块化大胆的引入了Java的一些东西(依赖注入),可以很方便的写出可重用的代码,这对敏捷开发团队很有帮助。AngularJS是由互联网巨头谷歌开发的,这也意味着他有扎实的基础和社区支持。缺点:angular入门容易,但深入学习后概念较多,学习过程中较难理解。文档示例很少,官方文档基本只写api,没有一个示例。很多时候,怎么用都是谷歌一下,或者直接问angular的作者misko。对IE6/7的兼容性不是特别好,但是可以用jQuery自己手写代码解决一些问题。指令应用的最佳实践教程很少,angular其实很灵活。如果不看作者的一些使用原理,很容易写出不同的代码。比如js还有很多像jQuery一样的dom操作。如果代码被压缩,DI依赖注入需要显示声明。从我个人的角度来看,VUE非常适合小企业或者学校,因为学习成本低。对于实验室项目开发,React是最灵活的,用户可控性更强。Angular是基于TypeScript的,所以在引用第三方插件时不如VUE方便。日常选择框架时:如果比较其他功能更喜欢灵活性,就用React。如果您喜欢使用TypeScript编码,请选择Angular。如果您是JavaScript爱好者,请使用React,因为它全都与JavaScript有关。如果您喜欢干净的代码,请在您的应用程序中使用Vue。Vue提供了最简单的学习曲线,非常适合初学者。如果你想在你的应用程序中分离关注点,使用Vue。如果你喜欢面向对象编程,Angular绝对是你的选择。Vue非常适合小型团队和小型项目。如果您的应用程序看起来很大并且有重要的未来扩展计划,请选择React或Angular。
