At the Rare Earth Developers Conference held on October 27, Bytedance Web Infra officially launched the modern.js open source project, hoping to promote the popularization of Modern Web development paradigm, develop a complete Modern Web engineering system, and break the bottleneck of application development efficiency.

The traditional Web development paradigm is “server-side as the center”. In recent years, more and more Web development paradigm has been transferred to the modern “client-side as the center”, the development threshold is constantly lowered, and the efficiency is constantly improved. Product development can focus less on the underlying technical details and more on user needs and market value. However, the traditional front-end technology stack is difficult to solve the contradiction between “developer experience” and “user experience”, and becomes the bottleneck of improving efficiency.

Bytedance’s Web Infra has been supporting the practice of “Modern Web development” within Bytes, developing a complete system of byte front-end development, from which the Modern. Js project comes.

Modern.js converges a large number of front-end engineering templates into three engineering types: application, module and Monorepo. Each type requires only the same set of templates and engineering solutions. Among them, “Application” project is also called “MWA” (modern Web application), based on a client-centered, front-end and back-end integrated application development framework, to achieve a powerful “Universal App” mode. That is, a set of application source code, can run at the same time in the client, server, compile time, can be static Web (SPA, MPA, SSG), dynamic Web (SSR, SPR), micro front-end, desktop applications, small programs and other different modes of operation, It also supports low-threshold, full-featured, all-in-one BFF (server-side API for a specific interface) development.

“MWA” is Serverless first, built-in product-grade Web Server. It can be as “serverless” as possible in development, debugging, deployment, operation and other links, while ensuring “developer experience” and “user experience”, so that more “front-end developers” become independent and comprehensive “application developers” and “product developers”. Modern. Js also supports native development scenarios such as micro front end, Electron desktop application, and Monorepo.

Modern.js was designed to be ESM first from the start, and will work better with “compile-time” for Unbundled development, non-JS compilers and other third-generation JS tools. In the “Runtime” aspect, Modern.js provides an out-of-the-box application architecture, providing a Runtime API library that can be used seamlessly in both the “application” and “module” projects. In the “write time” section, Modern.js encourages intelligent programming that allows machines to generate source code whenever possible. “We hope that the Modern.js project will help the industry to develop a mature GUI application development system based on front-end technology faster and better, and enable developers of front-end technology stack to ‘become more responsible, more capable’,” said ByteDance’s Web Infra director.

Modern.js official website: modernjs.dev/

Github address: github.com/modern-js-d…