当 Chris 让我写一篇关于“今年我在网站构建方面学到的东西”的文章时,我承认我的大脑立即想到了一系列我在今年开始使用的技术和 CSS 属性。但随后我停顿了一下。其他人比我更擅长写这些东西。我个人学到了什么?
然后我意识到,在过去五年中,我一直都在“学习”相同的课程,但我却一次又一次地陷入同样的陷阱。我总是认为,使用最新、最酷技术的人比实际情况要多得多。
我认为你们大多数人都有同感。如果你关注 Twitter 或任何 Web 开发博客,你几乎会觉得每个人都在使用最新最好的技术。而且最新最好的技术似乎也在每周,甚至每天都在变化。“你最喜欢的 React 状态库是什么?是 Redux,不,是 MobX,不,是 Unstated,不,是 Recoil,不,是 Jotai,不,是 Valtio,不,是…” 这种持续的变化可能会让人筋疲力尽,感觉你总是落后于同龄人。
但事实并非如此。绝大多数 Web 开发人员使用的是“无聊”或“老旧”的技术。直观地讲,这是有道理的:今天网上大多数内容都是…在今天之前构建的。当这些内容需要维护时,就需要使用当时使用的技术。问题的关键在于:我们维护旧东西的时间比构建新东西的时间要多。

所以你可能会觉得,其他人都在使用“自动重载无服务器静态部署”之类的酷炫工具,而你却还在更新你的
你敬佩的那个全心全意使用 Tailwind 2.0 的 Web 开发人员?他们仍在维护 Bootstrap 2.3 网站。那个每周都在切换状态库的 JavaScript 大师?他们仍在使用 Flow 维护一个大型应用程序。新技术只是被谈论得更多而已。
我可以提到使用 WordPress 的网站百分比与使用 React 的网站百分比,但这并不是重点。如果你在 Web 开发社区中花费时间,你会觉得其中一个是过时的,另一个则不是。
老旧的东西可以很稳固,可以很可靠,可以很可预测。有时候尝试新东西并告诉别人很有趣,而有时候使用你熟悉的技术可以让你完成任务。
我猜我会一直想着,“嗯,现在没人真的使用 $foo
了”,一直持续到 2021 年及以后——这是一种自动化的想法。但我必须不断提醒自己这是错误的。无论 $foo
代表什么,都有很多人仍在使用它,它仍然很有价值。
说得好,兄弟!
:: 盯着他的 Bootstrap 2.x 网站 :
还有人用 VBS 吗?我正在开发一个内部应用程序,它是一个用于 asp.Net SPA 的 .Net 包装器,一半用 JS 编写,一半用 VBS 编写,这个庞然大物已经存在了 20 多年 :O
非常正确。我最近使用了一个全新的框架来制作一个工作中的 Web 应用程序。
我非常后悔这个决定。
新技术在演示中看起来很简单,但当你尝试用它来实现一些大型功能时,就会发现它的局限性。
下次我会等到第三版或第四版再尝试使用新框架来做一些其他事情,而不是玩玩而已。
从我的角度来看,我同意你的观点,但有一点不同:我维护的项目都是用老旧的技术构建的。我构建的新的“从头开始”的项目使用的是新技术。
我并没有构建大部分需要我维护的旧项目。并不是说我特别想用 WordPress… 从学习者的角度来看,我只学习了足够多的老旧技术来维护它们。因此,当我学习新技术来构建新项目时,我的基础知识并不多。例如,我学习了 React 和一些为当前项目选择的 state 库,但并不知道以前是如何处理 state 的。或者更进一步——我在学习 React 之前并没有学习普通的 JS。在过去的几年里, jQuery 或 $foo 也是如此。
这就是冒名顶替综合征的来源:没有从一开始就学习。没有时间或机会去学习。
不过为了让这篇文章听起来不那么抱怨,我要说,我一次又一次地惊讶于自己竟然可以用如此看似不足的知识完成任务。只是感觉不是很高标准而已。
这正是我今天需要看到的一篇文章。谢谢!在业界工作了 20 年后,我休息了两年。我回来后,发现这段时间出现的各种新技术让我不知所措,但你绝对是对的。数据不会说谎。我们仍然在使用相同的技术,我可以将精力集中在这方面,而不是每天都陷入恐慌。非常感谢你!
这让我想起了 KnockoutJS。我喜欢它,因为它很简单,而且他们不会每两年重写一次。
是的。这周我正在使用 MobX 构建一个新的 PWA,并在 Netlify 上使用 FaunaDB 集合部署无服务器函数… 同时维护一个使用 Apache 服务器端包含(x-bit hack)和 Perl 的旧网站,后端使用平面文件“数据库”。猜猜哪个更容易管理?
也许这篇文章应该改名为“技术债务颂”。
这篇文章让我想起了一个非常奇怪的项目,我的团队用 Vue.js 和 PHP 来开发网站的一半… 然后我用纯 JavaScript 完成了它,之后决定使用 mPDF 和 PHPMailer(这两个都使用 PHP)来完成剩余部分。回过头来看,我完全可以利用 Vue.js 来代替我使用原生 JS 的部分。我的很多朋友都使用 React 来创建他们制作的每个应用程序,但我只是坐在后面说“没错”。我正在使用 PHP!
这是一个很棒的观点。我多年来一直埋头开发 PHP 网站,并在上面添加了一些 Foundation 或 Bootstrap,我并没有注意到这个世界已经变得 JS 狂热!现在我已经学习了很多关于 JS 的知识,我同意 Ed 的观点,绿地网站应该用新技术构建,当然,使用可靠(和稳定)的现有技术也无可厚非。
我非常喜欢 PHP 的速度,我所有的后端都是用 PHP 构建的。如果我有一个 .NET 托管公司,我会使用 .NET,但那些我信任的公司都是 PHP/Perl 提供商,我不会(现在)切换。
不过,对于前端来说,重要的是(我已经了解到)要抬头看看。我使用 Angular(我认为它是企业应用程序的明显赢家)构建了一个 Web 应用程序,并使用 Tailwind CSS 和 Alpine.js 构建了一个微型网站。我理解 React 的吸引力,但我会把这留给大众。;-)
老旧意味着经过测试、可靠和值得信赖,这是一个很好的观点。如果它仍然在发挥作用,就不要抛弃它,我认为。感谢你分享你的观点,Kilian。
我最近在 Facebook 上的一个 SaaS 创始人群组里也表达了类似的观点。每周都会有人问要使用什么新的热门技术栈/技术。我的答案是,任何能以最快的速度和最合理的成本将你的 MVP 推向市场的东西… 即使是 PHP!(顺便说一句,PHP 是一种非常棒的语言,拥有广泛的支持)
做出这些选择有商业上的原因。对于创业者来说,快速失败并必要时继续前进至关重要。当你取得成功后,你将有充足的时间和金钱将你的软件重建成使用最新最热门技术的艺术品。在此之前,只需完成任务即可。将时间投入到整体架构和最佳实践中,以便未来的工作更容易进行。忽略那些羞辱者、势利小人和精英。
我喜欢走在技术的前沿,即使会给自己带来风险。
无聊的技术被低估了!JS 生态系统似乎不断地创造出新的做事方法,而这些方法早在 10 多年前使用传统技术栈就已经解决了。还记得 NOSQL 曾经有多酷吗?直到人们意识到 SQL 发展了 30 多年,是有原因的。
JS 导向的项目中的工具和部署复杂程度似乎与微小的速度提升并不相称。此外,这些东西该如何维护?还是说假设我们只需在两年后将其丢弃并重新构建?
我刚刚使用 VueJS 和 Node/Express 后端构建了一个应用程序。它实际上是一项非常棒的技术。界面很酷。速度很快。但很多时候我看着这个项目,就会想,“也许我应该用 Django 或 Laravel 来做这件事”,哈哈。