typescript独立前端-国内外Web后端行业中排名前5的后端框架有哪些?

如今有大量的后端框架,每个框架都有不同的优点和缺点。 这使您很难决定花时间学习哪个人,或者哪个人最适合您的下一个项目。

在本文中,我将比较五个最流行的后端框架。 我将提供每个工具的中级概述,并检查它们的主要功能、工具、学习曲线以及其他需要考虑的优缺点。

当然,我不能告诉你哪个是最好的框架,因为这取决于各种激励因素,比如你去了某个团队,需要适应他们使用的框架。 我们明天分析的数据只是一个客观的判断。

如何判断人气?

流行率由 2020 年调查状态的框架使用情况决定。 这项调查涉及 23,765 名受访者,发现竞争对手的情况如下:

反应:80%

角度:56%

Vue.js:49%

苗条:15%

预反应:13%

前端独立开发项目_前端独立开发_typescript独立前端

我还考虑了同一项调查中的“框架意识”:

反应:100%

角度:100%

Vue.js:99%

余烬:88%

苗条:86%

我根据 2020 年 Stack Overflow 开发者调查将此结果与框架使用情况交叉引用。 这项工作是由 65,000 名受访者完成的,很大程度上证实了 JavaScript 状态的调查结果,但不幸的是,它没有区分后端和前端框架

当然,还有许多其他指标可供参考,例如工作可用性、GitHub 星级、npm 下载量、GitHub“使用者”等等。

我们如何定义后端框架?

房间里的小象是列表中最受欢迎的框架(React),它将自己定义为“库”。

我不想深入研究这个困境,因为有整篇文章专门讨论框架和库之间的区别。 出于本文的目的,我将使用 Martin Fowler 提供的以下定义:

前端独立开发_前端独立开发项目_typescript独立前端

库本质上是一组可以调用的函数,通常组织成类。 每个调用都会执行一些工作并将控制权返回给客户端。

框架公开了一些具体的设计并具体化了更多的行为。 要使用它,您需要通过子类化或插入您自己的类来将行为插入到框架中的各个位置。 然后,框架的代码会在这些点调用您的代码。

在我看来,React 比库更符合框架的行为。 开发人员通常使用其生态系统中的多种工具和软件包来使自己发挥作用。

1. 反应

React 最初由 Facebook 于 2013 年发布,React 无疑是当今最流行的后端 JavaScript 框架。 React 被 Facebook、Netflix 和 Airbnb 等公司用于生产,并且拥有大量开发人员,这意味着可以轻松地在网上找到帮助和资源。

React 的主要目的是从可重用组件组成交互式用户界面。 它使用 JSX(JavaScript 语句扩展)进行模板化,并实现双向数据流模型以用数据填充组件。 每当组件数据发生修改时,React 使用其虚拟 DOM 快速高效地更新页面。

开发者工具还是很不错的。 React 团队长期以来构建并维护了一个 CLI(Create React App),用于快速轻松地构建新项目,以及 Chrome 和 Firefox 的开发人员工具扩展。 有大量第三方包可用于各种任务(例如typescript独立前端,路由、处理表单和动画),以及一些基于 React 的框架typescript独立前端,例如 Next.js 和 Gatsby。

React 秉承“一次学习,随处编译”的理念。 它可以使用 React Native 为移动应用程序提供支持,并使用 Node.js 在服务器上进行渲染。 这意味着出色的 SEO 支持,随着所谓的“服务器组件”变得更加普遍,这种支持只会变得更好。

React 的主要批评之一是它过于简单:它只涉及应用程序的视图层,其他一切都留给开发人员。 有些人喜欢它提供的自由,而其他人(尤其是新开发人员)可能似乎对这些受鼓励的 React 应用程序的非结构化方式感到不知所措。

React 的学习曲线适中。 它鼓励使用各种函数式编程范例(例如不变性和纯函数),这意味着开发人员在尝试构建任何重要的东西之前最好对这些概念有基本的了解。

前端独立开发项目_前端独立开发_typescript独立前端

如果您对 React 不受限制的方法感到满意,并且开发人员将相当一部分的开发过程抛在了后面,那么对于任何规模的数据驱动应用程序来说,它都是一个绝佳的选择。

2. 角度

