前端已死?全栈当立?取法于中,仅得其下。

简介: 开篇明义,前端已死?根本就是扯淡。前端技术精微渊深,驳杂宽广,除了基础的 HTML、CSS 和 JavaScript 技术外,前端技术还涉及到许多其他相关技术和工具,比如前端框架、UI 库、自动化构建工具、代码管理工具等等。这些技术并没有死,反而生态圈愈发健壮,但为什么前端已死的论调甚嚣尘上?

开篇明义,前端已死?根本就是扯淡。前端技术精微渊深,驳杂宽广,除了基础的 HTML、CSS 和 JavaScript 技术外,前端技术还涉及到许多其他相关技术和工具,比如前端框架、UI 库、自动化构建工具、代码管理工具等等。这些技术并没有死,反而生态圈愈发健壮,但为什么前端已死的论调甚嚣尘上?

前端市场萎靡

前端技术并未消亡,但前端工程师的坑位却逐年减少,为什么?是由于竞争加剧、市场饱和、经济衰退等多种因素导致的。每年都有海量的应届生进入市场,但是岗位就那么多,三年经济下行,不是短时间能够缓过来的,所以前端岗的HeadCount比往年少也是合乎逻辑的,再者说,所谓出来混,迟早都要还,从2015年开始,前端岗市场就是一片蓝海,大部分人都吃到了前端市场的红利,但谁也不能保证一直在风口,所以蓝海变红海,也符合市场规律。

此外,从技术层面来看,前端市场萎靡有下面几个原因:

技术迭代快:前端技术在不断更新和迭代,新的技术和框架层出不穷。对于企业而言,要求前端工程师能够跟上技术的发展,并且具备不断学习和创新的能力,因此前端岗位的技术要求也会相应变高。
工具化、标准化:前端开发工具和标准化规范不断更新和完善,如Node.js、Webpack、ESLint、TypeScript等,前端工程师需要具备使用和运用这些工具和规范的能力。这也使得企业在招聘前端工程师时,更加注重前端工程师的技术基础和工具应用能力。
设计和交互要求提高:现在的前端开发要求不仅仅是实现静态页面和基本交互,更需要结合设计和交互,实现复杂的页面和动态效果。这对前端工程师的设计和交互能力也提出了更高的要求。
全栈工程师的兴起:全栈工程师是指具备前后端开发能力的工程师,他们不仅能够开发前端,还能够处理后端业务逻辑和数据库等技术。在一些公司中,他们更倾向于招聘全栈工程师,而非仅仅只招前端工程师,说白了,前后端分离项目,只招一个全栈的成本明显比招一个前端和一个后端的成本要低得多。
人工智能等新技术的涌现:随着人工智能、大数据、云计算等新技术的涌现,企业对前端工程师的需求也会发生变化。前端工程师不仅需要具备前端技术方面的能力,还需要了解其他相关技术,如机器学习、数据可视化等,ChatGPT的风靡也恰如其分的说明了这一点。

其他行业类比

一些岗位的衰退甚至消亡,都有其背后的深层次原因,类比的话,目前前端岗有点类似足球行业的古典前腰位置,古典前腰位置指的是足球比赛中的前腰球员,通常在球队阵容中处于前场中央位置,负责组织进攻和创造得分机会。这个位置在过去的足球比赛中非常重要,但随着现代足球的发展,它逐渐消失了。

其中的一个原因是足球比赛的战术和风格发生了改变。在过去,球队的阵容通常是4-4-2或者4-3-3这样的传统阵型,其中前腰球员有着非常重要的位置。然而,现代足球比赛中,球队更多的采用了4-2-3-1或者4-1-4-1这样的阵型,前腰球员的作用被更多地分摊到了其他球员身上。
另一个原因是现代足球比赛中球员的身体素质要求越来越高,运动员需要具备更好的体能、速度和耐力。随着比赛节奏的加快,球员需要更快地反应并更加活跃地在场上奔跑。这也意味着更多的球员需要参与到防守和进攻中,而前腰球员的作用也逐渐减少。
此外,现代足球比赛中的技术和战术变化也导致前腰球员的角色发生了改变。如今,球队更多地依靠侧翼球员和边后卫来制造得分机会,而前腰球员的作用则变得更加多样化,需要具备更全面的技术和战术素养。
比如曾经的世界杯金球奖获得者,哥伦比亚传奇前腰哈梅斯·罗德里格斯,江湖人称J罗,2014年巴西世界杯后,西甲豪门皇家马德里斥八千万欧元的巨资将其引进,一时风光无两,但今时今日,正值当打之年的J罗却混迹在欧洲末流的希腊球会,泯然众人矣。

