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-…