路线图
描述了 Meteor 项目在近期到中期未来的高级功能和行动。
简介
上次更新:2024 年 8 月 22 日。
许多项目的描述包含来自 Meteor 社区成员的句子和想法。
鼓励贡献者将精力集中在与路线图一致的工作上,然后我们可以在这些领域一起工作。
与任何路线图一样,这是一个动态文档,它将随着优先级和依赖项的变化而发展。
如果您有新的功能请求或想法,您应该打开一个新的 讨论。
下一个版本
- 改进 Meteor 和包的 TypeScript 支持(讨论)
应该持续努力改进 Meteor 和包中的 TypeScript 支持,当我们用 TypeScript 编写新代码并获得更多经验时,它应该会自然地得到改进。这并不意味着我们会积极重构有效的代码。
- Meteor 3.0 的性能改进
在移除 Fibers 后,我们变得严重依赖异步资源,因此也依赖 Async Hooks/Async Local Storage,这会带来性能成本,我们需要对此进行优化。
- 将社区包引入核心
一些包被广泛使用,应该成为核心的一部分,这涉及识别并将其移至核心。
- MongoDB Change Streams 支持(讨论)
Change Streams 是监听 MongoDB 中更改的官方方式。我们应该提供一种在 Meteor 中无缝使用它的方法。它已经计划了很长时间,现在我们处于可以实现它的位置。
- 对 Vite 的集成支持(客户端打包器,讨论)
Vite 是一款快速且现代化的客户端打包器,拥有令人惊叹的生态系统。它对 Meteor 具有许多潜在的好处:构建性能、Tree-shaking、使我们的代码库更精简,以及专注于我们最擅长的领域。
- 用 ESBuild、Rollup、SWC 或其他工具替换 Babel 用于服务器包(讨论)
Babel 是一款很棒的工具,但它速度很慢并且有一些限制;我们应该考虑用更快速、更现代化的工具替换它来构建服务器包。我们可能可以使用 Vite 使用的相同工具。
- 支持 package.json exports 字段(讨论)
- Tree-shaking
Tree-shaking 和 exports 字段可以通过与更现代化的构建工具集成来实现,请参阅前面的项目。
- 改进发布 CI/CD 速度和可靠性(优化的构建时间将有所帮助)
有时我们的 CI/CD 运行时间过长,导致长时间排队和发布流程以及反馈循环延迟,我们需要改进这一点。
- 改进对 Windows 11 的支持
我们过去收到过很多抱怨,我们需要进行研究并进行架构改进,以便更容易支持 Windows,而不仅仅是临时的修复。
- 使用 WSL 更好地记录 Windows
使用 WSL 在 Windows 上使用 Meteor 已经成为可能,但我们需要更好地记录它
- HTTP/3 支持
HTTP/3 是 HTTP 协议的下一个版本。我们应该在 Meteor 中支持它,以利用其性能和安全优势。
候选项目
我们需要进一步讨论以决定是否继续进行这些实施。
- 改进 DDP 客户端
- 改进无密码包(讨论)
- 与 Tauri 集成,它可能会在一个工具中替换 Cordova 和 Electron
- 支持使用 CapacitorJS 构建移动应用
- 将 Redis-oplog 引入核心(存储库)
- 通过 DDP 提供更好的文件上传支持(讨论)
已完成的项目
- 更改 Meteor 执行异步代码的方式(讨论)
- 在需要 Fibers 的地方提供新的异步 API
- 带有异步 API 的 Mongo 包(PR)
- 为账户和核心包提供异步版本
- 调整 Meteor Promise 实现
- 在需要 Fibers 的地方提供新的异步 API
- 在 Meteor 服务器端启用顶层等待 (TLA)(PR)
- 支持 Reify 上的顶层等待 (TLA)
- 从 Meteor 公共 API 中移除 Fibers 依赖项
- 完全移除 Fibers
- 将 Cordova 集成更新到 Meteor 3.0
- 在 Node.js v20 上运行 Meteor
- 将 Web 引擎从 Connect 更改为 Express
有关更多已完成的项目,请参阅我们的 变更日志。