Skip to content

(有关跨浏览器和版本支持的功能的详细信息,请查看 caniuse.com。)

¥Roadmap

描述 Meteor 项目在近期至中期内的高级功能和操作。

¥Describes the high-level features and actions for the Meteor project in the near-to-medium term future.

简介

¥Introduction

最后更新:2024 年 8 月 22 日。

¥Last updated: August 22nd, 2024.

许多项目的描述包括来自 Meteor 社区成员的句子和想法。

¥The description of many items includes sentences and ideas from Meteor community members.

鼓励贡献者将精力集中在符合路线图的工作上,然后我们可以在这些字段合作。

¥Contributors are encouraged to focus their efforts on work that aligns with the roadmap then we can work together in these areas.

与任何路线图一样,这是一个动态文档,将随着优先级和依赖的变化而发展。

¥As with any roadmap, this is a living document that will evolve as priorities and dependencies shift.

如果你有新的功能请求或想法,你应该打开一个新的 discussion

¥If you have new feature requests or ideas, you should open a new discussion.

下一个版本

¥Next releases

  • 改进对 Meteor 和软件包的 TypeScript 支持(讨论

    ¥Improve TypeScript support for Meteor and packages (Discussion)

应该不断努力改进 Meteor 和包中的 TypeScript 支持,随着我们在 TypeScript 中编写新代码并获得更多收益,它自然会得到改善。这并不意味着我们将主动重构工作代码。

¥Should be an ongoing effort to improve the TypeScript support in Meteor and packages, as we write new code in TypeScript and get more skin in the game, it should naturally improve. This doesn’t mean we will actively refactor working code.

  • Meteor 3.0 的性能改进

    ¥Performance improvements for Meteor 3.0

删除光纤后,我们变得严重依赖异步资源,因此需要优化异步钩子/异步本地存储,这会影响性能。

¥After removing fibers, we became heavily reliant on async resources and consequently Async Hooks/Async Local Storage, which has a performance cost, we need to optimize that.

  • 将社区包引入核心

    ¥Bringing community packages to the core

一些包被广泛使用,应该成为核心的一部分,这涉及识别它们并将它们移动到核心。

¥Some packages are widely used and should be part of the core, which involves identifying and moving them to the core.

  • MongoDB 更改流支持(讨论

    ¥MongoDB Change Streams support (Discussion)

Change Streams 是监听 MongoDB 中更改的官方方式。我们应该提供一种在 Meteor 中无缝使用它的方法。它已经计划了很长时间,现在我们可以做到了。

¥Change Streams is the official way to listen to changes in MongoDB. We should provide a way to use it seamlessly in Meteor. It has been planned for a long time, and now we’re in a position to do it.

  • 集成对 Vite(客户端 Bundler,讨论)的支持

    ¥Integrated support for Vite (Client Bundler, Discussion)

Vite 是一个快速而现代的客户端打包器,具有惊人的生态系统。它对 Meteor 有许多潜在的好处:构建性能、树形优化、使我们的代码库更精简并专注于我们最擅长的字段。

¥Vite is a fast and modern client bundler with an amazing ecosystem. It has many potential benefits for Meteor: build performance, tree-shaking, making our codebase leaner, and focusing on what we do best.

  • 用 ESBuild、Rollup、SWC 或其他用于服务器包 (讨论) 的工具替换 Babel

    ¥Replace Babel with ESBuild, Rollup, SWC, or another tool for the server bundle (Discussion)

Babel 是一个很棒的工具,但它很慢并且有一些限制;我们应该考虑用更快、更现代的服务器包工具替换它。我们可能会使用 Vite 使用的相同工具。

¥Babel is a great tool, but it's slow and has some limitations; we should consider replacing it with a faster and more modern tool for the server bundle. We could potentially use the same tools Vite uses.

  • 支持 package.json 导出字段 (讨论)

    ¥Support package.json exports fields (Discussion)

  • Tree-shaking

Tree sharking 和导出字段可以通过与更现代的构建工具集成来实现,请参阅前面的项目。

¥Tree sharking and exports fields may be implemented by integrating with more modern build tools, see previous items.

  • 提高发布 CI/CD 的速度和可靠性(优化构建时间会有所帮助)

    ¥Improve release CI/CD speed and reliability (optimized build times will help)

有时我们的 CI/CD 运行时间太长,导致发布流程和反馈循环出现长队列和延迟,我们需要改进这一点。

¥Sometimes our CI/CD takes too long to run, causing long queues and delays in our release process and feedback loop, we need to improve that.

  • 改进对 Windows 11 的支持

    ¥Improve support for Windows 11

我们过去收到过很多投诉,我们需要研究并进行架构改进,以便更轻松地支持 Windows,而不仅仅是及时修复。

¥We had many complaints in the past, we need to research and make architectural improvements to make it easier to support Windows, not just punctual fixes.

  • 使用 WSL 记录更好的 Windows

    ¥Document better Windows with WSL

已经可以在 Windows 上使用 WSL 的 Meteor,但我们需要更好地记录它

¥It's already possible to use Meteor on Windows with WSL, but we need to document it better

  • HTTP/3 支持

    ¥HTTP/3 Support

HTTP/3 是 HTTP 协议的下一个版本。我们应该在 Meteor 中支持它,以利用其性能和安全优势。

¥HTTP/3 is the next version of the HTTP protocol. We should support it in Meteor to leverage its performance and security benefits.

候选项目

¥Candidate items

我们需要进一步讨论以决定是否继续这些实现。

¥We need to discuss further to decide whether to proceed with these implementations.

  • 改进 DDP 客户端

    ¥Improve DDP Client

  • 改进无密码包(讨论)

    ¥Improve Passwordless package (Discussion)

  • 与 Tauri 集成,它可能会在单个工具中取代 Cordova 和 Electron

    ¥Integrate with Tauri, it might replace Cordova and Electron in a single tool

  • 支持使用 CapacitorJS 构建移动应用

    ¥Support building mobile apps using CapacitorJS

  • 将 Redis-oplog 引入核心 (存储库)

    ¥Bring Redis-oplog to core (Repository)

  • 通过 DDP (讨论) 更好地支持文件上传

    ¥Better file upload support via DDP (Discussion)

完成的项目

¥Finished items

  • 更改 Meteor 执行异步代码的方式(讨论

    ¥Change how Meteor executes Async code (Discussion)

    • 在需要 Fibers 的地方提供新的异步 API

      ¥Provide new async APIs where Fibers are required

      • 带有异步 API 的 Mongo 包(PR

        ¥Mongo package with Async API (PR)

      • 为账户和核心包提供异步版本

        ¥Provide async versions for Accounts and core packages

      • 适应 Meteor Promise 实现

        ¥Adapt Meteor Promise implementation

  • 在 Meteor 服务器端 (PR) 上启用顶层等待 (TLA)

    ¥Enable Top-Level Await (TLA) on Meteor server-side (PR)

  • 支持 Reify 上的 Top-Level Await (TLA)

    ¥Support Top-Level Await (TLA) on Reify

  • 从 Meteor 公共 API 中删除 Fibers 依赖

    ¥Remove Fibers dependency from Meteor Public APIs

  • 完全删除 Fibers

    ¥Remove Fibers entirely

  • 将 Cordova 集成更新到 Meteor 3.0

    ¥Update Cordova integration to Meteor 3.0

  • 在 Node.js v20 上运行 Meteor

    ¥Run Meteor on Node.js v20

  • 将 Web 引擎从 Connect 更改为 Express

    ¥Change web engine from Connect to Express


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

¥For more completed items, refer to our changelog.