modern.js 是字节跳动的开源项目,解决的是提高字节内部巨量app 的发能力和app 群的维护问题 详情
我最关心的3个问题:
- 实践效果怎样?他们自己内部都没大范围使用,只提到了一些代号Goofy,Jupiter
- 解决思路是怎样
- 对自己公司的价值有哪些
实践效果
- 几个月后,看他们有没有新消息。但隔壁家阿里的天猪 猜想,估计是内部推广有压力,所以就推到开源社区去搞了
- 现在的情况是明显的,就是个半成品。文档没完善。github 上issues 和PR 都很少,issues还有很多初始化失败的问题,可见推广出来的时候有多长促。
- 大而不全,小白较难入手(文档不全,适配后端等工作繁琐),大厂无意帮忙(大厂有自己的一套)
解决思路
总的来说,就是开发一个开发app 用的app。
- 统一规范=>收敛技术碎片=>组合出最佳实践
- (将来在公司内部落地,适配公司内部的硬件资源后),严重向DX 倾斜,提供一站式开发,测试,部署。
- 支持多target 的输出和切换
- 项目,模块都可以复用
在解决思路和现有条件下,modern.js 是一个脚手架
对公司的价值
-
字节的最佳实践组合
- react(因为靠山的技术一直引领市场,生态大)
- electron
- serverless
-
对于连基建都没搞好的公司来说,比起提高devops 开发效能,应该先搞好基建:统一规范,收敛开发工具,整合工程方案更靠谱,甚至可以说是必经环节
-
modernjs 使用了哪些值得留意的新技术
- pnpm 优化项目依赖,空间省掉几个G
- monorepo 整合business 的多个项目在一起。但不方便设置独立权限
- Vercel 整合SSR/SSG/CSR,自动优化部署
- unicloud 多端输出,依赖serverless
- storybook 可视化组件开发,避免重复开发,追踪组件去向和质量
-
学了一些非常高大上的新词 参考
- 一个Web框架 -> 客户端为中心的 Web 框架
- JS技术栈 -> JS 为中心、FP 优先的 GUI 软件研发技术栈
- IDE自动提示 -> 智能化
- 客户端兼容性 -> DX 和 UX 同时最大化
- 开箱即用 -> 对 Web 应用开发的充分抽象
- 提供切换输出目标的自动化操作 -> 三位一体 参考
- SSG -> 动静一体
参考: