8 Key Things to Know Before Developing a Shopify App

March 7, 2023
·
9 min read
·

Shopify apps are powerful tools that provide additional or alternative functionality for Shopify stores. With these tools, you can implement a variety of features, such as targeting ads to customers, collecting reviews, customizing the purchase workflow, translating the store's content, replacing the default checkout, and much more!

There are thousands of apps in the Shopify App Store, both paid and free, designed to solve various problems. However, you may not find an app that meets your needs. In this case, you may consider creating your own Shopify application. This article provides you with all the necessary information to plan your next steps. After reading it, you will have the knowledge you need to proceed.

Is it a good idea to make a Shopify app?

It might seem like Shopify apps are easy to make and don't require any real programming skills. But that's only partly true. Shopify apps can be simple to create, but they can also be complex software products. It all depends on the type of Shopify app you want to make.

Making a Shopify app takes time and resources, so it's best to use an existing app if you can. But if you're serious about building your own, we can help you through the process.

8 key things to know before developing a Shopify App

1. Shopify Apps vs Themes vs App Extensions

There is a difference between Shopify apps, themes, and app extensions.

  • Themes make up the visuals of the Shopify store. This includes the colors, images, the layout of elements, how it looks on mobile devices, and what sections are included.
  • Apps change or extend the store's logic. They can track customer behavior, update the checkout page, add tipping on the thank you page, add a chat in the bottom corner, extend product management for admins, and more.
  • App Extensions are not apps. They are a mechanism that lets an app add features to certain parts of Shopify user interfaces.

Apps can also change the visuals of the store, but if you want to define how the store looks, you need a theme. In this article, we are focusing on apps, not themes.

2. What is Shopify API and how does it work?

The Shopify API (Application Programming Interface) allows apps to interact with Shopify stores by providing access to almost all their data and functionality.

Shopify API offers a set of actions (endpoints), such as retrieving a list of store customers through the Get Customers endpoint or updating customer information via the Update Customer endpoint.

Shopify API requires an access token, which is generated for a specific store once the app is installed.

3. Types of Shopify APIs

  • Admin API: Provides access to store products, customers, orders, fulfillment, and more. It’s the core of Shopify API - in most cases, the Shopify apps work with Admin API.
  • Storefront API: Provides read-only access to public store data such as products, collections, etc. It doesn’t require authentication and can be used to build a custom store from scratch.
  • Partner API: The Partner API provides access to data in the Partners Dashboard. Data includes transactions that impact your earnings, app events, and for participating partners, Experts Marketplace opportunities. With this information, you can effectively scale your business by automating front and back-office operations, freeing up time to focus on solutions for Shopify merchants.
  • Payments Apps API: Provides access to the payments app's configuration data. You can use the Payments Apps API to resolve, pend, or reject payment sessions. You can also use the Payments Apps API to reject or resolve captures, refunds, and void sessions.
  • Marketplaces API: Provides access to all shops in the marketplace.
  • Messaging API: Used to send messages from 3rd-party services (e.g. SMS or Facebook Messenger) to the Shopify Inbox.

Choose the API that best suits your needs.

4. The structure of Shopify apps

Shopify apps can do almost any custom logic: changing or extending the store functionality for customers or admins, integrating the store with 3rd-party platforms, and so on. Regardless of its functionality, every Shopify app connects with one or more Shopify stores using Shopify API. These apps may or may not have a user interface.

5. Embedded vs Standalone apps

There are two types of Shopify apps: embedded and standalone. Embedded apps are located in the Shopify admin dashboard, while standalone apps are hosted externally, such as on your website.

Another difference is that Embedded apps must use App Bridge technology for their user interface, and Standalone apps must not. You can read more about the difference between these app types here: Embedded vs Standalone Shopify Apps: Key Differences and How to Choose.

6. Application Distribution Types: Public vs Custom vs Private vs Draft

There are three types of Shopify apps, depending on the distribution model:

  • Public apps can be published on the Shopify App Store. After they are created, they can work with multiple stores. To be accepted, public apps must pass the Shopify app review.
  • Custom (or single-merchant-install) apps can only work with a single store and won't be listed on the Shopify App Store. But unlike the public apps, you don’t need to implement their installation - the access token for Shopify API is generated automatically right after setting up. It’s the best choice if you need an app to work with exactly one store, either yours or your customer's.
  • Private apps are no longer available after January 2022. You should use custom apps instead.
  • Draft apps are used during development and can only be installed on development stores for testing purposes.

Take Note: With Shopify Plus, it is possible to install a custom app across multiple stores owned by a single Shopify Plus merchant.

7. How to set up a new Shopify app

You can set up a new Shopify app in three ways:

  • Through Shopify Partners for public apps.
  • Through the admin dashboard of a specific Shopify store for custom apps.
  • Through Shopify CLI (a command line tool) for both public and custom apps. This is recommended for developers as it can speed up the development process with app templates.

You can create a custom app with Shopify Partners, but your developers must do the setup to get the access token. When you make an app using the store's admin dashboard, the access token is automatically generated. We explain access tokens in the "App Installation Workflow" section.

8. App Installation Workflow

Shopify apps require an access token to interact with a store via the Shopify API. The type of token depends on how the app was created and on their type.

  • For apps created in the Shopify admin dashboard, the access token is created automatically.
  • For Standalone apps, the app must use the OAuth workflow to generate the OAuth access token.
  • Embedded apps need both an OAuth access token and a session token.

Conclusion

  • Creating Shopify apps requires time and resources, so if you need an app for personal usage, consider using an existing one first. This can save you time and effort.
  • Shopify apps differ from Shopify themes and app extensions.
  • The Shopify app connects to the Shopify store via the Shopify API, which requires authentication.
  • There are different types of Shopify APIs for different needs and application types.
  • There are different types of Shopify APIs for different needs and application types.
  • Shopify apps can be either Embedded or Standalone. It's important to choose the correct type before beginning development, as the wrong choice can lead to problems.
  • Shopify apps can be either public or private. It's important to decide on the type before beginning development.

Elijah Atamas

CEO, Softcery
© 2023 Softcery. All rights reserved.