Angular 是 Google 在后端框架领域提供的产品。 它于 2010 年以 AngularJS(或 Angular 1)的形式诞生,并一炮而红,主要是因为它是第一个使开发人员能够构建我们现在所知的单页应用程序的框架。

为了解决性能问题和构建小型 JavaScript 应用程序的挑战,Google 从头开始​​重写了 AngularJS,并于 2016 年发布了 Angular 2(现在简称为 Angular)。两者之间没有简单的迁移路径,因此 AngularJS 和 Angular 成为两个独立的框架。 AngularJS 现已停产,不应用于新项目。

至于 Angular,它在后端框架领域是一件大事。 它被谷歌和微软等公司用于生产,所以它绝对经过了充分的测试。 网上也有很多资源,Stack Overflow 上也有很多 Angular 相关的问题。

与仅处理视图层的 React 不同,Angular 为构建单页客户端应用程序提供了完整的解决方案。 Angular 组件可以实现单向数据绑定,这允许它们在父组件和子组件之间同时监听风暴并更新值。 模板是 HTML 的一部分,允许使用特殊语法来利用 Angular 的许多功能。 TypeScript 是 Angular 开发的主要语言,这使得该框架非常适合企业级应用程序。

工具很好啊 Angular 提供了一个高度成熟的 CLI,用于初始化、开发、构建和维护 Angular 应用程序。 还有 Chrome 和 Firefox 开发工具扩展可用于调试 Angular 应用程序。 Angular 开箱即用,可以解决许多常见任务,例如表单和路由,但仍然有丰富的第三方库生态系统。

在我看来,Angular 的学习曲线是这里列出的所有框架中最陡峭的。 开发人员需要熟悉 TypeScript 以及装饰器和依赖项注入等概念,以便有效地使用该框架。 所以对于新开发者来说这不是一个糟糕的选择。 相反,它更适合作为团队的一部分构建小型应用程序。

如果您想全面了解 React 和 Angular 之间的差异,请参阅“React vs Angular:深入比较”。

3.Vue.js

请注意,这些统计数据适用于 Vue v2。 版本 3 可用,但必须使用 vue@next 安装。

我们列表中的第三个是 Vue.js,它是一个模型-视图-视图模型 (MVVM) 前端框架,用于构建用户界面和单页应用程序。 它由 Evan You 编写,于 2014 年首次发布。Vue 拥有很多开发人员(例如,GitHub 上的明星比 React 多),可能是因为它很好地填补了这一空白。 重写为 Angular 后由 AngularJS 留下。

Vue 由大约 20 名开发人员组成的核心团队开发和维护,尽管它没有得到互联网巨头之一的直接支持,但它被阿里巴巴、Gitlab 和 Adob​​e 等公司用于生产中。 Vue 可以说是这个列表中所有框架中最好的文档,它的峰会是获得编码问题帮助的绝佳资源。 Vue 在 PHP 领域也很流行,并且是 Laravel 框架的一部分。

Vue 的卖点之一是它是为了逐步采用而从头开始设计的。 这意味着您可以将 Vue 添加到常规网页中以增加其功能,或者您可以全力以赴并使用它来构建功能齐全的单页应用程序。 Vue.js 使用基于 HTML 的模板语法,使您可以轻松地将属性绑定到底层数据模型。 它还提供单文件组件,将模板、JavaScript 代码和作用域 CSS 保存在同一文件中。

Vue 周围的工具很棒。 有一个官方的 CLI 用于搭建和开发 Vue 应用程序,还有一个适用于 Chrome 和 Firefox 的开发工具扩展来帮助调试。 与 React 形成鲜明对比的是,Vue 提供了一个用于路由和状态管理的官方包,提供了一种令人愉快的标准化工作方式。 还有各种各样的第三方工具,以及基于 Vue 的框架,例如 Nuxt.js 和 Gridsome(Vue 对 React 的 Next.js 和 Gatsby 的回应)。

使用 Vue 的入门门槛很低,部分原因是构建应用程序的增量方法,部分原因是它基于 HTML、CSS 和 JavaScript,这些技术是任何开发人员都应该熟悉的。

Vue 是各种规模应用程序的绝佳选择。 它适合经验不足的开发人员,以及那些喜欢其框架的更多结构和指导的开发人员。

