DH3G游戏资讯网

字节跳动 Web Infra 发起 Modern.js 开源项目,发展现代 Web 工程体系

发表于:2024-05-02 作者:创始人
编辑最后更新 2024年05月02日,10月27日举办的稀土开发者大会上,字节跳动Web Infra正式发起Modern.js开源项目,希望推动现代Web开发范式的普及,发展完整的现代Web工程体系,突破应用开发效率的瓶颈。传统的Web开

10月27日举办的稀土开发者大会上,字节跳动Web Infra正式发起Modern.js开源项目,希望推动现代Web开发范式的普及,发展完整的现代Web工程体系,突破应用开发效率的瓶颈。

传统的Web开发是"服务器端为中心"的开发范式,近年来,已经越来越多的转移到"客户端为中心"的现代Web开发范式,开发门槛不断降低,效率不断提升。产品研发可以更少的关注底层技术细节,更专注在用户需求和市场价值上。而传统的前端技术栈难以解决"开发者体验"和"用户体验"的矛盾,越来越成为提效的瓶颈。

字节跳动Web Infra一直在字节内部支持"现代Web开发"的实践,发展了完整的字节前端研发体系,Modern.js项目就是来自其中的现代Web工程体系。

Modern.js将以往海量的前端工程模板,收敛成三大工程类型:应用、模块、Monorepo,每种类型都只需要同一套模板、同一套工程方案。其中"应用"工程方案又被称作"MWA"(现代Web应用),基于一套客户端为中心、前后端一体化的应用开发框架,实现了强大的"Universal App"模式。即一套应用源代码,能同时在客户端、服务器端、编译时里运行,能以静态Web(SPA、MPA、SSG)、动态Web(SSR、SPR)、微前端、桌面应用、小程序等不同模式运行,同时支持低门槛、全功能、一体化的BFF(针对特定界面的服务器端API)开发。

"MWA"是Serverless优先的,内置产品级Web Server。它能在开发、调试、部署、运行等所有环节做到尽可能"无服务器化",同时确保"开发者体验"和"用户体验",让更多"前端开发者"成为独立、全面的"应用开发者"和"产品开发者"。Modern.js也原生支持微前端、Electron桌面应用、Monorepo等研发场景。

Modern.js从最初就设计为ESM优先,在"编译时"环节能更好的支持Unbundled开发、非JS语言的编译器等第三代JS工具的发展。在"运行时"环节,Modern.js提供开箱即用的应用架构,提供在"应用"工程方案、"模块"工程方案里都能无缝使用的Runtime API标准库。在"编写时"环节,Modern.js鼓励尽可能让机器来生成源码的智能编程。

字节跳动Web Infra负责人表示:"希望Modern.js项目能帮助业界更快更好的发展基于前端技术的成熟GUI应用软件研发体系,让前端技术栈的开发者们能够'责任越大,能力越强'。"

2022-05-06 13:43:48
0