背景
大概两个月前,为了给团队小伙伴分享我们目前做的事的价值,写了一篇 『Serverless For Frontend 前世今生』 。
在那篇文章中,主要讲了进入每个阶段的缘由和产出的东西,但对演进背后的源动力的思考和阐述有所欠缺。
在之后这段时间,一方面跟内外的同学交流,一方面在实践中去复盘,于是有了本分享。
我希望讲清楚 Serverless For Frontend
的 Why
以及一部分目前看到的 What
,但不会讲太多 How
,因为都还在摸索中,且大家的基建都不一样,无从复制。
Rethink – Serverless For Frontend.pdf
完整的 Slide 如上,下文则是对分享的 Slide 的一些提炼,和背后的一些思考。
为什么分享
熟悉我的人会知道,我很喜欢在 知乎专栏 写一些科普向的文章,也非常喜欢交流。
那是因为我也曾经在小公司迷茫了多年,也作为一个小人物亲身经历了前端在蛮荒期的开疆拓土。在我有幸加入阿里,能更深入的参与到这一进程时,我却发现前端的贫富差距正在拉大,因此我希望自己能做些什么。
但在此次的分享 Slide 中,我并不打算分享技术细节,因为那毫无意义,这是当时 Topic 的大纲。
前端演化的内在动力
前面提到,那篇文章仅仅是记录,发出去后,有很多反馈来迫使我思考:
『从前端工程化到走向云端,从 BFF 到现在的 SFF,这一切的内在推动力是什么呢?』
在跟玉伯、平侠老师交流后,我得到了第一个问题的答案:
是的,前端最早来源于 艺术与代码之间的 Gap
,前端这个岗位就是 设计师
和 研发
之间的桥梁。
而发展到现在,『大前端』已经在涉猎到每一个屏幕或者说人机交互界面
上,包括:PC、手机、平板、手表、大屏、嵌入式设备。
JS中文网 – 前端进阶资源教程 www.javascriptC.com
一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容
那第二个问题,前端一路开疆拓土,到处跟客户端、后端『抢活』,是 KPI 的原因么?
于是我把之前文中的演化过程重新进行梳理,推理出第二个答案:
前端的出现、前端接管模板层、前端接管粘合层,这一切都是为了更合理的分工,更优更高效的触达用户。
这也是我们的 前端领域价值观
,用于指导做什么,不做什么。
前端如何走向云端?
国内大部分团队处于这个阶段,前端工程化
已经深入人心且有一定的讨论和理论指导(如云龙的 前端工程 已经快 5 年了,还是那么的深刻)。
此时更多的是处于 前端工程化 → 云端
这一阶段,受限于话语权、人才储备、基建能力等,举步维艰。阿里在这一领域多走了几年,在众多前辈的努力下,我们也走出了自己的一条路。(如 蚂蚁 Node.js 演化 这一文所述)
但每个公司的情况不一样,是无法简单复制的,我建议的演化路线是:
BFF 存在的问题
在我看来,BFF(Backend For Frontend) 对前端的价值毋庸置疑,但它带来的额外成本也一言难尽。
可能前几年在扩张期的时候,这些问题都被掩盖,随着 Egg、TypeScript 等等的出现,有些前端开始飘飘然,觉得前端无所不能,到处挑衅 Java。我只能说,他们对后端一无所知,是前端的猪队友
。
在我的思考里,目前它所处的阶段,只是一个阶段性不完善的产物,我们还缺少一个契机。
幸运的是,Serverless 终于到来了,它也许是我们所等待的那个契机点:
- 我们需要 BFF 带来的能力。
- 但我们不需要 BFF 带来的那些额外的学习成本和运维成本。
JS中文网 – 前端进阶资源教程 www.javascriptC.com
一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容
如何演进
老实说,我也不知道,现在业界对 Serverless
的讨论,大都不是一个概念上的讨论。
就我们而言,我们只会继续遵循我们的 前端领域价值观
,继续深耕在自己的领域。
因此,我们对 BFF
的概念进行了升级:Serverless For Frontend
。
讲到这里,很多同学也反馈看完了还是不知道 SFF 具体要怎么做。如本文顶部所述,本文主要侧重于前面的 WHY,至于 What 和 How,目前一些内部的实践依赖于内部的基建,还在思考沉淀中,目前还很难抽出一个比较通用的模型讲出来,还请期待后文。
来源:https://www.yuque.com/egg/nodejs/sff-slide
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程
本文来源于网络,其版权属原作者所有,如有侵权,请与小编联系,谢谢!
转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com
标题:Rethink: Serverless For Frontend
链接:https://www.javascriptc.com/2415.html
原文链接: