1. 首页

Rethink: Serverless For Frontend

背景

大概两个月前,为了给团队小伙伴分享我们目前做的事的价值,写了一篇 『Serverless For Frontend 前世今生』

在那篇文章中,主要讲了进入每个阶段的缘由和产出的东西,但对演进背后的源动力的思考和阐述有所欠缺。

在之后这段时间,一方面跟内外的同学交流,一方面在实践中去复盘,于是有了本分享。

我希望讲清楚 Serverless For Frontend 的 Why 以及一部分目前看到的 What ,但不会讲太多 How ,因为都还在摸索中,且大家的基建都不一样,无从复制。

Rethink – Serverless For Frontend.pdf

完整的 Slide 如上,下文则是对分享的 Slide 的一些提炼,和背后的一些思考。


为什么分享

熟悉我的人会知道,我很喜欢在 知乎专栏 写一些科普向的文章,也非常喜欢交流。

那是因为我也曾经在小公司迷茫了多年,也作为一个小人物亲身经历了前端在蛮荒期的开疆拓土。在我有幸加入阿里,能更深入的参与到这一进程时,我却发现前端的贫富差距正在拉大,因此我希望自己能做些什么。

Rethink: Serverless For Frontend

但在此次的分享 Slide 中,我并不打算分享技术细节,因为那毫无意义,这是当时 Topic 的大纲。

Rethink: Serverless For Frontend


前端演化的内在动力

前面提到,那篇文章仅仅是记录,发出去后,有很多反馈来迫使我思考:

『从前端工程化到走向云端,从 BFF 到现在的 SFF,这一切的内在推动力是什么呢?』

Rethink: Serverless For Frontend

在跟玉伯、平侠老师交流后,我得到了第一个问题的答案:

Rethink: Serverless For Frontend

是的,前端最早来源于 艺术与代码之间的 Gap,前端这个岗位就是 设计师研发 之间的桥梁。

而发展到现在,『大前端』已经在涉猎到每一个屏幕或者说人机交互界面上,包括:PC、手机、平板、手表、大屏、嵌入式设备。

JS中文网 – 前端进阶资源教程 www.javascriptC.com
一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容

那第二个问题,前端一路开疆拓土,到处跟客户端、后端『抢活』,是 KPI 的原因么?

于是我把之前文中的演化过程重新进行梳理,推理出第二个答案:

Rethink: Serverless For Frontend

前端的出现、前端接管模板层、前端接管粘合层,这一切都是为了更合理的分工,更优更高效的触达用户。

这也是我们的 前端领域价值观,用于指导做什么,不做什么。


前端如何走向云端?

国内大部分团队处于这个阶段,前端工程化已经深入人心且有一定的讨论和理论指导(如云龙的 前端工程 已经快 5 年了,还是那么的深刻)。

此时更多的是处于 前端工程化 → 云端 这一阶段,受限于话语权、人才储备、基建能力等,举步维艰。阿里在这一领域多走了几年,在众多前辈的努力下,我们也走出了自己的一条路。(如 蚂蚁 Node.js 演化 这一文所述)

但每个公司的情况不一样,是无法简单复制的,我建议的演化路线是:

Rethink: Serverless For Frontend


BFF 存在的问题

image.png

在我看来,BFF(Backend For Frontend) 对前端的价值毋庸置疑,但它带来的额外成本也一言难尽。

可能前几年在扩张期的时候,这些问题都被掩盖,随着 Egg、TypeScript 等等的出现,有些前端开始飘飘然,觉得前端无所不能,到处挑衅 Java。我只能说,他们对后端一无所知,是前端的猪队友

在我的思考里,目前它所处的阶段,只是一个阶段性不完善的产物,我们还缺少一个契机

Rethink: Serverless For Frontend

幸运的是,Serverless 终于到来了,它也许是我们所等待的那个契机点:

  • 我们需要 BFF 带来的能力。
  • 但我们不需要 BFF 带来的那些额外的学习成本和运维成本。

JS中文网 – 前端进阶资源教程 www.javascriptC.com
一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容

如何演进

image.png

老实说,我也不知道,现在业界对 Serverless 的讨论,大都不是一个概念上的讨论。

就我们而言,我们只会继续遵循我们的 前端领域价值观,继续深耕在自己的领域。

因此,我们对 BFF 的概念进行了升级:Serverless For Frontend

Rethink: Serverless For Frontend

Rethink: Serverless For Frontend

讲到这里,很多同学也反馈看完了还是不知道 SFF 具体要怎么做。如本文顶部所述,本文主要侧重于前面的 WHY,至于 What 和 How,目前一些内部的实践依赖于内部的基建,还在思考沉淀中,目前还很难抽出一个比较通用的模型讲出来,还请期待后文。

来源:https://www.yuque.com/egg/nodejs/sff-slide

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文来源于网络,其版权属原作者所有,如有侵权,请与小编联系,谢谢!

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:Rethink: Serverless For Frontend

链接:https://www.javascriptc.com/2415.html

原文链接:

« Serverless For Frontend 前世今生
一份你女朋友都能读懂的 Git 教程»
Flutter 中文教程资源

相关推荐

QR code