I love the direction of Polaris, but it feels like it is still missing many components without any insight as to why and if/when those things will be released. For example, I can't find any code for data visualization charts, tables do not have any pagination or even a row selection API, and the page layout is very limiting (how do you recommend that I put in columns?).
Either a Wiki or a list of milestones with expected launch dates, current progress, and features to be released. I'd love to use Polaris and it seems like the direction where Shopify wants to go for apps (and rightfully so), but for more advanced apps like mine, I need more. Otherwise I have to mix in other frameworks which would defeat the purpose in this case.
Thanks for voicing this. I’ll try to address your points one-by-one, but all in all this is spot-on. Within the Polaris team this is something we’ve been talking about, but it doesn’t help the community when we’re not sharing it.
[Polaris] is still missing many components… tables do not have any pagination or even a row selection API…
It definitely is still missing several key components. We’re aware of some of the biggest gaps and we’re working on components to fill them. For instance, we’re in the final stages of a major update to the Resource List component that will add row selection and several other features. We’re also working on a separate Table component for doing tabular data (e.g. for things like reports).
On the flip side, we don’t have plans to release components for data viz in the near future. There are several reasons for this, partly to do with the complexities of building them, and possible dependency on other libraries. We have used both D3 and HighCharts internally.
page layout is very limiting
In this case the choice not to ship a traditional grid system is intentional. For us the existing layout component has provided 90% of what admin needs. The general pattern is to use one of the three main layouts for the outer structure of a page, the columns of which then holds Cards. Within the Cards, layout is achieved using either Stack, FormLayout or a custom layout (usually based on flexbox).
That said, we could do a way better job of explaining that in the styleguide, including how to choose which type of layout, with examples. We’ve recently started work on some documentation to address that too.
I’d also love to hear the details of your layout challenges. It might be something we haven’t had a need for ourselves, but still might want to support if it benefits the community. At the very least if Polaris is being a pain in the butt, we want to understand why, and improve it.
Finally, your post has helped add some urgency to figuring out how we can be more transparent around our roadmap. You can look forward to this getting better sooner than later.
Last month we released v2.0, which added a number of clearly missing components, like DataTable, and a new version of ResourceList that offers better customizability, item sorting, filtering and selection (bulk actions).
We also released some new documentation, including common layout patterns and error messages.
At the same time we added a status page for the component library. In the last few days we also added more details about upcoming components (scroll to the bottom).
Finally, we’ve committed to making Polaris truly open-source.
There’s more work to be done, of course, but I hope you’ll agree we’ve addressed a lot of what you brought up in this issue. If not, please re-open it. And in either case, we’d always welcome fresh feedback.
💜
Most helpful comment
Thanks for voicing this. I’ll try to address your points one-by-one, but all in all this is spot-on. Within the Polaris team this is something we’ve been talking about, but it doesn’t help the community when we’re not sharing it.
It definitely is still missing several key components. We’re aware of some of the biggest gaps and we’re working on components to fill them. For instance, we’re in the final stages of a major update to the Resource List component that will add row selection and several other features. We’re also working on a separate Table component for doing tabular data (e.g. for things like reports).
On the flip side, we don’t have plans to release components for data viz in the near future. There are several reasons for this, partly to do with the complexities of building them, and possible dependency on other libraries. We have used both D3 and HighCharts internally.
In this case the choice not to ship a traditional grid system is intentional. For us the existing layout component has provided 90% of what admin needs. The general pattern is to use one of the three main layouts for the outer structure of a page, the columns of which then holds Cards. Within the Cards, layout is achieved using either Stack, FormLayout or a custom layout (usually based on flexbox).
That said, we could do a way better job of explaining that in the styleguide, including how to choose which type of layout, with examples. We’ve recently started work on some documentation to address that too.
I’d also love to hear the details of your layout challenges. It might be something we haven’t had a need for ourselves, but still might want to support if it benefits the community. At the very least if Polaris is being a pain in the butt, we want to understand why, and improve it.
Finally, your post has helped add some urgency to figuring out how we can be more transparent around our roadmap. You can look forward to this getting better sooner than later.