作者|kateholterhoff(RedMonk)
译者|核子可乐
策划|Tina
换句话说,前端开发已经不再是系统生命周期中的辅助性要素。
关于前端未来图景的讨论目前颇为流行。虽然有观点强烈反对AI崛起意味着“前端开发既消亡”的判断,但也有人认为AI及无代码/低代码将增强前端开发者群体、而非直接将其取代。但纵观这种种意见交锋,我发现人们普遍忽略了一个重要问题:随着抽象解决方案不断改善后端与运营层面的工作难度,前端开发者在采购决策中的话语权将持续增长。
从Baas到PartyKit让我们先从专为前端工程师提供服务的供应商说起,包括如何利用云抽象确立自身市场地位。
初次测试@partykit_io
我喜欢构建实时应用程序,所以很高兴终于亲自尝试了一回。我是@threepointone的忠实粉丝**/JX1SR5CX7c
—naderdabit(@dabit3)2023年11月30日
PartyKit代表着前端崛起的又一个令人信服的案例。PartyKit不仅证明JS领域仍在酝酿创新,也表明了前端买家市场的稳健性。供应商们注意到专门针对前端开发者的平台能够获得成功,因此渴望推出自己的方案来满足需求。JSParty播客联席主持人KevinBall表示:
总之,越来越多的科技大厂和初创公司都开始将前端开发者视为消费力强、规模可观的目标受众。人们也都意识到,自托管运营与基础设施会带来沉重的认知负荷,更不用说数据库、安全性、身份验证和可观察性等带来的巨大挑战。现在,前端开发者可以把这一切都交给服务商负责,不再需要内部处理。
抽象度持续提升
越抽象越好……
—BettyJunod(@BettyJunod)2019年9月6日
随着云托管抽象的兴起,一系列软件开发趋势也由此成形,让前端开发者获得了更具份量的话语权。抽象解决方案简化并扩展对原语的访问,降低了原语管理难度。仍然以PartyKit为例,其中包括Cloudflare设计的DurableObjects持久对象,它们本质上就是具有内存状态的Cloudflare工作线程。可以看到,这些原语正逐步让位给托管服务,而由此掀起的趋势正给前端开发带来深远影响。
老实说,身为一名开发者,最让我兴奋的就是能在短短几天内就构建一个项目。
我热爱、Vercel和Tailwind堆栈让我能够快速完成开发的感觉,特别是在跟@replicatehg和@OpenAI配合使用来开发酷炫AI应用的时候。
除了开发者使用的编程语言之外,现代软件开发还高度依赖于将繁琐部分和复杂性服务抽象出来。虽然一部分系统管理员仍在以尖锐的言语对这种趋势提出批评,但客观事实表明,将运营部分剥离出来的作法已经越来越普遍。毕竟运营很难、基础设施很贵,安全性与合规性的风险也很高。
API经济与云原生前端开发者江湖地位的提升,源自抽象机制的迅速增加,而且这种趋势仍将长期持续。托管服务能够将复杂且耗时的任务(例如用户身份验证)以及高监管要求的服务(例如POS系统)留给领域专家,以省时省力的方式提高安全性。如此一来,企业就能专注于处理用例中特有的业务逻辑。特别是在前端工具与生态系统配置层面,这种面向抽象的整体转变也与此前全栈化潮流的失败有关。全栈工程师的出现虽然对企业雇主有利,但却受到开发者群体的严厉谴责,因为指望开发者承担一切必然给他们带来过重的认知负担。正如LaurieVoss所说:
除了通过API给前端工程师提供的便利之外,技术厂商还为这部分用户提供云原生形式的抽象方案。Begin公司联合创始人BrianLeRoux就对前端开发者群体的前景抱乐观态度,认为该领域更能发挥云优势。从技术提供商的角度来看:
抽象问题当然,对这些高度抽象解决方案的采用同样需要权衡。抽象产品和服务通常以API和库的形式交付,也就是将他人编写的代码移植到开发者自己的项目当中。这既是它的核心卖点,也会带来巨大风险。抽象解决方案迫使项目呈现出特定形态,因此往往难以扩展。
大家应该都听过这个经典案例,就是Twitter被迫将后端从RubyonRails重写成Scala(基于Java构建)的形式,原因就是像Java这样的低级语言扩展性更好。在涉及繁重的进程与缓存层处理时,像Java这样的语言仍然拥有不可替代的价值。然而,像Twitter这样的大型应用程序属于极端案例,并非普遍情况。也就是说,这种成长的烦恼并不会阻碍众多开发者继续使用JavaScript和TypeScript。顺带一提,Java22还采用了高度简化的语法,因此在提交体验方面甚至胜过不少其他高级语言。
看看这简洁的@java22(也可能是23)语法!
—(@KateHolterhoff)2024年2月26日
除了扩展问题之外,将复杂性抽象出去的服务和产品在托管时往往成本更高。Vercel通过将AWS原语打包在零配置简单构建流程中来简化部署,而用户则为这样的便利性体验付费。这确实导致部分开发者抱怨Vercel的使用成本高到离谱,但很多公司还是发现,尽管托管成本愈发夸张,但由于不必聘请工程师来管理基础设施,所以这仍然物有所值。BranchInsurance联合创始人兼CTOJoeEmison就提出了利用云服务配合纯前端初级开发者推动业务运营的案例:
下面,咱们再来聊聊众多开发者高度依赖抽象与托管服务之后,可能带来的最糟糕的后果:整个行业都将面临生存威胁。之前行业中就存在类似的刻板印象,认为这种趋势会令前端工程师“无脑化”并最终彻底被业务不过关的初级开发者所充斥。也确实有人在认真分析这种刻板印象,认为前端主导的开发图景意味着软件工程将彻底消亡。沿着这样的思路推进,前端工程师最终将趋同于纯粹依赖低代码与无代码解决方案的非技术类开发者。如果说这波AI加低代码/无代码真能取代软件工程师群体,那么“技术正日渐衰落”的判断似乎也并非危言耸听。
但我倒不觉得前端驱动软件开发的前景就真有这么悲观。相反,我觉得这正是前端领域迸发出创新能量的新机会。那帮想以前端工程师“无脑化”为前提,在市场上兜售严重溢价的黑盒解决方案的厂商,最终都将惨遭失败。
前端未死,只是换了新样貌这也引出了我关于前端工程师话语权的最后一点分析。与任何其他技术转变一样,这波以前端为重点的过渡同样不会是均匀的。结合软件开发的特殊背景,这必然伴随着角色的重新分配以及传统上泾渭分明的前端与后端、客户端与服务器,乃至静态与交互之间界限的逐渐模糊。其实不少资深从业者,长期以来一直在批评前端和后端这样的表述,认为“十多年来这种硬性划分一直脱离实际,但时至今日却仍然存在。”Reddit用户n9iels就此做出回应:
原文链接:前端未死,只是换了新样貌_工程化_kateholterhoff(RedMonk)_InfoQ精选文章
版权所有©Copyright © 2022-2030 汉缘网网站地图