From a3e57bf145fda321fdcd3eee4bc8ba9c241f0c60 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 20 Jan 2021 06:59:18 -0400 Subject: [PATCH] Roadmap update --- Roadmap.md | 157 +++++++++++++++-------------------------------------- 1 file changed, 43 insertions(+), 114 deletions(-) diff --git a/Roadmap.md b/Roadmap.md index b71a61cce4..1826927072 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -1,6 +1,6 @@ # Meteor Roadmap -**Up to date as of Aug 21, 2020** +**Up to date as of Jan 20, 2021** This document describes the high-level features and actions for the Meteor project in the near- to medium-term future. This roadmap was built based on community feedback and to improve areas where Meteor is already strong. The description of many items include sentences and ideas from Meteor community members. @@ -10,136 +10,65 @@ Contributors are encouraged to focus their efforts on work that aligns with the PRs to the roadmap are welcome. If you are willing to contribute please open a PR explaining your ideas and what you would be able to do yourself. -Ideally, every item in this roadmap should have at least two leaders, leaders are people that are interested in the item and would like to help. If you are interested please open a PR including yourself and describing how do you want to help. +## Priorities for V2 -## Core +Updated at: 2021/01/20 -### Tree Shaking -- Leaders: [Renan Castro](https://github.com/renanccastro) / [Filipe Névola](https://github.com/filipenevola) -- Status: In Progress -- PRs: [#11107](https://github.com/meteor/meteor/pull/11107) +V2 initial release (2.0) was delivered today (2021/01/20) with Hot Module Replacement (HMR) for React and Free deploy including MongoDB on [Cloud](https://www.meteor.com/cloud) and some other features. See all the changes [here](./History.md). -Implement tree shaking / dead code elimination, which involves pruning the dependency tree while scanning imports in the `ImportScanner`. We believe it should be possible to treat values like `Meteor.isProduction` and `Meteor.isServer` as constants during this process, and eliminate those branches if their conditions are false (as in https://github.com/meteor/meteor/pull/10056). +We expect to have HMR also working for Blaze in Meteor 2.1 in the following weeks (it's currently on [beta](https://github.com/meteor/blaze/pull/313)). -### Service worker build target -- Leaders: -- Status: - -- PRs: - +Other important updates that you should expect to see in Meteor 2.2, 2.3 and so on: +- Node.js 14; [PR](https://github.com/meteor/meteor/pull/11197) +- Cordova 10; [PR](https://github.com/meteor/meteor/pull/11208) +- Remove deprecated code pre v1; [PR](https://github.com/meteor/meteor/pull/11226) +- Tree-shaking; [PR](https://github.com/meteor/meteor/pull/11164) +- Blaze HMR; [PR](https://github.com/meteor/blaze/pull/313) +- Tutorials migration (help needed, understand [here](https://forums.meteor.com/t/new-meteor-react-tutorial-and-new-format-for-tutorials/54074)); -A proper service worker build target. Regular Web Workers can be built from a function.toString() but service-workers require an actual server route. +Do you want to get involved in the items above? Talk to [Filipe Névola](https://twitter.com/filipenevola) in the [community Slack](https://join.slack.com/t/meteor-community/shared_invite/enQtODA0NTU2Nzk5MTA3LWY5NGMxMWRjZDgzYWMyMTEyYTQ3MTcwZmU2YjM5MTY3MjJkZjQ0NWRjOGZlYmIxZjFlYTA5Mjg4OTk3ODRiOTc) -### Ultra-thin Meteor -- Leaders: [Ruither Borba](https://github.com/delki8) / [Christian Klaussner](https://github.com/klaussner) -- Status: In Progress -- PRs: https://github.com/meteor/meteor/pull/11034 https://github.com/meteor/meteor/pull/11106 +V2 minor releases are not limited by the items above, these are the ones already in progress, some of them are going to be ready in the next weeks. -### Page load performance improvements -- Leaders: [Seba Kerckhof](https://github.com/sebakerckhof) -- Status: - -- PRs: - +## Priorities for V3 -Make sure we are not delivering any dependency that is not used ([Issue #10701](https://github.com/meteor/meteor/issues/10701), [Issue #10702](https://github.com/meteor/meteor/issues/10702), [Issue #10704](https://github.com/meteor/meteor/issues/10704), [PR #10792](https://github.com/meteor/meteor/pull/10792)) +Updated at: 2021/01/20 -### Improve Rebuild performance -- Leaders: [zodern](https://github.com/zodern) / [Marcelo T Prado](https://github.com/MarceloPrado) -- Status: - -- PRs: - +Meteor is accelerating! We are going release more often this year. -Explore ideas to improve rebuild time such as split main client bundle into several bundles, split the server bundle into several bundles, store less file content in memory, option to disabling the legacy build (at least in dev mode), etc +We expect to have new features focusing in ease app development in V3 or probably in V2 as well, the first step is to review our [feature requests](https://github.com/meteor/meteor-feature-requests) one more time and define new priorities. +Maybe we should also have a new way of prioritization for new features, right now this [repository]((https://github.com/meteor/meteor-feature-requests)) with issues is not good enough in our opinion, the plan is to be even more open for feedbacks and collaboration. If we make changes in this process we are going to announce in the [Forums](https://forums.meteor.com/) and Slack as always. + +> We are also looking for new developers to be part of our core team and of course if you are already contributing to Meteor you have a head start. +> +> We don't have an official position description yet but again, contributing to Meteor in the open-source is the best way to join the core team. + +Maybe you are asking: Why the format of this Roadmap was changed in this update? + +We believe the items here were in some part outdated so we want to have a "fresh start". You should expect a new list of items here soon. It doesn't mean that all the old items are out of question, or they aren't important, probably the opposite and you will see most of them again here soon. + +## Recently completed + +### MongoDB shared hosting on Cloud +- Leaders: Meteor Software +- Status: shipped in January 2021 + +You can host your app on Galaxy and use our shared MongoDB for non-commercial/non-production apps. We don't recommend a shared MongoDB instance for production apps. + +### Free deploy on Cloud +- Leaders: Meteor Software +- Status: shipped in January 2021 + +Meteor free deploy is back. ### Hot Module Replacement - Leaders: [zodern](https://github.com/zodern) -- Status: In Progress +- Status: shipped in January 2021 - PRs: https://github.com/meteor/meteor/pull/11117 -HMR in Meteor, we already have a work in progress here, you can provide feedback already, check the PR. +HMR is avaible since Meteor 2.0 -### Transition as much as possible to NPM -- Leaders: -- Status: - -- PRs: - - PoC using base64 package as example [#10996](https://github.com/meteor/meteor/pull/10996) - -Migrate packages that do not depend on Meteor exclusive features to NPM and we also continue to encourage new packages to be published as NPM packages when possible. - -## Cordova -### Cordova documentation -- Leaders: [Filipe Névola](https://github.com/filipenevola) -- Status: In Progress -- PRs: https://github.com/meteor/meteor/pull/11072 - -Provide an example with mobile native configurations already in place such as `mobile-config.js`, sample assets, Fastlane scripts, etc. Also improve docs and guide ([Forums post](https://forums.meteor.com/t/lets-create-the-ultimate-cordova-hot-code-push-faq-doc/50500)). - -## DB -### Minimongo secondary index support -- Leaders: [Brian Mulhall](https://github.com/BrianMulhall) -- Status: - -- PRs: - - -Improve index support for Minimongo to enable better performance in the client for databases with thousands of documents. ([Issue #10703](https://github.com/meteor/meteor/issues/10703)) - -## Documentation -### Step-by-step guide -- Leaders: -- Status: - -- PRs: - - -Provide a nice and friendly introduction for people that are learning Meteor. - -### Update Angular Tutorial -- Leaders: [Brian Mulhall](https://github.com/BrianMulhall) -- Status: - -- PRs: - - -Angular tutorial should reflect latest best practices for using Meteor and Angular together. - -React tutorial should reflect latest best practices for using Meteor and React together. - -### PWA documentation -- Leaders: [Filipe Névola](https://github.com/filipenevola) -- Status: In Progress -- PRs: - - -Provide an example with PWA configurations already in place such as `manifest`, service worker, Open Graph meta tags, etc. Also improve docs and guide. - -### SSR documentation -- Leaders: [Kevin Newman](https://github.com/CaptainN) / [Eric Burel](https://github.com/eric-burel) -- Status: - -- PRs: - - -Provide a skeleton with SSR configurations already in place. - -Relevant issues: -- https://github.com/meteor/meteor-feature-requests/issues/174 - -### Tests documentation -- Leaders: [Simon Schick](https://github.com/SimonSimCity) / [Florian Bienefelt](https://github.com/Floriferous) -- Status: - -- PRs: - - -Provide samples on how to run tests in Meteor these samples should include unit tests and also cypress tests. - -### Svelte -- Leaders: [Brian Mulhall](https://github.com/BrianMulhall) -- Status: In Progress -- PRs: https://github.com/meteor/simple-todos-svelte - -Tutorial is ready. We want a create command (--svelte) yet and more docs. - -### Third-party tools with their own build steps - -- Leaders: -- Status: - -- PRs: - - -Remove limitations that prevent using third-party tools with their own build steps, such as Storybook or Jest. - -Relevant discussions: -- https://github.com/meteor/meteor/pull/10811#issuecomment-564726713 -- https://github.com/storybookjs/storybook/issues/5975 - -## Recently completed ### Vue.js - Leaders: [Brian Mulhall](https://github.com/BrianMulhall) - Status: shipped in August 2020