2022 年大前端总结来了,我们能抓住什么?
低代码、WebAssembly、小程序、跨端、PWA、Flutter、Dart、RN、Vue、Angular…… 这些技术越来越火。IT 技术发展日新月异,在前端领域更是如此。框架、库、工具的选择越来越广泛,今年流行的框架,也许在明年就会被另一种取代。尽管如此,我们还是要尝试总结一下 2022 年大前端领域的发展情况,以期能够抓住些什么。
JavaScript Container
淘宝高级技术专家九十认为,过去一二十年,将 Javascript 跑在服务端的方式一直都存在,比如 Node.js、ASP 等。但近年来,这种将标准 Web API 规范跑在服务器上,进而实现 JavaScript Workload 的云边端同构的技术方案,被提炼成了一个新概念 ——JavaScript Container 或者说 W3C Web-interoperable Runtime 的在线运行时。目前,很多厂商都参与在其中,比如国内的阿里、字节,海外的 Cloudflare、Shopify、Vercel。
在标准与具体实现方面,JavaScript Container 已经取得了不小的进展。目前有 W3C WinterCG 来进行一些标准的协同,基本上还是以 Service Worker API 为基础的一些扩展。而符合该标准的实现也比较多了,比如 Cloudflare Workers、EdgeRoutine、Deno、Noslate Workers 等等,Node.js 也对该标准在持续跟踪。另一方面,Next.js 13、Midway 这些上层研发框架,也已经开始兼容这一标准的运行环境。
WebAssembly
Second State 创始人,CNCF WasmEdge 维护者 Michael Yuan 认为,2022 年是云原生 WebAssembly (Wasm)工具链逐渐成熟的一年,也是 Wasm 的云原生应用逐渐走向主流的一年。在浏览器端,W3C 发布了 WebAssembly 核心规范 2.0 的首个草案,讨论了 Core Specification 、JavaScript Interface、Web API,为其在浏览器的应用指明了方向。
此外,Wasm 解锁、丰富了几个重要的云原生应用场景:
在微服务方面,Wasm 为其提供了轻量级、安全、高性能的运行环境。例如,wasmCloud 与 Adobe 合作部署了基于 Wasm 的安全微服务;基于 WasmEdge 的微服务也能够直接使用 Dapr 集成的几百种服务。
在数据流函数方面,作为一个轻量级、可嵌入的 runtime, Wasm 在数据库 UDF 和数据流的 ETL 方面有落地应用场景。例如 SingleStore 与 Nebula Graph 使用 Wasm 在数据库执行 UDF; InfinyOn 与 Redpanda 使用 Wasm 在实时数据流中处理数据。
在 PaaS serverless 函数方面,Wasm 非常适合执行轻量级,需要快速冷启动扩容的 serverless 函数。 Fermyon、Cosmonic 以及 Fastly 都基于 Wasm 推出了类似 AWS Lambda 的 Serverless 平台。
在 SaaS serverless 函数方面, Wasm 可以赋能 SaaS 平台支持用户上传的代码。这些代码是由 SaaS 事件触发的,以取代复杂、慢且难用的 webhook APIs。Suborbital 推出了基于 Wasm 构建 SaaS 扩展的框架。而 Flows.network 是一个用 Wasm serverless 函数来连接 SaaS 的工具。
WEB GPU
Cocos 引擎技术总监凌华彬认为,Web 一直是最开放和易于传播的平台,而今天游戏、元宇宙等数字内容非常依赖 Web 平台的各种特性,但是 Web 环境中还没有跟上 DirectX12、Vulkan、Metal 等现代图形接口的变革。这一现状随着 WebGPU 标准的逐步完善,即将得到改变。这会给 Web 端带来非常振奋人心的未来可能性。
WebGPU 是由 W3C GPU for the Web 社区组所发布的规范,目标是允许网页代码以高性能且安全可靠的方式访问 GPU 功能。WebGPU 是一套为浏览器设计的次时代图形 API 标准,为了弥合各个平台图形 API 的差异性,它对 DirectX12、Vulkan、Metal 进行了融合和封装。借助 WebGPU,可以充分释放现代 GPU 硬件的强大能力,让开发者可以用 TS/JS 在 Web 端也开发媲美原生表现力的场景,实现更大型更复杂的 3D 场景表现,甚至使用现代 GPU 的通用计算能力完成之前无法想像的复杂计算任务。
架构模式
《前端架构:从入门到微前端》作者、Thoughtworks 技术专家黄峰达(Phodal)表示,与多年前相比,微前端及类微前端模式已经灵活多变。当前主要有四种模式:
微内核模式,即胖 vendor + 插件式的瘦组件。
标准微前端模式,基于定制的底座,以使各个应用、组件完全独立。
混合模式,即介于微内核与微服务化模式,诸如半嵌入的微内核模式。
无组件模式,诸如基于 Web Components、Islands 架构模式构建丰富的组件集。
此外,SDUI 、Islands 等架构模式正在成为越来越多开发者的选择。在 SDUI 架构下,服务器返回的数据(JSON)会包含页面的组件信息、布局以及数据类型等等,前端则根据这些信息来渲染 UI。从模式上来说,它与我们现今构建的低代码模式极为类似,围绕生成的 JSON 生成组件等的信息。相比之下,只是产出的结果和过程数据略有差异。Islands 架构(孤岛架构)鼓励在服务器呈现的网页中使用小的、集中的交互块。Islands 的输出是渐进式增强的 HTML,更具体地说明了增强是如何发生的。这两种模式依赖服务器来动态生成,还存在依赖 CDN 的动态生成模式。
那么,除了上面提到的这些,我们还能看到什么?
2023 年 5 月 28 日,GOTC 2023“大前端新趋势”分论坛将邀请国内外在大前端领域有深入研究的公司与专家,聚焦大前端前沿开源相关技术及实践经验,让技术更好地为业界服务。
全球开源技术峰会(Global Open-source Technology Conference),简称 GOTC,是由上海浦东软件园、开放原子开源基金会、Linux基金会亚太区和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。5月27日至28日,GOTC 2023将于上海举办为期2天的开源行业盛会。大会将以行业展览、主题发言、特别论坛、分论坛的形式展现,与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及开源社区、AIGC、汽车软件、开源商业化、开源教育培训、云原生等热门话题,探讨开源未来,助力开源发展。
GOTC 2023 由一个主论坛、十五个分论坛组成,在线下举办的同时,还将在线上直播。GOTC 2023报名通道现已开启,诚邀全球各技术领域开源爱好者共襄盛举!
中企视讯公众号