diff --git a/docs/src/pages/discover-more/roadmap/roadmap.md b/docs/src/pages/discover-more/roadmap/roadmap.md index 01923d345331d8..c7363cd4c9b311 100644 --- a/docs/src/pages/discover-more/roadmap/roadmap.md +++ b/docs/src/pages/discover-more/roadmap/roadmap.md @@ -4,20 +4,19 @@ ## Methodology -Material-UI is community driven – issues that resonate most with the community get the most attention. +Material-UI is community-driven – issues that resonate most with the community get the most attention. Please **upvote** (👍) on GitHub the issues you are most interested in. -Thank you for participating [in the developer survey](https://material-ui.com/blog/2019-developer-survey-results/). +Thank you for participating [in the developer survey](https://material-ui.com/blog/2020-developer-survey-results/). ## Priorities Here are the top priorities: - 1.0 - **More components**. 🧰 This is challenging to address, as developing a fully-fledged component takes a considerable amount of time. - We are going to try the following strategy: - - Identify frequently needed components. There are many resources we can leverage for this: the developer survey answers, GitHub issue upvotes, Algolia search volume, Google search volume, documentation usage, npm downloads, etc. + We apply the following strategy: + - Identify frequently needed components. There are many resources we leverage for this: the developer survey answers, GitHub issue upvotes, Algolia search volume, Google search volume, documentation usage, npm downloads, etc. - Prioritize the creation of frequently needed components. - Encourage the usage of third-party components if they already exist and are well maintained. - - Offer an option to the highly used and well maintained components to move to the official organization: mui-org/x on GitHub, @material-ui/x on npm and x.material-ui.com for the documentation. - 0.5 - **Better customization.** 💅 We want to make our component customization intuitive, no matter if you are using global CSS or styled-components: - Use styled-components by default: [#6115](https://github.com/mui-org/material-ui/issues/6115). - Allow the use of the Box props in all the core components: [#15561](https://github.com/mui-org/material-ui/issues/15561). @@ -29,12 +28,7 @@ Here are the top priorities: - Page documentation rating 🥇🥈🥉. We will integrate a rating module in all our documentation pages. This way, we can collect high-quality data points and prioritize the pages that need the most to be improved. - Templates. They get people started really quickly, we need more of them! - Beginner tutorials & Video lessons. -- 0.3 - **TypeScript.** 📏 There are two dimensions to this problem: - - The documentation. We want to provide a TypeScript variant of most of our demos. - You can help us out in [#14897](https://github.com/mui-org/material-ui/issues/14897), we have already covered +90% of them. - - The definitions. We are **continuously** improving them. For instance, we are working on moving the props descriptions to TypeScript, so you can access them directly from your IDE. - The codebase is written in JavaScript, we don't plan on migrating it to TypeScript in the near future. Upvote [#15984](https://github.com/mui-org/material-ui/issues/15984) if you want us to rewrite the core in a future version. -- 0.3 - **Performance.** 🚀 React abstraction has a cost. The more components you render, the slower your page will be. You will notice stark differences when rendering a large table or list. +- 0.2 - **Performance.** 🚀 React abstraction has a cost. The more components you render, the slower your page will be. You will notice stark differences when rendering a large table or list. Performance is all about doing less work. We can leverage the following: - Make the core faster. - Avoid re-rendering. It's the responsibility of the user to prune the React rendering tree efficiently, @@ -44,57 +38,65 @@ Here are the top priorities: - 0.2 - **Bundle size.** 📦 You can keep track of our progress [following bundlephobia.com report](https://bundlephobia.com/result?p=@material-ui/core). It's a continuous effort – v4 was [18% smaller](https://bundlephobia.com/result?p=@material-ui/core@3.9.2) than v3, while adding new features. We are eager to find new bundle size reduction opportunities. We hope we can leverage these two in the future: - - A JSS to styled-component migration should help. Compare [JSS v10.0.0-alpha.24](https://bundlephobia.com/result?p=react-jss@10.0.0-alpha.24) with [styled-components v5.0.0-beta.8](https://bundlephobia.com/result?p=styled-components@5.0.0-beta.8). We could save ~6 kB gzipped. - - Popper.js is working [on a smaller v2](https://bundlephobia.com/result?p=popper.js@2.0.0-next.4) version. We could save ~4 kB gzipped. +- 0.2 - **TypeScript.** 📏 There are two dimensions to this problem: + - The definitions. We are **continuously** improving them. For instance, we are working on moving the props descriptions to TypeScript, so you can access them directly from your IDE. + The codebase is written in JavaScript, we don't plan on migrating it to TypeScript in the near future. Upvote [#15984](https://github.com/mui-org/material-ui/issues/15984) if you want us to rewrite the core in a future version. - 0.2 - **Accessibility.** ♿️ We have relatively [few accessibility issues](https://darekkay.com/blog/accessible-ui-frameworks/), but we are eager to address them all. We would appreciate the help of accessibility experts. - 0.2 - **Material Design Update.** 🎀 We are relatively up-to-date but the material design specification [is evolving](https://material.io/whats-new/), so should we. ## New components -Here are the components we will work on being supported in the Material-UI ecosystem, no matter if they are from @material-ui/core, a third-party project or a paid source: +Here are the components we will work on being supported in the Material-UI ecosystem, no matter if they are part of the [community edition](https://github.com/mui-org/material-ui) (MIT license) or [Material-UI X](https://github.com/mui-org/material-ui-x), a paid extension for enterprises: -- 🧪 In the lab, in progress to move into the core -- 🛠 Work in progress, will likely land in the lab +- 🧪 Close to become stable, already released as unstable +- 🛠 Work in progress, will or already released as unstable - ⏳ Planning to build -- ⭐️ We will consider making some of the features paid (non MIT) +- ⭐️ We will make some of the features available in [Material-UI X](https://github.com/mui-org/material-ui-x) (non-MIT) -| Name | Status | -| ----------------------- | ------ | -| Rating | 🧪 | -| Skeleton | 🧪 | -| Speed Dial | 🧪 | -| Toggle Button | 🧪 | -| Tree View | 🧪 | -| Autocomplete | 🧪 | -| Combo Box | 🧪 | -| Multiselect | 🧪 | -| Alert | 🧪 | -| Pagination | 🧪 | -| Date Picker (& range) | 🛠 | -| Data Table | 🛠⭐️ | -| Carousel | ⏳ | -| Dropdown | ⏳ | -| Dropzone | ⏳ | -| File Upload | ⏳ | -| Image | ⏳ | -| Navbar | ⏳ | -| Nested Menu | ⏳ | -| Numeric Input | ⏳ | -| Scrollspy | ⏳ | -| TopLayout | ⏳ | -| Big Calendar | ⏳⭐️ | -| Charts | ⏳⭐️ | -| Sparkline | ⏳⭐️ | -| Color Picker | ⏳⭐️ | -| Gantt Chart | ⏳⭐️ | -| Gauge | ⏳⭐️ | -| Masonry | ⏳⭐️ | -| Pivot Grid | ⏳⭐️ | -| Rich Text Editor | ⏳⭐️ | -| Scheduler | ⏳⭐️ | -| Splitter | ⏳⭐️ | -| Tree View - Checkbox | ⏳⭐️ | -| Tree View - Drag & Drop | ⏳⭐️ | -| TreeSelect | ⏳⭐️ | +| Name | Status | +| :------------------------- | ------ | +| Rating | 🧪 | +| Skeleton | 🧪 | +| Speed Dial | 🧪 | +| Toggle Button | 🧪 | +| Autocomplete | 🧪 | +| Combo Box | 🧪 | +| Multiselect | 🧪 | +| Alert | 🧪 | +| Pagination | 🧪 | +| Timeline | 🧪 | +| Date Picker | 🛠 | +| Date Range Picker | 🛠⭐ | +| Data Grid | 🛠⭐️ | +| Data Grid - Column pinning | ⏳⭐️ | +| Data Grid - Nested row | ⏳⭐️ | +| Tree View | 🛠 | +| Tree View - Multiselect | 🛠⭐️ | +| Tree View - Checkbox | ⏳⭐️ | +| Tree View - Drag & Drop | ⏳⭐️ | +| Tree View - Virtualization | ⏳⭐️ | +| Carousel | ⏳ | +| Dropdown | ⏳ | +| Dropzone | ⏳ | +| File Upload | ⏳ | +| Image | ⏳ | +| Stack | ⏳ | +| Navbar | ⏳ | +| NProgress | ⏳ | +| Nested Menu | ⏳ | +| Numeric Input | ⏳ | +| Scrollspy | ⏳ | +| TopLayout | ⏳ | +| Splitter | ⏳⭐️ | +| Masonry | ⏳⭐️ | +| Pivot Grid | ⏳⭐️ | +| Big Calendar | ⏳⭐️ | +| Sparkline | ⏳⭐️ | +| Gauge | ⏳⭐️ | +| Charts | ⏳⭐️ | +| TreeSelect | ⏳⭐️ | +| Rich Text Editor | ⏳⭐️ | +| Gantt Chart | ⏳⭐️ | +| Color Picker | ⏳⭐️ | > ⚠️ **Disclaimer**: We operate in a dynamic environment, and things are subject to change. The information provided is intended to outline the general framework direction. It's intended for informational purposes only. We may decide to add/remove new items at any time depending on our capability to deliver while meeting our quality standards. The development, releases and timing of any features or functionality of Material-UI remains at the sole discretion of Material-UI. The roadmap does not represent a commitment, obligation or promise to deliver at any time.