我选择框架无关的 3 个原因以及你也应该这样做的原因
我从 2003 年开始从事 Web 开发,见证了无数技术栈的兴衰更迭。那时还没有 JavaScript 框架,这门语言也不像今天这么先进。与 Java 和 C 相比,它甚至被认为是一种低级语言(尽管实际上它们是完全不同的语言)。随着 React、Angular 和 VueJs 等框架的出现,JavaScript 终于成为主流,如今 Web 系统也离不开它。
如果没有 JavaScript 框架,今天的 Web 简直难以想象。借助框架构建 JavaScript 应用程序有很多优势,例如:
- 节省能源。现代 JavaScript 框架包含最佳实践、脚手架工具、范例和行业标准,使开发人员能够立即设置应用程序。它使开发人员能够专注于实际应用程序的开发,而不是所需的工具和架构。
- 可重用代码。使用 JavaScript 框架构建的组件是可互换的,因此团队不必重复发明新的轮子。
- 团队的通用语言。使用 JavaScript 框架可以在前后端开发人员之间建立共识。每个人都使用同一种通用语言。正是由于这些优势,几乎所有前端开发团队都在使用 JavaScript 框架来构建应用程序。
硬币的另一面……
在我从事 Web 开发的过程中,我参与过无数项目,每个新项目总是从选择一个合适的 JavaScript 框架开始。这真是一个完美的项目启动方式!一个框架能解决我所有的问题,并节省我大量的时间和精力!其他队友,甚至其他团队,都能完全理解我构建的架构和组件,对吧?
让我给你举三个我曾经工作过的公司的现实例子:
- 我曾经在一家企业规模的公司工作,那里有多个前端开发团队负责应用程序的不同部分。所有团队都选择 Angular 作为他们首选的 JavaScript 框架。他们共同在 Angular (v2) 中构建了一个共享组件库,以节省时间、金钱和精力,但这有一个问题。Angular (v4) 发布后,一些团队进行了升级。新版本包含一些重大更改,团队很快意识到共享组件变得毫无用处。共享组件库的想法是为了节省时间、金钱和精力,但事实恰恰相反。团队必须投入额外的时间、金钱和精力来升级共享组件库;这既浪费又令人沮丧。
- 我参与的另一个项目是为另一家企业公司开发的,他们用 AngularJs 开发了一个应用。这个应用现在还能用,但负责的团队已经转而去做其他项目,他们的技术栈也随之改变。他们继续前进,并转向使用 Angular 作为首选的 JavaScript 框架。新团队成员入职后,预计不再需要学习 AngularJs。但你猜怎么着?这个用 AngularJs 构建的应用仍然运行良好,需要添加一个新功能来为客户提供更好的用户体验。
- 我曾在一家公司工作,该公司有多个前端开发团队,他们使用不同的技术栈,负责同一个应用程序的不同部分。这些团队以高度自主和自主性而闻名。对于希望为最终用户提供一致用户体验和外观的公司来说,这是一个挑战。这些团队(以及公司)面临的最大问题是,不同团队之间的组件无法互换,这非常耗时且成本低效。
这些现实世界案例的共同主题是效率低下,我敢打赌这种情况也会发生在您的公司。
作为一家公司,面临的挑战在于如何提升团队的自主性,让他们自由选择技术栈,但与此同时,你也希望在不增加过多成本的情况下,打造出高质量的产品。
开发团队面临的挑战在于,不要被遗留系统或不适合团队工作方式的技术栈所束缚。对于团队来说,开发必须充满乐趣,才能打造出高质量的应用。
开发团队使用现代 JavaScript 框架(如 Angular、React 或 VueJs)构建应用程序的公司将面临以下挑战:
- 将应用程序迁移到其他框架甚至升级它们非常耗时、成本高昂且令人沮丧
- 团队之间无法交换组件,导致需要多次重新发明轮子,浪费时间、金钱和精力。
- 在由多个团队使用不同技术栈开发的应用程序的不同部分之间提供通用的外观和感觉非常耗时,因此浪费金钱和精力
如何面对这些挑战?
你好,与框架无关的 Web 组件!
注意:如果您不熟悉与框架无关的 Web 组件,您可以在这里阅读一个非常好的介绍。
框架无关的组件库将为上述挑战提供解决方案。框架无关的组件库理念简单,但实际操作起来却相当复杂。开发团队仍然可以选择适合自身需求的技术栈,并开发应用程序的各自部分。这样,团队的自主性得到了保障,生产力也得到了持续提升。同时,公司开发了一个独立于框架的组件库,其中的组件可以在不同开发团队之间互换。成功的关键在于团队之间的可互换性以及组件的不可知性。
您应该切换到与框架无关的组件库的 3 个理由
这就是为什么您应该切换到与框架无关的组件库的原因:
- 告别遗留代码。库中的所有组件都与框架无关,因此迁移或升级堆栈非常容易。因此,它兼容所有技术栈。
- 无需再一次次地重新设计方轮。所有组件都兼容所有技术栈,因此无需使用不同的技术栈构建相同的组件。想象一下,这将节省多少时间、金钱和精力!
- 使用通用组件,可以轻松地为由具有不同技术堆栈的多个团队构建的应用程序提供统一的外观和感觉。
Stefan 帮助开发者成为框架无关者。如果您觉得他的内容有用,可以在这里请他喝杯咖啡,并免费获取他的独家电子书《成为框架无关者的十个理由》!
鏂囩珷鏉yu簮锛�https://dev.to/stefannieuwenhuis/3-reasons-why-i-went-framework-agnostic-and-why-you-should-do-that-too-2o37