如果你从事 Web 开发超过五个月,你就会知道该怎么做了。现在每隔几个月就会出现一个新的 JavaScript 框架,并承诺修复上一代框架的所有缺陷。
一开始,这很令人兴奋。语法更简洁,性能更好,麻烦更少!但经过多年从 React 到 Vue 再到 Svelte 再到 Solid(然后又回来)的跳转,我意识到不断追逐最新的 JavaScript 框架是在浪费时间。
别误会我的意思——创新技术当然很棒。但到了某个时候,你必须问问自己,我是否真的在创造事物,还是我只是在不断地重新学习如何以略有不同的方式创造同样的东西?
有人宣布了一个“改变游戏规则”的框架。它比之前的所有框架都更小、更快、更好。
开发人员蜂拥而至。博客、教程、会议演讲 — 每个人都在大肆宣传它。
公司犹豫不决。采用速度缓慢,因为他们有实际需要运行的生产应用程序。
最初的兴奋逐渐消退。框架逐渐成熟,变得更加复杂,并开始变得像它最初试图取代的东西。
用下一个热框架冲洗并重复此操作。
还记得 Vue 曾被指要取代 React 吗?Svelte 曾指望它们两个都死掉吗?现在我们以同样的方式谈论 Solid 和 Qwik。与此同时,React 和 Angular 仍然存在,jQuery(是的,就是jQuery)仍然为大量网站提供支持。
在某个时候,我不得不问自己<<每年更换框架实际上能给我带来什么好处? >>
学习新的组件语法。
(再次)弄清楚状态管理。
阅读新文档并修复奇怪的边缘情况。
让我的团队(或我自己)相信这确实是值得的。
那是为了什么呢?为了构建相同的 UI 组件、处理相同的 API 调用并管理与以前相同的状态?
在某个时候,我意识到我花在学习框架上的时间比实际构建东西上的时间还多。
React为您提供了庞大的生态系统,但迫使您处理复杂的渲染模式。
Vue很直观,但 Vuex、Pinia 及其构建工具却有自己的看法。
Svelte消除了样板,但将你锁定在基于编译器的方法中。
Solid为您提供类似 React 的人体工程学和更好的性能,但缺乏生态系统成熟度。
Angular功能非常强大,但学习难度较高。
每个框架都有优点和缺点。当你切换时,你只是将一组问题换成了另一组问题而已。
深入了解核心 JavaScript(异步、闭包、事件循环、原型)。
学习系统设计(如何构建可扩展的应用程序)。
编写可维护的代码(清晰的架构、测试、文档)。
超越前端的思考(API、数据库、云部署)。
优秀的开发人员并不是能够用 10 个框架重写待办事项应用程序的人。优秀的开发人员知道如何设计可行、可扩展且易于维护的软件 — — 无论使用什么框架。
只有在有真正原因的情况下才进行切换
✅专注于核心编程技能,而不仅仅是语法差异。✅多构建,少追逐。
下次有新的 JS 框架出现时,我不会急着重写项目。相反,我会专注于发布产品、编写可靠的代码以及提高我解决问题的能力。
作者:聆听世界的羊
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。