HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

winter 眼中的前端十年:觉醒、全栈、包袱,未来无不可为

  • 2019-04-24
  • 本文字数:4350 字

    阅读完需:约 14 分钟

winter眼中的前端十年:觉醒、全栈、包袱,未来无不可为

程劭非,网名“winter”,前端社区知名专家,前手机淘宝前端负责人,极客时间《重学前端》专栏作者。先后就职于微软、盛大、阿里巴巴等公司。winter 早年做过嵌入式系统浏览器、电子书和 WebOS 的相关工作,近年致力于移动前端领域研究,提出过 Flexible 布局等先进概念,也产出过 Weex 这样的移动前端开发框架。


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00

    我的心里种下了一颗种子:坚信做前端这件事情是有前途的。

    我最早接触前端是在大学的时候,我在中国的黑白棋小圈子里面还是很活跃的,一群棋友经常一起下棋。后来我们的论坛里要有展示棋谱的功能,因为我很擅长,所以就很积极地去研究怎么改进。我花了很长的时间才搞清楚几个带 Java 的技术——Java、JavaScript、Java Applet 都是干嘛用的,然后我就发现 JavaScript 的能力比我想象中的要强得多。



    这时候其实我心里就种下了一颗种子:坚信做前端这件事情是有前途的。这个预判主要是发现了技术的潜力,发现市面上产品跟你预判的技术潜力有差别。后来了解得多了,我发现 W3C 所主导的万维网能力无穷,我就变成了 Web 的信徒。在我看来,这种开放性的东西才是人类软件的未来,私有技术终究会逐渐被标准化,而标准化会越来越强大。


    后来我就开始有意识地去参与一些前端的社区、论坛,我其实是一个很会混社区的人,我在社区基本上是如鱼得水,我很会交“技术大牛”的朋友。比如接触月影、周爱民老师,我一点也不害羞。其实大部分社区中看起来高高在上的大牛,他们都是比较 nice 的。

    过去十年,是前端觉醒的十年。

    前端这个行业很年轻,更早时候其实是有前端工作但是没有前端岗位。大家觉得这个东西程序员做也行,设计师做也行。前端工作一直存在,但是没有人认为它是一个独立的工种和岗位,也没有人去发展它的工程体系,更没有人去找它的核心价值。所以如果说过去十年前端是什么样的十年,我认为是觉醒的十年。



    在过去十年中,前端技术的发展大致经历了三个阶段:


    首先是青铜时代,就是 2008 年前后那段时间,前端圈子里流行的是各种特效,比如鼠标跟随、Flash,当时觉得非常炫酷,今天看来有点 low。


    其次是白银时代,大约是 2009 年到 2011 年这段时间。大家的观念开始转变了,从单纯的说我要做一个什么样的效果,开始关注我怎么样做这个效果能够更方便。如果回头来看,jQuery 抓的两个点是很准的:第一点叫做 API 的应用性;第二点叫做浏览器的兼容性。jQuery 以这两点为核心,打造了一套这样的开发框架,白银时代其实就是最终以 jQuery 大获全胜落幕。


    另外就是黄金时代,其实也是我加入手淘的时间点,也是移动前端开始抬头的时间点。这个时候不管是移动前端还是桌面开发前端,都开始进入到了一个正规化阶段,开始关注工程体系,开始关注自身价值,开始关注质量与效率,同时这个时期也是 Node.js 崛起的时期。

    加入手机淘宝,它看起来不像是一个会死的产品。

    我在毕业找工作的时候,就有意识地去看前端岗位,但是因为那个时候前端岗位级别不高、工资跟客户端也有差距,所以我就“曲线救国”,去做浏览器开发。这段经历让我了解了很多的底层知识。另外很有意思的一点,无论第一份工作在微软,还是后来在盛大,我都是阴差阳错跟移动开发结下不解之缘。


    遗憾的是,我在上两个公司做的产品都不算成功,后来我就在想,我一定要找一个成功的产品。找来找去,发现阿里不错——手机淘宝,这个东西听起来就不像是一个会死的产品,后来我就加入手机淘宝,成为了手机淘宝前端负责人,正式进入前端领域。

    前端 Leader 的焦虑感:为什么没了你不行,有了你一定能有什么东西?

    在阿里有几个大的前端团队,我们这些大的前端团队的 Leader,其实内心的焦虑感是很强的——前端作为一个新生职能,怎么才能够像服务端、客户端一样,给团队找到核心价值?如果你的团队只是接需求、做需求,技术再好的人,最后也会变成一个“看摊儿”的人。



    这个里面有一定的必要性,就是说没了你不行;当然还要有一定的充分性,就是有了你就有了什么东西。所以说前端团队其实可以分成两条线,一条是对内的工程上面的一些操作和一些设施的建设,这样能够提升效率,你工程上做得越深越好,结构越合理,你最后的产出就越多,这个是针对必要性的;还有一条线就是充分性,我们做性能、做跟客户端的融合,这些能够给公司带来新的价值。

    工程思想在大公司萌芽,仅靠管理方法吃不开。

    其实相对于大公司来说,社区产生的还是一些工具的思想,工程的思想还是在大公司产生,主要是因为会有一个大型团队协作上的需求倒逼你一定要这么做,而社区其实是通过规则来保证团队协作的。


    靠规则建立协作,太慢,大公司是接受不了的,它一定需要强有力的推动。比如说我们今天用的东西版本太旧,是不是大家要统一升个级?如果我们用纯粹的管理方法,我写一封邮件要求大家都升级,不升级的今年没有奖金,这是管理的思想。但是其实我们工程团队还有更好的办法,干脆就是对你用的旧版本给你提示,甚至强行推荐你在网上下载最新版本。这个工程思想对于前端行业来说意义深远,但其实前端行业在这个上面已经有点太晚了。另外,未来伴随项目复杂性的提升,工程思想一定还会再进化,再去衍生出更多新的想法。

    全栈不是把别人的东西抢过来,而是把自己的东西赋能出去。

    工程之后,还有一块比较重要,就是全栈。其实全栈这个想法也是从社区逐渐渗透到公司里的,一开始大家对全栈的理解是很狭隘的,一些前端同学觉得现在有 Node.js,他们也能写服务端的东西。后来发现出现了不可调和的矛盾,尤其是在阿里这样的公司,服务端这么多年下来有很多很重要的基础设施,你去 Node.js 体系下再发展一遍,一是没有必要,二是没有资源,阿里有很多中间件团队,你不管怎么做,都不可能有他们的深度。


    另外这也是我当时犯的一个很基础的错误:前端本来就缺人,你把前端转成全栈去做服务端的事情,你前端更缺人了。后来发现逐渐有人探索出一条路:全栈不是说把自己的能力堆上去,而是你要把自己强势的东西给它赋能出去,让别人具有全栈的能力。


    我们就开始尝试着在这种类型的业务上面,把前端技术工作交给服务端同学去做。我们提供基础设施、组件、工具,又提供培训。一开始服务端的同学都不太高兴,说你们前端就是想偷懒,后来他们发现不对,这是好事情,以前我只能做一部分,我还得跟前端去做一些联调,现在我自己全都做了:一是业绩上好看,二是省去沟通成本,三是个人能力提升了。服务端同学越来越支持这件事,后来淘宝的中后台业务都转向了这种模式。


    而服务端同学也做了很多 API 平台,提供定制 API 的能力,其他部门不需要找服务端去开发新的接口,只需要少量的服务端同学参与。最后大家发现其实全栈不是把别人的东西抢过来,而是把自己的东西赋能、输出出去。其实在企业里面,不能永远是零和游戏(非合作博弈),但是这种赋能输出,是能够把零和变成正和(双赢)的。

    从前端到”钱“端:我并不把钱当做工作的目标,但是钱从来也没有亏待我。

    圈儿里很多人开玩笑说你们现在都是“钱“端了,因为挣钱多。实际上现在看一个同等水平的前端,他的价格还是略低于服务端的,不过前端最近可以说是涨得快,而且前端胜在竞争少。虽然前端基数大,但是实际上真正懂技术、会写代码的前端非常少。大部分前端就是市场上的前端,基本上是切个图,做一些机械性劳动,对于大企业来讲,是不要那种单纯只会去做机械性劳动的前端的。


    今天我们很多人其实是在尝试把“钱端”的天花板弄得再高一点。其实我更愿意这样看:其实 前端本身不是你的天花板,你的个人能力才是你的天花板。


    今天很多前端同学其实就是关注如何把设计师的设计稿变成一个用代码写出来的样子,那么你对业务的介入是浅的,你也就这样了。其实工程师应该做什么?从工程方面来讲,你怎么样能让更多的团队、更大规模的团队一起去协作?怎么样做出来更大规模的产品?其实还是需要我们把视角转一下——你能够真正以公司利益、以公司业务为导向,去思考你应该做什么,才能真正有晋升机会。


    过去十年对我个人来说,我工作就是两个目标,一个是自我个人成长,一个是自我价值的实现。在这个过程中它必然会产生收入,我并不把钱当做工作的目标,但是钱从来也没有亏待我。我过去的经历都是在大公司,从微软到盛大到阿里,一毕业,拿到的就是差不多国内最好的 offer,后边基本上每换一个工作,工资就涨 50%,工资是其次,说明其实成长是没有耽误的。


    当然 2018 年对我来说会是一个分界线,我希望把目标从自我成长切换到自我价值上来,我要去做教育这件事儿,能不能做成还不知道,但是我愿意去尝试。

    前端未来:没有什么东西是做不了的。

    如果让我来展望前端发展的话,我认为有两个方面不容忽视:


    一是 AI 与前端的结合,智能研发是我非常看好的领域。我们技术圈里有一个比较流行的观点:一切机械劳动最终都是可以被计算机替代的。


    另一个我比较看好的发展领域就是图形学。因为前端相对来说是一个在封装好的环境下去工作的一个代码环境,所以我认为前端未来应该会更下沉,跟图形学有更多的结合。今天我们前端还是有很多东西说我做不了,当你能够去从更底层去做的时候,就没有什么东西是你真正做不了的。我们就不会看到一个 C++ 的程序员说这个东西我做不了,因为理论上讲它可以操作计算机的所有部件,而且能以非常高的性能去做。

    前端很有意思,它充满着工程上面妥协的味道。


    说实话我觉得前端领域今天不完美和不满意的地方太多了。前端很有意思,它充满着工程上面的妥协的味道。你做技术总是希望尽善尽美,希望把每个细节都做到最好,但其实 前端是一个建立在标准之上的工作,标准本身又是工业化之后的一个妥协的产物,所以前端的 API 也好,语言也好,包括今天很流行的一些开源实践项目也好,里面有大量今天去看非常差的设计。



    这些比较遗憾的东西,将来始终会作为一个包袱让我们背负着前进,这是前端的一个无奈。我们为了一些事情去付出这样的代价,但是大家还是会尝试逐步去解决这些陈旧的问题,今天我们已经看到很多旧的问题不是说把旧的改掉,而是设计一些新的东西来逐步替代它,它是一个很漫长的过程。所以有人说前端程序员喜新厌旧,说前端同学追新追的很厉害,新框架基本上隔个 4、5 年就出一个新的工具,所以很多人抱怨学不过来了。


    虽然有很多不完美,但是前端也带来了很多新机遇。怎么说呢,这就是前端了。




    winter 老师还将担任 QCon 北京 2019《前端工程实践》专题的出品人,与大家探讨兼具大厂系统化设施和创业公司新方案的前端实践。部分精彩分享如下:


    • 阿里巴巴:设计生成代码的前端智能研发实践

    • 腾讯:基于 Service Worker 的高效灵活离线化工程之路

    • 百度:打造通用 MIS 平台,彻底释放前后端人力

    • 美团点评:Electron 在企业 IM 前端工程实践

    • Vue Technology LLC:AST 与前端框架的工程化



    点击链接了解 QCon 十周年特别策划。大会报名倒计时,有任何问题欢迎联系票务小姐姐 Ring,电话:13269076283,微信:qcon-0410



    2019-04-24 11:4810564
    用户头像
    二叉树视频 InfoQ旗下短视频品牌

    发布了 98 篇内容, 共 32.0 次阅读, 收获喜欢 184 次。

    关注

    评论 1 条评论

    发布
    用户头像
    学无止境
    2019-04-24 13:53
    回复
    没有更多了
    发现更多内容

    MySQL派生表合并优化的原理和实现

    华为云开发者联盟

    MySQL 数据库 华为云 华为云开发者联盟 企业号2024年7月PK榜

    1688跨境寻源通系统案例:rakumart日本市场1688代采集运系统搭建

    tbapi

    1688代采系统 1688代采 1688代购系统 1688寻源通 1688寻源通系统

    Go 语言专题之Sync.Mutex底层

    Go 互斥锁Mutex RWMutex

    优秀的程序员都有的十条特征,你中了几条?

    禅道项目管理

    项目管理 程序员 软件开发 项目管理软件

    文献解读-多组学-第十八期|《整合 WES 和 RNA-Seq 数据以进行短变异发现》

    INSVAST

    基因数据分析 生信服务

    蓝易云 - docker安装minio

    百度搜索:蓝易云

    Docker Linux 运维 Minio 云服务器

    蓝易云 - ubuntu安装指定版本:nodejs

    百度搜索:蓝易云

    云计算 ubuntu 运维 Node 云服务器

    fm足球经理Football Manager 2022 for mac 下载安装包

    你的猪会飞吗

    Mac游戏下载

    蓝易云 - ubuntu下cups部分场景

    百度搜索:蓝易云

    Linux unix ubuntu 云服务器 CUPS

    HBase 在统一内容平台业务的优化实践

    vivo互联网技术

    HBase 连接池预热 compact优化

    本周六!上海场新能源汽车数据基础设施专场 Meetup 来了

    Greptime 格睿科技

    数据库 大数据 开源 汽车 新能源

    阿里云人工智能平台PAI论文入选OSDI '24

    阿里云大数据AI技术

    人工智能 论文 大模型 大语言模型 OSDI

    彻底解决网络哈希冲突,百度百舸的高性能网络 HPN 落地实践

    百度Geek说

    网络 哈希 企业号2024年7月PK榜

    需求管理效率提升:2024年10款优质需求池管理工具全指南

    爱吃小舅的鱼

    需求管理 需求池管理

    INFINI Easysearch 尝鲜 Hands on

    极限实验室

    console easysearch 极限科技 征文系列

    Easysearch 数据可视化和管理平台:INFINI Console 使用介绍

    极限实验室

    console easysearch 极限科技

    火山引擎×威科:拥抱大模型,法律行业信息库建设再提效

    新消费日报

    特权账号管不好,“删库跑路”防不住

    芯盾时代

    iam 删库保护 特权账号管理

    乘用车1-5月销量同比增长7%,火山引擎数据飞轮能帮车企盘活下半年增长吗?

    字节跳动数据平台

    大数据 数字化转型 云服务 火山引擎 数据飞轮

    深入解析 MS404:基于 ERC404 标准的独特原生资产

    NFT Research

    NFT ERC404

    蓝易云 - HTTP/1.1协议中的八种请求

    百度搜索:蓝易云

    云计算 运维 Web HTTP 服务器租用

    揭秘”大模型加速器”如何助力大模型应用

    袁袁袁袁满

    人工智能

    “离职员工”试图打包资料带走,如何防止敏感数据外泄?

    极盾科技

    数据安全

    中国在GenAI应用方面位列全球第一!马斯克取消100亿美元Oracle服务器交易,准备自己整活!|AI日报

    可信AI进展

    人工智能

    公共安全和应急管理系统:提升社区韧性与危机应对能力

    天津汇柏科技有限公司

    安全 应急响应

    如何高效使用YashanDB PL语言?这5点建议值得收藏

    YashanDB

    数据库 数据库系统 yashandb 崖山数据库

    基于Rspack实现大仓应用构建提效实践|得物技术

    得物技术

    最佳实践 企业号2024年7月PK榜 Rspack 前端大仓

    携手并进 共创未来丨东软睿驰与中国移动上海产业研究院达成战略合作

    科技热闻

    观测云产品更新 | 视图变量、仪表板、监控通知对象、日志索引等

    观测云

    监控 日志

    好玩的卡牌游戏推荐:堆叠大陆 Stacklands(Win/Mac)中文版

    你的猪会飞吗

    Mac游戏推荐 Mac游戏分享

    winter眼中的前端十年:觉醒、全栈、包袱,未来无不可为_语言 & 开发_二叉树视频_InfoQ精选文章