How To Build A Shopify App As Fast As You Can ?
April 14, 2020 | 07 min read
A Strong Point To Build Shopify App
We have always been excited about the growth of the e-commerce industry, and made numerous attempts to dive into this field. We have learned about the insane requests that other Shopify Partners have got, where a customer needed a custom Shopify App that was designed for them. As this platform is growing fast, and there’s a big demand on the market for extending platform possibilities. Creating a product was exciting for us, too, rather than for someone to do custom creation. These two things e-commerce and product creation blended naturally into the concept of a Shopify app. Creating a custom Shopify App isn’t all crazy or hard. It could also be the best choice for your customer, personally.
What Is The Complexity Of App Building
So, you got an idea for your submission. Now you have to determine whether your software should communicate with the storefronts of merchants by expanding templates or by inserting some scripts. And maybe you need to collaborate with and incorporate a third-party API into your app, and add a Shopify Admin.
Each component can be complex enough. So if you only need to do something with Shopify store data and produce something in the Admin portion, you are dealing with 1 form or 1 level of complexity. When you choose to deal with external APIs, and also have any Admin portion, you will have 2 complexity points.
Go With The Recommended Tool
One reason we often get a knee-jerk reaction to strange questions is that we can get trapped in our own comfort zone. When all you do is build Shopify Themes, that’s what you would be looking for to solve client issues. Any question outside of that will create stress and trouble for you. The same goes for back-end developers, front-end developers and everyone else who has gained expertise. Our normal reaction is to reach out for our well-worn method to solve the issue of the client. Often, we don’t even know there is a better method.
We all know at least one person who has been working on their app concept for months or years-an item that they expect to release next month
The Process For Building The App
I’ll outline the method I used to create my first public Shopify App, Dripify.
While Dripify was a public app listed in the app store, it can be used to create private apps for your customers using this exact same method. The benefit of using this public app as an example is I can be much more transparent about each step of the process.
When I got started with Dripify, I had worked on client apps before, so I knew a bit about Shopify’s APIs. The difference was that all of those apps were existing apps, and I was improving or rehabbing a working codebase.
With Dripify, I had to start from scratch. I had to build and own every aspect of it, from authentication and payments to the user interface.
I did not want to jump straight into production, despite the short timeline. That is an easy way to overbuild, get lost, play with a new tool, end up on YouTube and lose a lot of time in general.
Need To Determine The Purpose Of The App
The big question, and one that you should really think before anything else, is what is this app’s target for? Why are you supposed to build this? Why does it help the merchant, or the customer?
If the app is for your client, answering this question is pretty simple
You need to make sure that you examine with follow-up questions in their answers. You want to try to uncover the underlying reasons for their request, and to connect with the business reasons behind the app.
If the app isn’t for a consumer, so you’re designing it for public sale on the Shopify App Store, you’ll need to do some market research to find the same needs and wants. You may need to speak to a few hundred merchants or collect information about the things they’ve been writing about in the past. This intent becomes the filter that you will be using to create. You just want to work on features that support this function directly, or those that allow you to create certain features. They will shelve or postpone everything and anything else.
List Of The Features
After determining your app’s purpose, you’ll need to brainstorm what features to build. Write down every idea you have at this point, using all the sources that you can find. Don’t think about your timetable or just restrict yourself yet. You want as many ideas as you can get, without really relying on their consistency. If you have a list of features and have brainstorming done, it’s time to analyze it. Compare every idea against the intent of your app, and hold only those that serve that intent.
Note, you want something simple and compact. After the first version is installed, you can still come back later and extend the device feature list.
I like to structure this into a limited step one with clients. The first version will not be perfect, but it will offer some value to consumers faster by making them use it now, rather than the whole thing in six months. Each time I do so, the client understands that there is no need for many of their ‘must’ features that have been moved to phase two.
Use Different Tools
Shopify itself offers a lot of integration libraries and I’ve been able to take advantage of their fantastic shopify app library since I was working in Ruby on Rails. For Ruby on Rails, this library combines to give you a device framework, with plenty of configuration done for you.
Before you start development, try to pool together some tools and resources to further reduce your workload, even as early as the planning phase. Do not schedule your development workflow to use unknown libraries, but find them as nice rewards if they are working out.
Start The Development By Following The Steps
1.The first thing that all device developers need to do is integrate with the authentication and authorisation program of Shopify. The shopify app library does help with this, but you do have to do quite a bit of setup and checking.
This is a pretty cool stuff that saves you a lot of time: it builds a Shopify application system for you without the need to manually set up OAuth flow. Many interesting things:
- Generated Shop model
- Simple Webhooks and ScriptTags registering
- Authentication approaches
- App Proxy verification (for your storefront customizations)
OAuth is used for all public app store applications and offers a convenient and secure way for a retailer to approve your app with Shopify without giving their store their username and password to your device.
Don’t however give up on getting the authentication to work. Although this is the first step towards actual growth, it is one of the most challenging ones. The rest of the creation is (comparatively) simple, once you figure it out.
When you get lost, check and ask questions in the Shopify forums. Many times, all that is required for authentication issues is a quick patch.
2. No Need Of Private App
If you’re creating a customer app, you may be tempted to simply create a private app. You’d be able to bypass OAuth and your app would authenticate instantly. There are a few reasons we want to avoid that. While the setup is quick, your app will be limited to We suggest using OAuth, to build an app that looks like a public app store, but just don’t mention it. We name those apps that are not mentioned here. It will be easy for your client to install the application like other App
You will need to move your data and make some cautious changes to the configuration to make it work, but this is not impossible.
3.Using OAuth
One configuration you want to get right when using OAuth is the scopes. What Shopify uses to allow you to access different APIs is a distance.
If you do not choose the right scopes, you may have trouble when you try to use them later on.
When you set up and sorted out your OAuth setup, you were ready to work on the actual features of the app.
4. Is A User Account Really Needed?
After working with OAuth, I realized that this feature wasn’t going to add value for the merchant at all. OAuth impeded unauthorized users access to the app. Before they could access the app, the store users would need to have access to the Shopify Admin, which meant they already had a valid Shopify account. As I didn’t really care which user had the Drip snippet installed into the shop, there was no need to distinguish the various user accounts.
5. Integration With The New API
We might ask the merchant to sign in to Drip, find their account ID and copy it to Dripify for them. That would work and it would simplify our task. But there is a lot about this that could go wrong. Plus, asking merchants to sign in to another platform and copying data manually is not very user-friendly. Remember, this app had the function of letting users ‘easily set up their Drip account. Like Shopify, Drip also uses OAuth to allow apps to access the details about an account. This means you can set up Drip’s OAuth, and get access to the merchant’s everything you want.
6. New API’s
Fortunately the shopify app library uses OAuth to allow multiple OAuth providers to be enabled, so I could have both Shopify and Drip on the same device. There were a few places they would mix, where I had to keep a close track of each, but they played well for the most part. Writing a modern, low level library wasn’t really something I wanted to do. If technological problems such as this arise there is a chance of having a significant effect on the schedule. This code didn’t add value directly to my customer, it just supported the features at the higher level. Each time I spent here, the time wasn’t going to bring value directly to the merchant. The whole point of integration with Drip was to get the merchant’s account ID automatically. At the time, Drip’s API was so new they had no methods for accessing the account information.
7. Adding The Snippet to The Theme
Since Drip needs to be mounted on every tab, that meant I would have to put the snippet in the.liquid file of the layout. Just about every page in a Shopify store uses that script. This meant the app would have to update the prototype file automatically in order to install Drip, without destroying anything on the web. A variety of unit tests around this replacement code will ensure it works with several different topics . I could ensure it will continue to function in the future by providing automated tests around this high-risk feature.
The Purpose of This
Well, as you can notice, creating an app the way Shopify suggests requires several different steps, and for a non-experienced developer it can turn out to be a complex activity. The next steps in a Shopify App Building Venture will be to make good advertising materials, send it to the App Store, marketing, and customer support / development after approval.