9

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

 2 years ago
source link: https://www.cnblogs.com/ClientInfra/p/15470727.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

字节跳动Web Infra发起 Modern.js 开源项目,打造现代 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 应用软件研发体系,让前端技术栈的开发者们能够‘责任越大,能力越强’。”

Modern.js 官网:https://modernjs.dev/
Github 地址:https://github.com/modern-js-dev/modern.js


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK