您现在的位置:首页 » 红经验 » 最新动态

解读前端的2020:一直走在“变化”的路上

2020-12-29 10:41:25

提起前端,大多数人都在两种状态中来回切换,“学不动了”和“扶我起来”,因为前端领域的新东西实在太多了。相比于之前几年,今年前端领域的变化主要是来自两方面的催生,一方面是疫情的发生给企业带来了新的挑战,企业对于研发效率的迫切需求促进了前端工程化领域的发展,另一方面是前端领域开始进入技术深水区,在全栈和多端的影响下,前端需要进一步突破瓶颈。

回顾 2020 年,前端领域发生了哪些让人印象深刻的事情;展望 2021 年,前端领域又有哪些值得期待的新趋势。InfoQ 采访了腾讯前端技术专家 / 总监、IVWEB 团队负责人刘恒兵(河伯),苏宁消费者平台研发中心前端技术总监禹立彬,阿里云智能云原生中间件前端负责人寒斜,请他们分享观点、解读趋势。

1、2020 年即将过去,在今年大前端领域,您印象最深刻(或者认为最重要)的事情是什么?

河伯:回顾 2020,我印象比较深的有三件事:一是 TypeScript 的大范围普及,二是工程化的发展,三是全栈深水区。

相比于 2019 年,2020 年 TypeScript 已经深入人心了,各前端框架对 TypeScript 的支持进一步推动了 TypeScript 的应用和普及,语言层面的发展能非常快速的促进一个领域的发展,正如 Node.js 促进前端领域发展一样。

2020 年的疫情给整个社会带来的新的挑战,企业对于研发效率的迫切需求进一步促进了工程化领域的发展。以前工程化对于很多研发人员仅为了解或者认知仅限于工程构建。疫情期间的工程化已经演变为对企业效率的诉求,各个领域都需要工程化体系帮助远程办公、移动办公提升效率。

2020 年,大前端全栈逐渐进入深水区,不再是仅仅满足基本的 SSR/BFF 等诉求。对 Node.js 新的期待逐渐变多,承担更多的场景。中台化后统一的服务、网关都是需要 Node.js 去承担,因此带来的服务质量、容灾等各方面诉求就对 Node.js 提出了新的要求,全链路监控、Serverless 服务质量 / 性能等都需要进一步建设和完善。当然,这些挑战也会进一步促进 Node.js 的生态发展。

禹立彬:云开发的时代要到来了。2020 年年中作为评委参加了微信小程序大赛,其中大量参赛作品都使用了小程序云函数作为常用的小程序服务,例如登录注册、用户信息存储等功能。从比赛可以看出,对于不太复杂的应用,云开发已经完全可以满足业务需求,并且由于无需具备服务端知识,因此大大降低了前端程序员开发应用的技能要求,虽然云开发在性能上还有一些提升的空间,但是已经具备了落地的能力。

寒斜:我印象最深刻的是 Severless 从最初的概念设想到大规模落地,这些落地不仅仅是各个业务方应用到实践中,并产生了良好的成本和效率收益,也包括相关的配套工具开始慢慢完善。可以说今年是显而易见的 Serverless 元年。

2、在您对大前端领域趋势的预测中,今年与预期最相符的一个技术趋势是什么?最超乎您预期的一个技术趋势是什么?

河伯:前端领域的整体发展基本符合我之前所认知的发展方向,比较超乎预期的是工程化领域的开发需求和发展。当然这也得益于疫情的推动,在办公协同领域有急切的诉求,针对研发人员有打造移动办公、远程办公的工程化需求。围绕 git 建设云 IDE、云工程化是今年大家逐渐认识到的需要加大投入的一个点。

禹立彬:在我看来,与预期最相符的技术趋势是低代码平台,作为一家电商公司的前端团队,我们也遇到了很多业务上大致类似的需求,以往都是通过组件化 + 手工修改发布来开发,今年通过低代码平台的尝试,减少了前端程序员的工作量,达到了年初的预期。