4.苗条

Svelte 由 Rich Harris 于 2016 年发布,是框架领域的一个相对较新的成员,它采用了与此列表中的任何其他方法不同的方法来构建 Web 应用程序。 其网站亮点:

Svelte 不是在运行时解释您的应用程序代码,而是在构建时将您的应用程序转换为理想的 JavaScript。 这意味着您无需支付框架的性能成本,并且在应用程序首次加载时不会遭受任何损失。

换句话说,它避免了虚拟 DOM 的概念,而是在构建过程中将代码编译成大型原始 JavaScript 模块,该模块在应用程序状态修改时更新 DOM。 正如您可以想象的那样,这使得应用程序运行速度更快,占用空间更小。 Svelte 还可以本地处理状态管理并提供开箱即用的反应性。

不幸的是,工具目前有点痛苦。 最初,Sapper(一个构建在 Svelte 之上的应用程序框架)用于构建具有预定义结构的 Svelte 应用程序,并为其配备一些更多的中级功能,例如路由和服务器端渲染。 然而,2020 年 11 月,Svelte 的创建者宣布永远不会发布 Sapper 1.0 版本,并且 SvelteKit 现在是开始使用 Svelte 构建应用程序的推荐方式。 还有适用于 Chrome 和 Firefox 的浏览器开发工具扩展,以及各种第三方模块,尽管与成熟的框架相比,扩展的数量并不多。

typescript独立前端_前端独立开发项目_前端独立开发

尽管 Svelte 的学习曲线较低,但社区仍然很小,而且它仍然没有获得与这里提到的前三个框架相同的吸引力。 但它已被 IBM 和《纽约时报》等公司用于生产,并且绝对是未来数月乃至数年值得关注的框架。

由于其不成熟,Svelte 是大型项目的不错选择。 然而,这种情况正在发生变化。 SvelteKit 处于公开测试阶段,社区正在不断发展。 虽然Svelte目前是个新人,但你应该注意这方面......

5.Ember.js

在本文中,我使用 Ember 作为最终框架,因为它从后端框架时代就已经存在了。 它最初于 2011 年发布,但在开发者中保持着持续的受欢迎程度:

它已经有近十年的历史了,可以追溯到 React、Vue、Svelte 和其他所有框架。该框架从未处于后端炒作的最前沿,但悄悄地使团队能够交付稳定、可持续的版本,包括 Qonto 和 CLARK,其中两个是2020年亚洲金融科技50强

与 Angular 一样,Ember 采用更具包容性的应用程序开发方法,并提供构建现代后端 JavaScript 应用程序所需的一切。 默认范围是从路由解决方案到数据层,再到每个应用程序中内置的全功能现代测试工具。 它遵循六周的发布周期(当发布新的次要版本时),并对稳定性做出了坚定的承诺。 对于那些无力持续重新绘制应用程序以避免被快速发展的框架抛弃的开发人员来说,这可能是一个真正的优势。

围绕 Ember 涌现出各种各样的工具,从 Ember CLI(用于创建、构建、测试和服务 Ember 应用程序的官方形式)到 Ember Inspector(官方支持的浏览器插件,可让您检查 Ember 对象)。 在您的应用程序中。 还有许多可用的第三方库,CLI 提供了一种通用格式(也称为 Ember Addons)来分发它们。

Ember 的社区不像 React 和其他社区那么大,但它拥有非常活跃的成员,并且有一个峰会和一个 Discord 服务器,您可以在其中寻求有关编码问题的帮助。 Ember 是这里列举的框架中最固执己见的,它采用“配置优于约定”的方法。 再加上开发人员需要熟悉更多中级概念(例如序列化器和适配器),它具有中等至陡峭的学习曲线。

对于初学者或较小的项目,Ember 可能不是最佳选择。 它有很多活动部件,并且在组织事物方面没有提供很大的灵活性。 但当作为团队的一部分构建功能丰富、复杂的后端应用程序时,它确实表现出色。

综上所述

因此,我比较了当今市场上最流行的五个后端框架。 虽然这并不是对每个框架功能的详尽介绍,但我希望它能让您了解哪些大公司可能适合您的下一个项目,或者是进一步探索的良好候选者。