2022 国内公司前端团队都在搞些什么?
谢邀!
2022 国内公司前端团队都在搞些什么?这个问题是一个很宏观的问题,需要根据目前国内各个大厂在一直推进的 已有技术项目的投入、 行业需求的技术前瞻以及 新标准新技术的孵化几个方面来进行分析。
前端从单纯的还原页面到打造极致体验,从实现页面到实现服务,随着业务需求和技术的发展一直围绕着几个目标逐渐靠近,降本提效、交互创新、工程能力、跨端兼容、智能化、用户体验等都在快速的发生着变化,从内卷到外卷,再到互卷,这也导致前端研发人员哪怕是架构师也要一直持续的关注和学习行业的新技术新能力新变化保持自身适应快速的发展。
知过去,致未来。
2021年国内大厂前端都在做什么?
从GMTC2021年的前端技术大会举办情况可以发现,JavaScript设计的艺术仍在权衡与进化,用户体验仍然面对困境与寻求破局,寻求跨端解决兼容性技术何去何从仍在探讨实践,前端智能化仍然是个比较时髦的词汇,业务与技术仍然在平衡与取舍。聚焦2021年的前沿技术及实践经验,各个大厂主要还是在做几个方面的事情。
大前端智能监控
由于每个用户的 Runtime 不一样,大前端要做好监控面临着较大挑战。而大前端特有的多端适配,多端逻辑统一,对质量提出更高要求。监控系统作为观测业务的窗口,对于业务稳定性而言至关重要,加入机器学习,可以辅助发现人的盲点,提升运维效率。而智能故障发现、故障定位、故障自愈等都依赖稳定、可靠、智能的监控系统。但目前离实现真正的智能监控乃至智能运维还有很长的一段路要走。腾讯的QAPM Flutter智能监控体系、快手用户体验稳定性智能保障、华为云前端内容质量智能监控都是大前端智能监控很好的经验。
大前端跨端技术
跨端技术核心在于研发效率和性能体验之间的平衡与突破,移动互联网诞生至今,跨端技术层出不穷,百花齐放,仍没有出现终极解决方案。Hybrid跨端方案、工程实践、容器框架、自渲染、平台体系等不同跨端技术的特点与未来趋势都在迭代丰富。字节跳动自研了 Lynx 高性能跨端框架,旨在解决跨端技术框架遇到的性能、用户体验、研发体验等问题。
Taro 通过不断迭代,一步一步突破能力的边界,从兼容多种小程序到外延发展,Taro 3 支持使用 React Native 开发 App 的方案,由58同城与京东凹凸实验室合作完成,于 2021 年 4 月发布正式版本,旨在帮助前端工程师快速构建 App,或将现有的小程序业务迁移到独立的App中。
Flutter 2也于2021年发布,正式支持了 Web 和桌面端,使其从移动端框架拓展成了全平台框架。SenseMARS 是商汤原创领先业界的混合现实平台,它深度融合了 AI+AR 相关技术,可以在多种系统平台和终端设备上,实现具有沉浸式的虚实融合视觉效果和互动体验,也分享了 WebAssembly 在 AR+AI 新形态下在大前端的应用。美团的flutter 动态化方案依然在探索中实践。
前沿渲染技术
图形从平面到 3D 趋向复杂化,比如现在的一些 App 里面甚至需要 3D 或者是更复杂的渲染效果,渲染技术面临的挑战也越来越大。当前,端侧渲染技术最有代表性的当属游戏领域的渲染引擎,比如 Unity 和虚幻,对于非游戏行业,大多选择自研业务渲染器。另一边的 Web 侧,则主要在关注 WebGL、WebGPU 的发展。
阿里巴巴U4 内核如何在 Chromium/Android WebView 渲染流水线基础上进行大幅度优化改造来进一步提升渲染性能,降低内存占用和提升整体稳定性。桌面端无数接近电影画质的 AAA 机游戏大作层出不穷,但每一个都是网页无法企及的;网页端 JavaScript 发展迅猛,几大前端框架轮番上演好戏,WebAssembly 大放异彩;只有 WebGL 弱小无助,甚至直到今年苹果才开始支持 WebGL 2.0,但是WebGPU 替代 WebGL 成为未来的网页图形技术已经是不可改变的事实。
对前端技术中比较特殊又极其重要的一个分支——游戏前端来说,游戏引擎是至关重要的行业基础设施,承担着画面渲染、交互、平台适配、内容生产等至关重要的职能,Cocos 作为国内用户广泛、普适性很强的通用商业引擎,有着非常深厚的技术积累,尤其是在今年发布了 Cocos Creator 3.0 之后,正式支持完整的 3D 图形渲染和内容制作能力。
前端智能化
提起前端智能化,脑子里冒出来的几乎都是 D2C、P2C 这样的解决方案,辅之以 AI 相关的能力。前端智能化究竟在具体的使用场景中创造了什么样的价值?如何实现从产品设计到产品发布的全链路智能化?除了老生常谈的智能布局和组件识别等跟 UI 自动化相关的智能化方案,我们还能再做些什么?阿里巴巴分享了ToB 业务场景下中后台智能化开发体验与实践,转转智能代码平台神笔马良的研发与实践,都在解决支持业务的轻量 H5 页面的开发耗费大量时间和人力的棘手问题。
前端框架
经历了两年多的开发,Vue 3.0终于在2020年9月18日发布。2021年很多团队抱着尝鲜的想法用Vue 3及其生态编写自己的项目。
大前端安全
在涉及到第三方代码执行及人机识别的产品场景中,通过使用 WebAssembly 编译成熟的 JavaScript 引擎实现运行相关代码是常规的手段。但由于浏览器中 JavaScript 引擎和 WebAssembly 引擎是独立且分离的,因此此种方案在两者通信的过程中常常会给予攻击者破解业务逻辑的机会,从而造成业务的数字资产损失,我们亟待需要使用新的方案来解决此类问题,由此 sablejs 应运而生。
DOM-XSS 作为一种经典漏洞,手工挖掘起来并没有什么难度,但随着前端安全防护技术的日益成熟,代码的混淆、压缩,各种前端框架层出不穷,导致漏洞挖掘的难度也逐渐增大。CodeQL 的诞生就是为了帮助许多白帽子解决这方面的问题。
研发效能提升
Webapck 构建慢是前端的大痛点,很多开发同学深受其害,不仅消耗了时间,还影响研发的心流,因为改一行代码需要过几秒乃至十几二十秒才能看到,vue也推出了自己的vite构建方案。Serverless也在赋能大前端研发效率。
性能提升
最容易让人产生共鸣的往往是网站的性能问题,比如网站的访问交互速度。如何发现性能问题?性能如何优化(性能优化的常规方法和框架方法)?如何衡量收益?加载速度优化、渲染性能优化和网络优化方案层出不强,HTTP3还在继续酝酿。CSR、SSR、NSR、ESR、hybrid离线包、Big pipe、app cache等各家都有各家的尝试。
低代码架构设计与实现
近一两年“低代码”的概念异常火爆,每次技术大会上都有低代码的身影,在降本提效需求的驱动下,低代码平台百花齐放。而其中,在企业级中后台领域、运营活动搭建领域和多终端应用生成领域,低代码技术已进入深水区。如组件加载与嵌套机制、页面容器渲染、实时预览、插件化架构、跨端生成、自然布局、高低代码混合开发等都在进入实践阶段,比如华为云 在进行多技术栈及高低代码混合开发,阿里低代码引擎和生态建设如火如荼,京东也在建设面向营销业务的低代码平台。
2022年国内大厂前端都在做什么?
已有技术项目的依然会继续地投入、行业需求的技术前瞻以及新标准新技术的孵化,相信元宇宙概念的出现会让前端在渲染上有着非常重要的突破。
图形渲染创新技术
Web3D/AR/VR等前端图形技术一线大厂前端技术的发展,一直催动着整个交互体验前进的步伐,用户对于前端交互技术越来越关注。AR、VR、WebGL等领域开始进入发热期,这也是元宇宙的基础(尽管我不看好它)。小游戏在市场上一直像过山车一样,但无疑它是最低成本高营收的行当。
大前端跨端兼容技术
以前端技术为核心的开发方式,在移动端越来越成为主流方式,在开发成本会继续降低。比如flutter和react native的生态和方案会日趋成熟。开发与推广一个原生App的成本越来越高,越来越难。小程序生态会继续的崛起,跨端小程序开发会保持火热。目前腾讯、阿里、滴滴、美团、支付宝、字节全系列等企业都已经完成了小程序架构的建设。这也就意味着未来几年,会有更多的应用会以此形式野蛮发展。而企业想要提升自己的核心竞争力,必然会注重前端技术的发展。
PC桌面端入侵深入,特别在B端。以NW.js和Electron为代表的前端技术的出现,意味着前端技术现在也出现在的桌面端中了。与其寻找原生Win或Mac程序员相比,前端人员显然更好找。阿里云盘、飞书、vscode(专业级)、Slack等都是基于前端PC技术Electron开发的。
低代码能够一定程度上缓解开发投入问题,细分领域逐渐被充实,仍然保持高速发展。
这几年全栈工程师被炒的非常火热,而发展最快的所属Web前端转全栈,因为前端的基础语言是JavaScript,而后端Node的基础也是JS语言,这就为前端研发人员创造了得天独厚的优势,常用的框架express和koa还有就是eggjs依然会推出新版本,想Umi这样的方案也会越来越好用。不过Node永远不会取代后端主流语言,至少现在不会。
现在我们已经完全进入了云服务时代,与过往不同,云厂商提供了各式各样的云基础设施,再往后我们进入了Serveless的时代,也就是无服务。无服务并不是真的没有服务,而是服务由云服务商提供,你只需要关注业务即可。而与Serveless相伴而来的则是FaaS,也就是函数即服务。不管是Serveless或是FaaS,NodeJS以及JS等前端技术是最合适的技术,特别是NodeJS的冷启动时间在毫秒级,远优于JVM秒级的水准,而对于Serveless来说,按需启动与停止这个点对于冷启动时间有非常高的要求。在这一点上,虽然有一些争论认为JVM也适合Serveless技术,但从启动时间上来说,无疑是NodeJS更甚一筹。
综上,技术源于需求,行业发展的方向必将会产生众多新的需求和问题,这些问题背后的需求将会推动技术的发展。 已有技术项目的会继续投入、 行业需求的技术前瞻以及 新标准新技术的孵化催化新的方案。
知过去,致未来。
欢迎关注或者转载!