最超乎预期的技术趋势:电商促销游戏的引擎化、3D 化。今年电商小游戏明显比以前要精致,玩法也更复杂,比如天猫双十一的养猫已经有了剧本和伪 3D,可以说电商小游戏已经向专业化靠拢,发展速度很快,超出了预计。

寒斜:在我看来,与预期最相符的技术趋势是跨端技术的进一步普及,越来越多的前端开发者技能延伸到更广的领域,不仅仅是停留在开发 web、h5、包括移动端、小程序、服务端、IOT 等都开始驾驭。

超乎预期的是 Serverless,犹记得去年刚开始有热度的时候,大家对这个概念还是比较陌生,甚至会有些轻微抵触。但今年再看的话,Severless 领域已经全面开花了,各大云厂商都在积极完善技术与生态,并且帮助其客户进行大规模的业务落地。

3、根据您的观察,2020 年企业的大前端实践中,哪些技术或工具得到了最广泛的落地?

河伯:如果从普及和广泛度来说,我觉得还是 TypeScript、Node.js,因为这应该是所有大前端团队都有涉及到的领域。未来的话,我期望在云 IDE、云工程化领域能够取得较大进展。另外,对于年初大家提及比较多的 WASM 也期望能获得性能上的突破,能够真正的在 Web、H5 等场景商用化落地。

禹立彬:我认为主要体现在三个方面:

小程序成为 APP hybrid 的主要方案。苏宁的 Hybrid 方案较多,H5+JSbridge、

Weex、React Native、小程序等都有涉及。2020 年,因为小程序性能较一般的 H5 好,并且苏宁在微信、百度、支付宝等平台也开发了小程序,因此,苏宁 App 在实现小程序运行环境之后,小程序成为了主要的 Hybrid 方案。

低代码平台提升研发效率,根据苏宁已使用的低代码 / 无代码平台情况看,运行情况良好,成本节约明显,以搭建促销会场为例,已经从从 4-5 人的团队降低到了 2 个人。

自建 IDE 对前端工程化的收益超出预期,2020 年,苏宁尝试了在前端内部使用 IDE 来集成前端开发环境,目前还处于早期阶段,由于 IDE 成熟度还不够,仅能做一些工程化的工作。未来将会在智能化代码提示、自动化测试等方面继续集成,发挥 IDE 更大的作用。

寒斜:说到“最广泛”的话,我觉得还是跨端技术。随着跨端技术的成熟,这是必然现象。工具侧,目前到时候没有看到比较大型的类似 VSCode 这样的产品诞生。另外,Serverless 本身的落地情况也是不错的,但我认为还没有达到最广泛这个词的描述范围,我觉得或许明年可以用这个词。

4、预测 2021 年的大前端领域,您认为最值得关注的技术趋势是什么?

河伯:在我看来,以下三个方向都很值得关注:

Node.js 全栈,当进入深水区之后,大家要研究的就是如何进一步突破瓶颈,包含当前遇到的 Serverless 性能(冷启动、并发)的挑战。

云工程化 (含 IDE),提升企业远程办公、移动办公效率。

智能研发,改变研发模式,对于业务基础的、通用的 UI 还原可以释放资源,让机器代替研发,提升效率。

禹立彬:2021 年最值得关注的技术趋势是云开发,毫无疑问通过 Serverless 等技术的应用,会改变前端开发生态。实际上由于 Node.js 的引入,前端开发已经普遍具备全栈化的能力,而门槛更多的是对服务器操作系统、中间件、网络设备等知识储备不足,云开发解决了这些问题后,前端领域会获得更多赋能和空间。但同时看到,云技术对中小企业来说,是很难自建的,会不会导致新的技术鸿沟,还要继续观察。

寒斜:2021 年我觉得最值得关注的是云原生。前端同学可能对这个词比较陌生,但是它的确跟我们将来的发展息息相关。云原生就好比是一个绝世武功,而前端目前只是一个江湖中等高手,如果能够将云原生运用自如就可以变成一个绝等高手,可以驾驭更多更复杂的业务需求。

