I was looking to add some analytics (bar,line,donut graphs etc) to my app client-side dashboard. I had thought to use Polaris viz but this package is now deprecated and has peer dependencies so there could be versioning conflicts. Also I am unsure how happy Shopify are about using deprecated resources when approving an app. I can create some very basic bar graphs using polaris components but a better library conforming to Shopify approved practice would be useful. Tailwind/Shadecn would be great but not technically polaris. Any advice from you guys at Shopify would be greatly appreciated. No rush. Thanks for your hep in advance.
Hey @Stephen_D - you’re right that using the deprecated Polaris Viz package might cause versioning conflicts, but it wouldn’t automatically disqualify your app from being published on the Shopify App Store.
That said though, we generally recommend using up-to-date Polaris libraries for better long-term maintainability and support (as well as following our design guidelines).
For data visualization in app though you could leverage our Remix-based embedded app approach to implement an embedded app within the admin, and then build custom visualizations within JS if you’d like to look at that as an option. Could you share more details about what type of data you’re looking to visualize there? Just wanting to confirm what you’re looking to build, since there are some limitations in our API Terms of Service regarding replicating Shopify’s native reports.
Hope this helps and hope to speak soon!
Hi Alan, Thanks a million for the very prompt reply. We are not doing anything out of the ordinary at all. Just an app to handle manufacturing processes and the graphs are on the dashboard to advise companies on the level of penetration they have achieved with report generation and statistics such as use frequency etc. So nothing strange. I think we will build out the app in it’s totality and then pass it for review. We don’t plan on graphing beyond the Dashboard so even if it were disapproved it’s not an impossible fix by any means. Keen to get the “Built for Shopify” badge so hence the question. Pity about the deprecation of Polaris Viz but it was clearly not getting used a lot. Again thanks very much for the speedy reply.
I would like to continue this thread. What does it mean that we should implement our custom visualization with JS? I thought the use of polaris and viz was to provide the same UI to all apps.
Hey @nullndr thanks for reaching out. Just to clarify, you should absolutely continue using Polaris for your app’s UI components and overall design system - I was only suggesting custom JS visualization libraries specifically for charts/graphs since Polaris Viz is deprecated. This way you maintain Shopify’s design consistency while filling the gap for data visualization components that Polaris doesn’t currently provide.
Hope this makes sense, let me know if I can clarify anything here!
Sorry but this does make any sense. With the deprecation of Polaris Viz the design system will be broken because of the missing piece for data visualization, different apps will have different UI, this is against Shopify guidelines.
I know it may be a burden in maintaning such a big library and feel like nobody is using it but please, rethink about this.
Hey @nullndr, thanks for following up - I definitely understand your concern about maintaining design consistency across apps. My understanding is that if you use the new unified Polaris sections component, you should be able to integrate custom visualizations while still maintaining a unified design pattern through the consistent card styling and spacing.
What types of visualizations are you implementing in your app, and would this approach work for your use case?
If it doesn’t work for you, I’m happy to see if I can do some more digging into this internally for you to get a definitive answer.
I’m talking about the LineChart.
How should we implement this with a <s-section/>
?
Hey @nullndr, thanks for flagging the question regarding s-sections
. You raise a valid point about maintaining design consistency across apps. Let me touch base with our product team internally to get clarity on the recommended approach for implementing visualizations within the new Polaris framework.
I’ll loop back with you once I have a concrete answer here.
Hey @nullndr - thanks again for your patience on this. I was able to speak with our Polaris product team and at the moment, we aren’t able to share any concrete plans for Viz replacements or official recommended approaches, but I did want to mention that it’s something the team is aware of and knows is a wanted/needed feature for some developers.
While I can’t guarantee exactly what this will look like or a roadmap at the moment, I did also just want to mention I’ll be setting up an official feature request for you on my end here to pass along your feedback on Viz/the new Polaris framework.
Please let me know if I can add anything to it on my end - happy to set that up for you for sure.
Thank you @Alan_G, I guess we will need to wait now
No worries at all @nullndr, I definitely get where you are coming from on this. I just wanted to let you know that I’ve set up an official feature request on my end here related to new guidelines or a new library for visualizations within Polaris based on your feedback here and shared this with our product team.
I don’t have anything concrete to share, but did want to let you know our developers are aware of this as an issue. Hope this helps a little bit at least, let me know if I can assist with anything else as always
Hi Again Alan. I started the thread and I’m also still interested in an approved Shopify solution/recommendation. It’s probable that Viz was deprecated due to lack of use. That being true I would imagine that development will not want to create another component library to replace one deprecated for under-use. If Shopify could suggest one or two preferred component libraries that pre-exist that would be a super-efficient solution. App developers would know if they use those libraries they are as conformant as they can be in terms of Built for Shopify. Just a suggestion to save time and effort for Shopify building out components that may well not get a lot of use. Big thanks for your efforts to date. Very much appreciated.
Hey again @Stephen_D thanks for following up as well here. I can’t share why Viz was deprecated unfortunately, but I do agree with your suggestion there of having recommended 3P libraries that we share with developers building visualization components within Polaris/App Bridge.
We do have a bit of a history of integrating 3P libraries into our bespoke boilerplates (for instance the Prisma integration with our Remix boilerplate), so it is a reasonable ask for sure.
I can’t guarantee anything, but I’ll add your feedback to the feature request I set up for this and get that sent up to our product team for you for sure.