字节跳动 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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
在被线上大量日志输出导致性能瓶颈毒打了很多次之后总结出的经验
由于线上业务量级比较大(日请求上亿,日活用户几十万),同时业务涉及逻辑很复杂,线上日志级别我们采用的是 info 级别,导致线上日志量非常庞大,经常遇到因为日志写入太慢导致的性能瓶颈(各微服务每小时日志量加在一起约小 1000G)。下面将我们做的日志性能提升与精简日志的规范列出,供大家参考。我们使用的日志框架是 Log4j2 1. 使用 Log4j2 异步日志 首先,推荐日志量大的时候,采用异步日志进行日志输出。好处是在 RingBuffer 满之前,调用日志 api 打印日志的时候不会阻塞。坏处是增加日志丢失的可能性,例如在进程异常退出的时候(例如 kill -9),在 RingBuffer 中的还没输出到文件的日志事件就会丢失。 这里简单说一下 Log4j2 异步日志的原理:Log4j2 异步日志基于高性能数据结构 Disruptor,Disruptor 是一个环形 buffer,做了很多性能优化(具体原理可以参考我的另一系列:高并发数据结构(disruptor)),Log4j2 对此的应用如下所示: 简单来说,多线程通过 log4j2 的门面类 org.apache.loggin...
- 下一篇
BootStack 时隔两年重启维护工作
@ALL 大家好,我是 BootStack 软件的发起者;时隔 2 年与大家在此次相遇,我们将于 2021 年 11 月份开始重启对 BootStackr 软件的维护工作。欢迎大家进行源码的贡献,以及对我们的支持,帮助我们完善 BootStack 的社区。经过我们的一些调整,BootStack 更新如下: 官网站点: 官网 官方社区: 社区 从SpringStack组织迁移到EdurtIO 移出Incubator标志构建为正式Release版本 官网更新为mkdocs 同时我们也将重启其他项目的维护工作,感谢大家的支持!!! BootStackt软件源码地址: Gitee GitHub
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果