所以,足球比赛的发展和变化是导致古典前腰位置消亡的主要原因之一。虽然这个位置已经不再像过去那样重要,但是球员的多样化角色和更加全面的技能要求使得现代足球比赛更加具有挑战性和趣味性,同样地,如果想在前端岗位保持竞争力,就需要增加其他业务层面上的技能,或者展示出能够在业务上独挑大梁的多面手特性。

如何破局

虽然前端岗位减少,竞争加剧,但这并不是世界末日,除了前文提到的转型全栈工程师,变身行业多面手,作为前端工程师,也可以选择在前端这个技术栈上持续精进。

金庸先生的传世名作《神雕侠侣》中,有一段情节是杨过在深山中找到了一代剑魔独孤求败的“剑冢”,其中刻着这样一段话:

剑魔独孤求败既无敌于天下,乃埋剑于斯。呜呼!群雄束手,长剑空利,不亦悲夫!

独孤求败于此葬下了其一生所用的四把剑,其中第二柄为“衣冠冢”,只有描述而无实物。

事实上,剑冢所葬四柄剑,就代表了四个不同的前端技术阶段。

第一把剑是一把青光闪闪的无名利剑:

凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋。

独孤求败弱冠之前所用的这把剑就和他的少年心性一般,年轻气盛,锐不可当,好勇斗狠,争强好胜,但自身技术还欠打磨,也就是我们刚刚入门前端的阶段,也许已经熟练掌握了某一个前端库,比如JQuery,但JQ却已经并不足以让我们竞聘上任何一个前端岗,所以,只能与河朔群雄争锋,而不是技盖群雄。

第二把剑是久历江湖之后,在恶臭的职场浸染了以后,能否还能保持初心,即进入到了“修心”的境界:

紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。

是的,不忘初心,追求技术的纯粹性,不会因为环境或者其他原因而轻易改变之前的那个少年。

第三把就是誉满全球的玄铁重剑:

重剑无锋,大巧不工。四十岁前恃之横行天下。

这是独孤求败四十岁之前所用的兵刃,天下已无抗手,无人能出其右。类比的话,作为前端工程师,我们已褪去了年轻时候的锋芒毕露,不再争论那个框架更好,而是将目光投入更底层的算法和数据结构。

第四把剑却是一把剑柄已经腐烂的木剑:

四十岁后,不滞于物,草木竹石均可为剑。自此精修,渐进于无剑胜有剑之境。

独孤求败从与人争胜变为了与己争胜,正在开辟一条没有人走过的剑道。是的,正如前端界的独孤求败:尤雨溪(Evan You),早已超凡入圣,研发出大道至简,重剑无锋的Vue.js框架之后,同样自此精修,渐进于无剑胜有剑之境,以前端技术傲睨一世,挟博纵辩,务欲胜人,所作亦颇博丽窈渺,声名甚著。

试问,如果我们达到了“木剑”的境界,你还会在乎什么所谓的“前端已死”吗?前端死不死,Web亡不亡,都已经和你没有任何关系了,因为江湖上全部都是你的传说,你也将发出:“呜呼!群雄束手,长剑空利,不亦悲夫!”的慨叹。

结语

前端未死,前端技术仍在,市场凋敝,岗位要求变高。但那又如何呢,独孤前辈的事迹在激励着我们,与其悲鸣,不如精修,临渊羡鱼,不如退而结网,所谓技术,心有拘囿,便不能纯。

最后,用古人先贤的传世名句和诸位前端同僚共勉:

