跳至内容

路线图

描述了 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 实现
  • 在 Meteor 服务器端启用顶层等待 (TLA)(PR
  • 支持 Reify 上的顶层等待 (TLA)
  • 从 Meteor 公共 API 中移除 Fibers 依赖项
  • 完全移除 Fibers
  • 将 Cordova 集成更新到 Meteor 3.0
  • 在 Node.js v20 上运行 Meteor
  • 将 Web 引擎从 Connect 更改为 Express

有关更多已完成的项目,请参阅我们的 变更日志