V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
itchina110
V2EX  ›  前端开发

周爱民:告前端同学书

  •  
  •   itchina110 · 2023-10-17 14:30:37 +08:00 · 7524 次点击
    这是一个创建于 440 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一年前,InfoQ 的编辑约请我对前端技术做了些回顾总结,说了三个方面的话题:其一,前端过去的 15 年大致可以怎样划分;其二,前端的现状以及面临的挑战;其三,前端会有怎样的未来。后来刊发成综述,是《技术 15 年》。缘于文体变动,访谈的味道十不存一,所以这里再次整理成文,是为《告前端同学书》。

    作者:周爱民 / aimingoo

    编者按:本文作者周爱民确认出席由前端圈主办的第六届 FEDAY 。FEDAY 将于 2023 年 11 月 18 日在杭州举办。 本文经作者本人授权发布。

    各位前端同学,就我的所知来看,每⼀个具体的技术,在其⽅向上都有着不同的标志事件,也因此有着不同的阶段划分。但是我想,如果从我们这个领域对“前端”的认识来观察这件事,⼤概会对不同的前端阶段能有更清晰的认识。

    早期前端的从业⼈员⼤多来⾃后端开发者、应⽤软件开发者,或者⽹⻚设计师,⽽并没有专职的前端开发。例如说阿⾥巴巴在 2010 年之前都把前端归在产品部⻔,可⻅前端⼯程师的来源和定位⼀直都很模糊。这个时代,ECMAScript 还陷在 Ed4 的泥坑中没有⾛出来,IE 浏览器带来的标准分裂还没有得到全⾯的修补,源于对这个领域的漠视,⼤⼚优势也没有体现出来,前端开发者们基本上各⾃为战,框架和中间件层出不穷⽽⼜良莠难分,开发⼯具和环境却荒草凄凄以⾄于乏善可陈。但是也正是在这个时代,ES6 、CSS3 、HTML5 等等都在筑基、渗透与蓄势。

    随着专⽤⼯具链和开发流程的成熟,前后端分离的运动从项⽬内部开始蔓延到整个领域,出现了专⻔的前端开发⼯程师、团队,以及随之⽽来的⻆⾊细分,很多独⽴的技术社区就是在这个时代出现的。前后端分离不仅仅是⼀种技术表现,更是⼀种⾏业协作的模式与规范,并且反过来推动了⼯具和框架的⼤发展。信⼼满满的前端不拘于⼀城⼀地,⼀⽅⾯向前、向专业领域推进,从⽽影响到交互与接触层。因此更丰富的界⾯表现,以及从移动设备到⼈机交互界⾯等领域都成了前端的研究⽅向,是所谓“⼤前端”。⽽另⼀⽅⾯则向后、向系统领域渗透,有了所谓⼯程师“全栈化”运动。这个时候的“全栈”,在⼯程上正好符合敏捷团队的需求,在实践上正好⼜叠加上 DevOPS 、云端开发和⼩应⽤的⼏阵助⼒,前端因此⼀⽚繁华景象。

    所以 2008 年左右开始的前后端分离是整个前端第⼆阶段的起点,这场运动改变了软件开发的体系与格局,为随后⼗年的前端成熟期拓开了局⾯。那⼀年的 SD2C 我谈了《 VCL 已死、RAD 已死》,⽽⼗年后阿⾥的圆⼼在 GMTC 上讲了《前端路上的思考》,可算作对这个时代的预⾔和反思。

    相对于之前所说的第⼀、第⼆阶段,我认为如今我们正⾏进在⼀个全新阶段中。这个阶段初起的主要表现是:前端分离为独⽴领域,并向前、后两个⽅向并进之举已然势微。其关键在于,前端这个领域中的内容已经逐渐复杂,⽽其应⽤的体量也将愈加庞⼤,因此再向任何⽅向发展都难尽全⼒、难得全功。

    摊⼦铺得⼤了,就需要再分家。所以下⼀个阶段中,将再次发⽣横向的领域分层,⼀些弥合层间差异的技术、⽅法与⼯具也将出现,类似于 Babel 这样的“嵌缝膏”产品将会再次成为⼀时热⻔。但⻓期来说,领域分层带来的是更专精的职业与技能,跨域协作是规约性的、流程化的,以及⼯具适配的。从 ECMAScript 的实践来看,规范的快速更新和迭代已经成为现实,因此围绕规范与接⼝的新的开发技术与⼯程模型,将会在这个阶段中成为主要⼒量,并成为维持系统稳定性的主要⼿段。

    这是在⼀个新阶段的前夜。故此,有很多信息并不那么明朗,⽐如说像前后端分离这样的标志性事件并没有出现,亦或者出现了也还没有形成典型影响。我倾向于认为引领新时代的,或者说开启下⼀个阶段的运动将会发⽣在交互领域,也就是说新的交互⽅式决定了前端的未来。之前⾏业⾥在讲的 VR 和 AR (虚拟现实和增强实境)是在这个⽅向上的典型技术,但不唯于此。⼏乎所有在交互⽅式上的变⾰,都会成为⼈们认识与改变这个世界的全新动⼒,像语⾳识别、视觉捕捉、脑机接⼝等等,这些半成熟的或者实验性的技术都在影响着我们对“交互”的理解,从⽽也重新定义了前端。

    ⾏业⽣态也会重构,如同今天的前端⼤会已经从“XX 技术⼤会”中分离出来⼀样,不久之后“交互”也会从前端分化出来,设计、组件化、框架与平台等等也会成体系地分化出来。前端会变得⽐后端更复杂、更多元,以及更加的⽣机勃勃。这样的⽣态起来了,⼀个新的时代也就来临了。简单地说,1 、要注重领域与规范,2 、要跟进交互与体验,3 、要在⽣态中看到机会。

    然而,前端的同学们,我们也不要忘记在这背景中回望自身,正视我们前端自己的问题。

    其⼀,底⼦还是薄,前端在技术团队与社区的积累上仍然不够。看起来摊⼦是铺开了,但是每每只在“如何应⽤”上下功夫,真正在⽹络、系统、语⾔、编译、机器学习等等⽅⾯有深⼊研究的并不多。⼀直以来,真正有创建性或预⻅性的思想、⽅法与理论鲜⻅于前端,根底薄是⾸要原因。

    其⼆,思维转换慢,有些技术与思想抛弃得不够快,不够彻底。不能总是把核⼼放在“三⼤件( JS+CSS+HTML )”上⾯,核⼼要是不变,前端的⾰命也就不会真正开始。要把“Web 前端”前⾯的“Web”去掉,就现实来说,很多⼈连“观望”都没有开始。

    其三,还没有找到跟“交互”结合起来的有效⽅法与机制。前端过去⼗年,在 IoT 、机器学习、云平台等等每⼀次潮流都卡上了点⼉,但是如果前端的下⼀次转型起于“交互”,那么我们⽬前还没有能⼒适应这样的变化。当然,契机也可能不在于“交互”,但如果这样,我们的准备就更不充分了。

    其四,向更多的应⽤领域渗透的动机与动⼒不明确。⻓期以来,前端在各个领域上都只是陪跑,缺乏真正推动这些领域的动机与动⼒。往将来看,这些因素在前端也将持续缺乏。寻求让前端持续发展,甚⾄领跑某些领域的内驱⼒量,任重⽽道远。

    同学们,我想我们必须有一种共同的、清醒的认识与认知:浏览器是未来。去操作系统和云化是两个⼤的⽅向,当它们达成⽬标时,浏览器将成为与⽤户接触的唯⼀渠道。研究浏览器,其本质就是研究交互和表现,是前端的“终极私活”。但不要局限于“Web 浏览器”,它必将成为历史,如同操作系统的“⽂件浏览器”⼀样。

    要极其关注 JavaScript 的类型化,弱类型是这⻔语⾔在先天条件上的劣势,是它在⼤型化和系统化应⽤中的明显短板。这个问题⼀旦改善,JavaScript 将有⼒量从其它各种语⾔中汲取营养,并得以⾯向更多的开发领域,这是 JavaScript 的未来。

    AI 和 WASM 在前端可以成为⻬头并进的技术,⼀个算法,⼀个实现。对于前端来说,性能问题⼀直是核⼼问题,⽽交互与表现必将“⼤型与复杂化”,例如虚拟现实交互,以及模拟反馈等等,⽽ WASM 是应对这些问题的有效⼿段。

    所谓交互与表现,本质上都是“空间问题”。亦即是说,前端表现中的所谓布局、块、位置、流等等传统模式与技术,与将来的交互技术在问题上是同源的。就像“盒模型”确定了 CSS 在前端的核⼼地位⼀样,新的空间定位技术,以及与之匹配的表现与交互⽅法是值得关注和跟进的。

    前端要有更强的组织⼒,才能应付更⼤规模的系统。这⾥的组织⼒主要是针对⼯程化⽽⾔,所有⼯程化⼯具,其最终的落脚点都在快速、可靠,并以体系化的⽅式来组织⼯程项⽬。这包括⼈、资源、信息、时间、能⼒与关系等等⼯程因素,每个⽅⾯都有问题,都值得投⼊技术⼒量。

    相较于新入行的前端的同学们,我能从没有前端走到如今前端的⼤发展,何其幸也。以我⼀路之所⻅,前端真正让我钦佩的是持久的活⼒。前端开发者⼏乎总是⼀个团队中“新鲜⾎液”的代名词,因此前端在业界的每个阶段都⾛在时代的前列。如今看 C 语⾔的⽼迈,操作系统的封闭,后台的保守,以及业务应⽤、产品市场等等各个领域都在筑城⾃守,再看前端种种,便总觉得开放与探索的信念犹在。

    曾经与我⼀道的那些早期的前端开发者们,如今有做了主管的,有搞了标准的,有带了团队的,有转了后端的,有做架构做产品做运维等等⼀肩担之,也有开了公司做了顾问从商⼊政的,但也仍然还有在前端⼀线上做着努⼒,仍看好于这⼀个⽅向并在具体事务上勉⼒前⾏的。我曾经说,“任何事情做个⼗年,总会有所成绩的”,如今看来,这个时间还是说少了,得说是:⼏个⼗年地做下去,前端总能做到第⼀。

    惟只提醒⼤家,领域分层的潮流之下,层间技术的核⼼不是功能( functional ),⽽是能⼒( capabilities )。向应⽤者交付能⼒,需要有体系性的思维,要看向系统的全貌。我们专精于细节没错,专注于⼀城⼀地也没错,然而眼光⾼远⽽脚踏实地,是前端朋友们当有之势。

    亦是这个时代予我们的当为之事!

    周爱民/aimingoo

    初稿于 2022.06

    此稿于 2023.10

    编者按:本文作者周爱民确认出席由前端圈主办的第六届 FEDAY 。FEDAY 将于 2023 年 11 月 18 日在杭州举办。

    大会网站: https://fequan.com/2023

    FEDAY 2023

    49 条回复    2023-12-11 11:18:51 +08:00
    eatgrass
        1
    eatgrass  
       2023-10-17 14:35:26 +08:00   ❤️ 6
    有点看新闻联播的感觉
    encro
        2
    encro  
       2023-10-17 14:36:37 +08:00   ❤️ 3
    @eatgrass

    同感,似乎说了啥,又啥都没说。。。
    kkk9
        3
    kkk9  
       2023-10-17 14:37:42 +08:00
    🙇十年经验,3000 月薪,怎么让人眼光⾼远⽽脚踏实地?
    witcat
        4
    witcat  
       2023-10-17 14:39:05 +08:00   ❤️ 2
    这篇文章总结了前端领域的发展历程和未来趋势,重点如下:

    前端的起步:早期前端开发模糊不清,来自不同背景的开发人员参与,技术标准不稳定。

    前后端分离:前后端分离的兴起,推动了前端工具和团队的成熟。

    新阶段挑战:前端正进入新的发展阶段,需要更多专业技能,领域分层变得更明显。

    未来趋势:前端可能会受到交互领域的影响,如虚拟现实、增强实境等。前端领域会变得更加复杂。

    前端问题:前端仍面临技术积累不足、思维转变慢、与交互整合不足的问题。

    未来关注点:前端需要关注浏览器技术、JavaScript 类型化、AI 和 WASM 技术,以及新的交互方式和布局技术。

    结语:前端是一个充满活力的领域,前端开发者需要不断适应新技术和思维方式,持续学习,以适应不断变化的前端领域。
    eatgrass
        5
    eatgrass  
       2023-10-17 14:40:40 +08:00
    @witcat 你少总结了付费买门票
    CHTuring
        6
    CHTuring  
       2023-10-17 14:41:02 +08:00
    字我都认识,而且看完感觉又忘了说的啥。很奇妙...
    wonderfulcxm
        7
    wonderfulcxm  
       2023-10-17 14:45:17 +08:00 via iPhone
    有那味了,是 ChatGPT 生成的吧。
    adminisqq
        8
    adminisqq  
       2023-10-17 14:53:50 +08:00   ❤️ 17
    不愧是娱乐圈
    wzdsfl
        9
    wzdsfl  
       2023-10-17 14:55:20 +08:00
    废话文学
    hangbale
        10
    hangbale  
       2023-10-17 15:08:23 +08:00
    “大佬请就位”是吧 🐶
    darksword21
        11
    darksword21  
       2023-10-17 15:15:24 +08:00   ❤️ 5
    看都懒得看,滑倒下面果然有二维码,b 了
    cnbatch
        12
    cnbatch  
       2023-10-17 15:30:14 +08:00   ❤️ 9
    这篇“作文”使用了大量“康熙部首”的字符,这样可能会导致浏览器使用 CTRL+F 搜索功能时搜不到某些文字、段落,作者是故意的是吧?是不是有什么黑历史?(莫非打广告本身就是黑历史?)
    62742a40
        13
    62742a40  
       2023-10-17 15:38:20 +08:00   ❤️ 1
    杭州不愧是“炒作之都”,连个会议也要来刷屏,不止在一个地方看到了,看多了就~无感
    LynFt
        14
    LynFt  
       2023-10-17 15:42:02 +08:00   ❤️ 1
    下面我简单讲两句
    kloudmuka
        15
    kloudmuka  
       2023-10-17 15:45:15 +08:00
    《使用微信扫码购票》真的难绷😅
    wusheng0
        16
    wusheng0  
       2023-10-17 16:13:59 +08:00
    告前端同学书,告台湾同胞书,我还以为是什么改变历史的……

    虽然我也是写前端的,但是娱乐圈这个说法是真贴切
    opentrade
        17
    opentrade  
       2023-10-17 16:14:04 +08:00
    果然爱民
    JiangkaaiShenng
        18
    JiangkaaiShenng  
       2023-10-17 16:20:16 +08:00
    好多 unicode 中文,装逼吗
    j7915kj220ry590U
        19
    j7915kj220ry590U  
       2023-10-17 16:30:52 +08:00
    懂了,问题的关键是关键的问题
    anguiao
        20
    anguiao  
       2023-10-17 16:34:57 +08:00
    这次做好报备了么,上次 VueConf 取消了有点遗憾,希望不要再发生类似的事情了。
    collen
        21
    collen  
       2023-10-17 16:42:43 +08:00   ❤️ 4
    傻逼,总有一群活得久和认为见识久的傻逼,当傻逼,然后不懂的傻逼就喜欢凑在一堆,不是跨时代的和革命性的东西就是一群傻逼在哪里捧来捧去,或许这玩意不是当事人自己想扩散出来的,但是自觉分发下去的傻逼,何尝又不是被当事人所吸引的群体呢
    AndyChina
        22
    AndyChina  
       2023-10-17 17:08:09 +08:00
    筑基、渗透与蓄势 哈哈哈
    whitechiina
        23
    whitechiina  
       2023-10-17 17:10:08 +08:00
    哈哈哈哈哈
    realpg
        24
    realpg  
       2023-10-17 17:34:23 +08:00
    吓得我去查了下现在委员长,姓栗,不姓周
    muzuiget
        25
    muzuiget  
       2023-10-17 17:54:54 +08:00
    通篇废话,还不如 ChatGPT 写的,果然一开始就应该先看评论的。
    nomagick
        26
    nomagick  
       2023-10-17 17:59:10 +08:00
    我想起我之前的同事有叫马云的,还有叫张一鸣的,没有遇到马化腾有点遗憾,以后我就请他们署名文章
    x86
        27
    x86  
       2023-10-17 18:01:07 +08:00
    整活还得看前端圈
    sheeta
        28
    sheeta  
       2023-10-17 18:08:02 +08:00
    前端娱乐圈
    xiaoxiaoming01
        29
    xiaoxiaoming01  
       2023-10-17 18:16:17 +08:00
    fe quan 域名整得就很有灵性🤣
    xiaoxiaoming01
        30
    xiaoxiaoming01  
       2023-10-17 18:23:40 +08:00
    妈耶 我还以为是象征性收一下费呢😀

    我买林俊杰演唱会的票都没那么贵😅

    999 与讲师共进晚餐,还只是有机会😅

    前端这个圈子不能待了,大家快逃啊!😅
    0o0O0o0O0o
        31
    0o0O0o0O0o  
       2023-10-17 19:16:00 +08:00
    @cnbatch #12
    @JiangkaaiShenng #18

    你们提到的字符在哪里啊?你们是怎么发现的?
    cnbatch
        32
    cnbatch  
       2023-10-17 20:02:29 +08:00
    @0o0O0o0O0o Windows + DPI 调高(我的是 200%),或者浏览器用鼠标滚轮把网页放大成 200%,这些奇怪的字符清晰可见
    MeMoDiv
        33
    MeMoDiv  
       2023-10-17 20:03:01 +08:00   ❤️ 1
    hello2090
        34
    hello2090  
       2023-10-17 20:08:22 +08:00
    我曾经说,“任何事情做个⼗年,总会有所成绩的”,如今看来,这个时间还是说少了,得说是:⼏个⼗年地做下去,前端总能做到第⼀。😂 他看得懂自己在说啥吗
    0o0O0o0O0o
        35
    0o0O0o0O0o  
       2023-10-17 20:36:47 +08:00
    @cnbatch #32

    谢谢,确实是,在终端里拿 curl 也可以看到
    vitovan
        36
    vitovan  
       2023-10-17 21:21:00 +08:00
    @cnbatch #12 谢谢,不说我都不知道。

    ⼆ 和 二 居然不一样!
    shaojz2005
        37
    shaojz2005  
       2023-10-17 21:43:28 +08:00
    有些内容会自动转成 unicode 字符,目的是什么?为了不让搜索引擎正确收录吗?
    felixcode
        38
    felixcode  
       2023-10-17 22:04:20 +08:00   ❤️ 1
    前端之师周爱民
    AyaseEri
        39
    AyaseEri  
       2023-10-17 22:32:11 +08:00
    我是不是可以理解为,前端能不能有新的机遇,得看 Vision Pro 所代表的 AR/VR/MR 平台能不能掀起新的浪潮。
    falcon05
        40
    falcon05  
       2023-10-17 22:32:46 +08:00
    @xiaoxiaoming01 咖位这么大的吗,堪称低配版巴菲特的午餐。
    witcat
        41
    witcat  
       2023-10-17 22:57:57 +08:00
    @felixcode 哈哈哈笑死我了传下去
    zdliu
        42
    zdliu  
       2023-10-17 23:02:36 +08:00
    前端娱乐圈
    lisongeee
        43
    lisongeee  
       2023-10-17 23:08:59 +08:00
    这前端啥玩意都要开个会,后端有没有这种会啊?
    shyangs
        44
    shyangs  
       2023-10-17 23:58:38 +08:00
    @shaojz2005

    純文本盲水印, 類似數字盲水印(隱水印), 用來追蹤誰從網站上把這篇文章盜出去張貼流傳的。(每個帳號在原網站看到的 unicode 字元都不一樣.)
    mobpsycho100
        45
    mobpsycho100  
       2023-10-18 00:03:31 +08:00
    @cnbatch 我还以为 Windows 的字符渲染又抽风了,在那里看了半天 font-family
    asuraa
        46
    asuraa  
       2023-10-18 00:04:20 +08:00
    看完了 又感觉没看... 如看
    shaojz2005
        47
    shaojz2005  
       2023-10-18 18:18:03 +08:00
    @shyangs 长见识了,纯文字都能打水印
    HRliangxin
        48
    HRliangxin  
       2023-10-20 22:52:20 +08:00
    35-45K 找一个前端开发能找到吗
    itchina110
        49
    itchina110  
    OP
       2023-12-11 11:18:51 +08:00
    @HRliangxin 月薪吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2299 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 16:06 · PVG 00:06 · LAX 08:06 · JFK 11:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.