前端犹如西山日,岗位终如草上霜,半世风流半世僧,看似无情胜有情。
相关文章
|
17天前
|
Cloud Native 前端开发 JavaScript
前端开发者必看:不懂云原生你就OUT了!揭秘如何用云原生技术提升项目部署与全栈能力
【10月更文挑战第23天】随着云计算的发展,云原生逐渐成为技术热点。前端开发者了解云原生有助于提升部署与运维效率、实现微服务化、掌握全栈开发能力和利用丰富技术生态。本文通过示例代码介绍云原生在前端项目中的应用,帮助开发者更好地理解其重要性。
51 0
|
21天前
|
JavaScript 前端开发 Docker
前端全栈之路Deno篇(二):几行代码打包后接近100M?别慌,带你掌握Deno2.0的安装到项目构建全流程、剖析构建物并了解其好处
在使用 Deno 构建项目时,生成的可执行文件体积较大,通常接近 100 MB,而 Node.js 构建的项目体积则要小得多。这是由于 Deno 包含了完整的 V8 引擎和运行时,使其能够在目标设备上独立运行,无需额外安装依赖。尽管体积较大,但 Deno 提供了更好的安全性和部署便利性。通过裁剪功能、使用压缩工具等方法,可以优化可执行文件的体积。
前端全栈之路Deno篇(二):几行代码打包后接近100M?别慌,带你掌握Deno2.0的安装到项目构建全流程、剖析构建物并了解其好处
|
21天前
|
JavaScript 前端开发 测试技术
前端全栈之路Deno篇(五):如何快速创建 WebSocket 服务端应用 + 客户端应用 - 可能是2025最佳的Websocket全栈实时应用框架
本文介绍了如何使用Deno 2.0快速构建WebSocket全栈应用,包括服务端和客户端的创建。通过一个简单的代码示例,展示了Deno在WebSocket实现中的便捷与强大,无需额外依赖,即可轻松搭建具备基本功能的WebSocket应用。Deno 2.0被认为是最佳的WebSocket全栈应用JS运行时,适合全栈开发者学习和使用。
|
22天前
|
缓存 前端开发 JavaScript
前端的全栈之路Meteor篇(二):容器化开发环境下的meteor工程架构解析
本文详细介绍了使用Docker创建Meteor项目的准备工作与步骤,解析了容器化Meteor项目的目录结构,包括工程准备、环境配置、容器启动及项目架构分析。提供了最佳实践建议,适合初学者参考学习。项目代码已托管至GitCode,方便读者实践与交流。
|
21天前
|
存储 前端开发 JavaScript
前端的全栈之路Meteor篇(四):RPC方法注册及调用-更轻量的服务接口提供方式
RPC机制通过前后端的`callAsync`方法实现了高效的数据交互。后端通过`Meteor.methods()`注册方法,支持异步操作;前端使用`callAsync`调用后端方法,代码更简洁、易读。本文详细介绍了Methods注册机制、异步支持及最佳实践。
|
21天前
|
前端开发 JavaScript 中间件
前端全栈之路Deno篇(四):Deno2.0如何快速创建http一个 restfulapi/静态文件托管应用及oak框架介绍
Deno 是由 Node.js 创始人 Ryan Dahl 开发的新一代 JavaScript 和 TypeScript 运行时,旨在解决 Node.js 的设计缺陷,具备更强的安全性和内置的 TypeScript 支持。本文介绍了如何使用 Deno 内置的 `Deno.serve` 快速创建 HTTP 服务,并详细讲解了 Oak 框架的安装和使用方法,包括中间件、路由和静态文件服务等功能。Deno 和 Oak 的结合使得创建 RESTful API 变得高效且简便,非常适合快速开发和部署现代 Web 应用程序。
|
21天前
|
JSON 分布式计算 前端开发
前端的全栈之路Meteor篇(七):轻量的NoSql分布式数据协议同步协议DDP深度剖析
本文深入探讨了DDP(Distributed Data Protocol)协议,这是一种在Meteor框架中广泛使用的发布/订阅协议,支持实时数据同步。文章详细介绍了DDP的主要特点、消息类型、协议流程及其在Meteor中的应用,包括实时数据同步、用户界面响应、分布式计算、多客户端协作和离线支持等。通过学习DDP,开发者可以构建响应迅速、适应性强的现代Web应用。
|
22天前
|
JavaScript 前端开发 Docker
前端的全栈之路Meteor篇(一):开发环境的搭建 -全局安装或使用容器镜像
本文介绍了如何搭建 Meteor 开发环境,包括全局安装 Meteor 工具和使用 Docker 镜像两种方法,以及创建和运行一个简单的 Meteor 项目的基本步骤。 Meteor 是一个全栈 JavaScript 框架,适用于构建实时 Web 应用程序。文章还提供了遇到问题时的解决建议和调试技巧。
|
21天前
|
JavaScript 前端开发 Serverless
前端全栈之路Deno篇:Deno2.0与Bun对比,谁更胜一筹?可能Deno目前更适合serverless业务
在前端全栈开发中,Deno 2.0 和 Bun 作为新兴的 JavaScript 运行时,各自展现了不同的优势。Deno 2.0 重视安全性和多平台兼容性,尤其是对 Windows 的良好支持和原生 TypeScript 支持;而 Bun 则以卓越的性能和简便的开发体验著称,适合快速迭代的小型项目。两者在不同场景下各具特色,Deno 更适合企业级应用和serverless,Bun 则适用于追求速度的项目。