Serverless 技术本身就是云原生技术的其中一个范畴,除此之外,可观测技术因其本身需要更多可视化的能力支持,对前端的要求很高,还有容器编排技术Kubernetes,倒不是说需要我们特别深入研究容器编排本身,而是借助他开发更多对公司有用的中台产品。举个例子,基于 webIDE 的领域研发平台技术是离不开容器编排的,单点的 WebIDE 只是个玩具,但一但搭配上 Kubernetes 可以演变成重塑前端研发的技术中台,对企业而言可以起到降本增效,沉淀数字资产的妙用,对前端个体而言增强业务生产力,锻炼深入的技术能力。还有,Iac(基础设施即代码) 现在也已经发展到可以让前端同学参与其中,这就意味着前端业务能力可以蔓延到云端基础设施,拥有了面向云的开发能力,总之也印证了那句,凡是可以用 JS 实现的都会用 JS 实现。

对于端侧技术,我个人并不关注其中的某个单点,而是会关注端云结合会产生的奇妙化学反应未来趋势一定是云和端的紧密结合。

5、您认为对于前端从业者来说,明年可能面临的最大挑战是什么?

河伯:前端从业者一直面临的挑战应该就是不断学习的能力,从历史来看,新的技术层出不穷,需要保持不断学习,那么明年或许一样,也会有新的技术诞生。对于我们自身来讲,保持客观的心态,认知每一个新的技术、领域的时候需要从问题着手去了解(解决了什么问题,对当前业务的帮助),然后合理应用。

针对全栈领域进入深水区后,需要提出更高的质量标准要求,搭建工具并抽象解耦复用,提升服务质量。

禹立彬:随着前端智能化的发展,低代码 / 无代码平台的崛起,传统的前端领域 ---- 切图、写简单效果的前端工程师岗位将会锐减,前端开发的主要工作方式会转换为制造工具,然后通过工具来支持业务,因此很多前端从业者会遇到转型问题,我个人觉得 2021 年,大家都需要更多的储备云知识、编译知识。

寒斜:随着云原生对后端能力的重塑,以往复杂的后端技术被打包成可用的能力给前端同学直接使用,意味着前端同学在业务职能上会得到加强。所以这个时候前端同学能不能接得住就是最大的挑战,你不去学习新的知识,掌握新的概念就很可能被淘汰。

另外我个人觉得,随着云原生收敛后端非业务性的技术难题(弹性,韧性,安全,可观测,灰度等),会有更多的后端同学专注业务开发,那么也会增大他们延展到前端的概率,所以也会形成一些竞争。

采访嘉宾

刘恒兵(河伯),腾讯前端技术专家 / 总监,IVWEB 团队负责人,行业技术大会 TLC 发起人。2011 年加入腾讯,NOW 直播、QQ 群课堂、腾讯看点直播等移动直播产品技术负责人,负责整体架构设计和开发。有着多年 Web & H5 移动开发经验,对移动监控和优化有深入研究并专注于全栈技术架构优化,推动组件生态,致力于打造高复用、高效率的全栈开发体系。同时,IVWEB 团队是腾讯专业前端团队之一,培养多位行业讲师和技术专家,团队致力于新技术研究及行业交流分享。

禹立彬,苏宁消费者平台研发中心前端技术总监,历任西祠胡同前端负责人、途牛旅游网前端架构师等职务。现负责苏宁易购网站前端领域的技术管理工作。在基于 Node.js 的前后端分离,ReactNative/Weex 开发有丰富的技术实践经历。

寒斜,阿里云智能云原生中间件前端负责人, 16 年加入阿里中间件从事云产品企业控制台研发工作,目前带队负责中间件 20 多款云产品的前端研发工作,主要技术栈为大前端通用技术包括 Node.js、TypeScript、React 、 Electron、ReactNative 等对前端研发效能提升,前端数字化体验管理体系建设有多年的实践经验,目前专注在 Serverless 开发者工具链的建设,是云原生 Serverless Dev Tools 研发负责人之一。