前端常用的开发框架有哪些?

1.Web前端框架的Angular 2

Angular 2的优势分析;

Angular 2最大的优势在于受欢迎。还有人认为,它与谷歌关系密切的名字会影响团队对它的使用。Angular 1的迅速流行是因为来自其他交互式应用程序开发环境的人会发现他们有类似的模型-视图模式来开发单页面Web应用程序。通过对Angular 1进行现代化改造,对框架的某些部分进行重构,Angular 2真的爆炸了。大量正规和非正规的培训机构令人印象深刻,开发者具有很强的市场竞争力。对于用户来说,它有一套丰富的组件来构建用户界面,这是本系列中少数几个可以做到这一点的框架之一。

缺点分析:

我们认为Angular framework专注于在单个页面应用程序中创建用户界面,但未能处理构建完整Web应用程序的更大问题。如果不及早确定,会使整个项目难以维持。在实际项目中,runtime提供的不属于核心框架的技术往往让人觉得不可思议,这就大大降低了TypeScript对于最终开发者的价值。

发展方向:

Angular 5刚刚发布,看来Angular已经成功确认了快速发布版本的承诺。在谷歌的不断支持下,Angular会越来越成熟。

像许多大型组织一样,谷歌具有多重(分裂)人格。从外部来看,Angular团队和那些专注于浏览器标准的人之间很和谐。但我们的观点是,和声只是一张足够薄的纸。Angular团队对于Web组件和渐进式Web应用程序没有真正的解决方案。我们认为业界普遍认可的标准将在Angular框架中逐步实现,这将影响如何更好地构建Angular应用,成为中长期风险。

使用环境:

如果需要获取大型框架中的技术资源,框架中的技术通常很容易移植;或者你需要对开发人员进行框架方面的培训,并且对他们在短时间内获得一定的开发能力有一定的信心,那么你可以考虑Angular 2。需要注意的是,Angular1(angular.js)与Angular2完全不同,其应用、技术和经验不能直接移植到Angular2的开发中。

如果你的Web应用可以很好地转换成标准的模型-视图模式,那么你也可以忽略其他,直接考虑使用Angular2。

如果你对Google Material UX设计模式感到满意,那么Material Angular是遵循这种模式的一种快速、简单和可靠的方法。

二、Web前端框架的ReactRex

ReactRex的优势分析:

React和Rex最大的优势就是相对简单和专注。做一件事并把它做好是非常困难的,但两个图书馆都有效地实现了目标。虽然有些状态容器方法可能是外部的,但大多数开发人员可以轻松掌握概念并理解单向数据架构的好处,从而简化大量的用户界面应用程序。

缺点分析:

React和Rex最大的弱点不是他们是什么,而是他们不是什么。要构建一个功能丰富的Web应用,需要很多函数。一旦离开React、Rex等库的核心,你会发现一个非常分散的社区,里面有无数的解决方案和模式,不容易集成。

因此,尽管React和Rex是非常敬业的库,但没有经验的团队很容易产生不可持续的解决方案,而没有意识到他们的选择会导致糟糕的性能或错误。即使是有经验的开发人员也可能意识到松散的架构或约定可能会在将来困扰他们。

虚假省钱是对自己的一种欺骗,组织内部采用React和Rex会很容易降低低效率。在没有其他库和模式的广泛协议和标准化的情况下,标准化ReactRex比使用JavaScript编写我们的应用程序更有效。

发展方向:

脸书和React最近已经摆脱了繁琐的专利纠纷,他们意识到,像其他项目一样,更广泛的社区可以提高自己的声音。我认为这有助于脸书认识到他们无法更好地了解我们,并信任我们来指导这个项目。希望这能继续贯穿项目的特点和技术方向。

很难预测React和Rex的未来。然而,集中库确实显著提高了适应性,而且大多数ReactRex模式都提倡独立的体系结构,因此可以轻松地重构和迭代。两年前,每个人都喜欢ReactFlux,但整个社区很快就接受了Rex。其他在思维或模式上的重大改变可能很容易被采纳。这种关键能力可能会延续到未来。

使用环境:

如果您很少需要实践指导,并且正在寻找比综合框架更好的库,那么ReactRex可能是正确的。在这个过程中,你不仅需要对你的团队和组织的能力诚实,而且在你最初的开发和整个应用程序的长期维护过程中也要诚实。

三、Web前端框架的Vue.js

vue.js的优势:

逐步构建的能力是vue最大的优势,js vue拥有简单合理的架构,易于理解和构建。

Vue有一个强大而充满激情的社区,这为vue.js增加了巨大的价值,并使得为一个空白项目创建一个全面的解决方案变得非常容易。

缺点介绍:

模型-视图应用程序和状态容器类型应用程序之间的相互转换可能会令人困惑,即使它不包含从一种模式到另一种模式的完美转换,也会让人觉得想要保持两种模式之间的相关性。对于那些期待vue.js完美解决方案的人来说,它可能会使不一致的应用程序难以维护,这至少是令人困惑的。

更大的挑战是vue.js依赖于单一的一个人。很明显,其他项目基本都是一个组织在支持,但这让人觉得更有意义。虽然拥有强大的文件社区和许多创新的新项目,但vue core的开发基本上落在一个人身上。

我们很高兴看到vue更容易接受新兴的标准方法,但其类似Web组件的模式,而不是真正的Web组件,可能是vue得不偿失的地方。

发展前景:

虽然vue.js的应用范围很广,但是这种势头中期能持续多久还很难预测。它不是由一个商业组织直接支持和维护的,所以它很大程度上取决于维护者的生存能力和继续维护它的愿望。

也表现出一定程度的语言适应性,随着某些模式的落后和失宠,继续保持自身语言的现代化和现代性。目前没有迹象表明vue.js架构不能适应未来的进一步发展。

使用场景:

如果你有一个传统的Web应用,需要一个强大健壮的应用层,vue.js可能是一个不错的选择。它有一个清晰的模式,即使是没有经验的团队也可以正确或错误地使用它。虽然vue UX的框架没有开箱即用的功能,但是也可以在vue.js上持续构建大量的应用,对你的项目会有好处。