Appearance
(有关跨浏览器和版本支持的功能的详细信息,请查看 caniuse.com。)
¥Roadmap
描述 Meteor 项目在近期至中期内的高级功能和操作。
¥Describes the high-level features and actions for the Meteor project in the near-to-medium term future.
简介
¥Introduction
最后更新:2025 年 3 月 31 日
¥Last updated: March 31th, 2025.
许多项目的描述包括来自 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.
当前项目:Bundle 优化
¥Current project: Bundle optimization
我们需要改进 Meteor 应用的包大小和性能。我们应该考虑使用 tree-shaking、代码拆分和其他优化,以使我们的应用更精简、更快速。为了实现这一点,我们计划集成或提供一种简单的方法与现代打包工具(如 RSPack、ESBuild 或 Rollup)集成。
¥We need to improve the bundle size and performance of Meteor apps. We should consider tree-shaking, code-splitting, and other optimizations to make our apps leaner and faster. To achieve that we plan to integrate or have an easy way to integrate with modern bundlers like RSPack, ESBuild, or Rollup.
讨论链接:
¥Discussion links:
实现计划:
¥Implementation plan:
阶段 1:性能分析
¥Phase 1: Profiling
目标发布版本:3.2 ✅
¥Target Release: 3.2 ✅
目标:添加一个命令 (meteor 配置文件) 来衡量我们的更改是否确实使构建速度更快、体积更小。
¥Goal: Add a command(meteor profile) to measure if our changes are actually making our builds faster and smaller.
阶段 2:外部转译器集成和打包器改进
¥Phase 2: External Transpiler Integration & Bundler Improvements
目标发布版本:3.3 ⏳
¥Target Release: 3.3 ⏳
目标:对于此阶段,我们希望:
¥Goal: For this phase we want:
通过优化提升我们当前的打包器性能,以便任何 Meteor 用户都能从中受益;外部打包器也可以获得相同的好处。
¥Improve our current bundler performance, via optimizations so that any meteor user can get benefits from it; And an external bundler could get the same benefits.
要使用外部转译器与 Meteor 配合使用,并生成比当前 Meteor 包更小或更快的包。
¥To have an external transpiler working with Meteor and producing a bundle that is smaller or faster than the current Meteor bundle.
阶段 3:HMR 改进
¥Phase 3: HMR Improvements
目标发布版本:3.3.x ⏳
¥Target Release: 3.3.x ⏳
目标:提升 HMR 性能,使其在需要更改的地方运行更快、更可靠。
¥Goal: Improve the HMR performance, so that it is faster and more reliable on what needs to be changed.
阶段 4:构建流程优化
¥Phase 4: Build Process Optimization
目标发布版本:3.4 ⏳
¥Target Release: 3.4 ⏳
目标:优化构建大小,使 Meteor 消耗更少的构建资源,从而进一步减少构建和重新编译时间。
¥Goal: Improve the build size and make meteor use less resources for building, decreasing even more build and rebuild time.
文档策略
¥Documentation Strategy
我们计划在 Meteor 文档中记录这些更改,包括:
¥We plan to document the changes in the Meteor documentation, including:
如何使用新功能
¥How to use the new features
如何与新的打包器集成
¥How to integrate with the new bundler
Meteor 打包器管道如何为未来的贡献者工作
¥How the meteor bundler pipeline works for future contributors
关于如何与新打包器集成的示例和指南
¥Examples and guides on how to integrate with the new bundler
下一个版本
¥Next releases
支持 package.json 导出字段 (讨论)
¥Support package.json exports fields (Discussion)
Tree-shaking
可以通过与更现代的构建工具集成来实现 Tree-shaking 和导出字段。
¥Tree-shaking and exports fields may be implemented by integrating with more modern build tools.
Capacitor 支持
¥Capacitor support
Capacitor 是 Cordova 的现代替代方案;我们应该提供一种使用 Capacitor 构建移动应用的简便方法。
¥Capacitor is a modern alternative to Cordova; we should provide an easy way to build mobile apps using Capacitor.
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.
改进对 Meteor 和软件包的 TypeScript 支持(讨论)
¥Improve TypeScript support for Meteor and packages (Discussion)
我们将继续努力改进 Meteor 及其软件包对 TypeScript 的支持。我们应该为 TypeScript 用户提供更好的体验,包括更好的类型定义和对 TypeScript 功能的支持。
¥Should be an ongoing effort to improve the TypeScript support in Meteor and packages. We should provide a better experience for TypeScript users, including better type definitions and support for TypeScript features.
提高发布 CI/CD 的速度和可靠性(优化构建时间会有所帮助)
¥Improve release CI/CD speed and reliability (optimized build times will help)
我们的 CI/CD 运行时间过长,导致发布流程和反馈循环出现长队列和延迟;我们需要改进这一点。
¥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.
候选项目
¥Candidate items
我们需要进一步讨论以决定是否继续这些实现。
¥We need to discuss further to decide whether to proceed with these implementations.
性能改进(异步钩子/异步本地存储优化)
¥Performance improvements (Async Hooks/Async Local Storage optimization)
HTTP/3 支持
¥HTTP/3 Support
改进 DDP 客户端
¥Improve DDP Client
改进无密码包(讨论)
¥Improve Passwordless package (Discussion)
与 Tauri 集成,它可能会在单个工具中取代 Cordova 和 Electron
¥Integrate with Tauri, it might replace Cordova and Electron in a single tool
将 Redis-oplog 引入核心 (存储库)
¥Bring Redis-oplog to core (Repository)
通过 DDP (讨论) 更好地支持文件上传
¥Better file upload support via DDP (Discussion)
改进 Windows 环境下的使用
¥Improve usage in Windows environments
完成的项目
¥Finished items
更改 Meteor 执行异步代码的方式(讨论)
¥Change how Meteor executes Async code (Discussion)
在 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.