I want to learn shopify app development properly but I am getting resource ton learn.
Hey @Urmila it sounds like you’re interested in learning Shopify App development. I’ve been studying it over the last few months and think I can help shed a little light on what you need to learn.
Everything I’m about to say assumes you’re comfortable with building fullstacknweb apps. If you’re not, you’ll need to head over to the freecodecamp’s YouTube channel and go learn how to do both Frontend and Backend Development.
If you’re learning that for the first time I recommend doing both frontend and backend development in Javascript. That way you only need to learn one programming language.
Assuming you’re comfortable with backend development basics, here’s what you need to dive into Shopify app development:
1. Shopify API for OAuth
How you handle OAuth with the Shopify API depends on whether you’re building a public app (for any store to use) or a custom app (for a single, specific store).
For a custom app, it’s straightforward. You’ll generate an API access token directly from the store and then use the Shopify GraphQL library in your chosen language.
If you’re creating a public app, the process is more involved. You’ll need to decide if your app will be embedded within the Shopify admin or run in a separate tab or window.
This guide from a Shopify API README on GitHub offers a good overview of OAuth: https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/docs/guides/oauth.md.
While it’s geared towards JavaScript with Node.js, the explanations are general enough to apply to any language.
Using a language with an existing Shopify API package will make your life much easier. Otherwise, you’ll be writing a lot of that code yourself. Fortunately, you can leverage AI to convert existing code snippets into something usable in your preferred language.
2. GraphQL
The Shopify Admin API exclusively uses GraphQL, so mastering it is essential. ShopifyDevs has a great video series on their YouTube channel to get you up to speed: https://www.youtube.com/playlist?list=PLvQF73bM4-5VtRBb7WJluLHIa1wPcFgbJ.
3. Shopify Polaris
Shopify Polaris is a frontend component library designed by Shopify to streamline app development. They’ve recently released native web components, and there’s also a robust React library filled with ready-to-use components.
If you plan to submit your app to the Shopify App Store, using Polaris is a must. It’s quite simple to pick up once you dig into the documentation.
- Polaris web components documentation: https://shopify.dev/docs/api/app-home/using-polaris-components
- Polaris React Library: https://polaris-react.shopify.com/getting-started
4. Shopify App Bridge
Shopify App Bridge is a crucial frontend script for embedded Shopify apps. It allows you to send a token to your backend server, verifying that requests are coming from a Shopify store that has installed your app.
It also provides access to a global shopify
object, which you can use for various functionalities like:
- Triggering toast notifications
- Creating modals
- Accessing Shopify store information without separate API requests
For instance, if you need to view all products on a Shopify store, instead of making an expensive GraphQL API request, you can easily access this information using the resourcePicker
from App Bridge.
5. Shopify CLI & Shopify TOML
Many Shopify development tutorials mention using the Shopify CLI and a TOML file for app configuration. While these resources often make it seem like you need to use Remix to leverage them, that’s not true. The tutorials related to the Shopify CLI and Shopify TOML file will work perfectly well with non-Remix apps too.
Understanding these two tools is vital if you plan to build Shopify apps involving features like Checkout Extensions, Admin Extensions, and Shopify Functions.
These five areas are key if you want to learn Shopify App development.
I’m currently working on my first Shopify app, so I’m actively learning more about this every day. If you have any questions, feel free to ask!
Hey folks and thanks @Patrick_Pierre for your great write up here, really good stuff!
I just also wanted to share a link to Shopify Academy in case you haven’t checked it out yet as well (and in case anyone else stumbles on this thread). There are lots of great tutorials and workshops there for development that might be useful:
https://www.shopifyacademy.com/path/shopify-development-fundamentals