Part 01 - What? Why? Where?

An introduction to the series

Last updated by Red Cap Tom on June 24, 2020 at 12:31 +0300

This is no longer maintained

This tutorial series was cowardly abandoned by its creator mid-way due to (exciting!) circumstances. While I can't promise I'll ever finish it, I hope you found some of it useful. If you really-really-really-really want me to finish it, nag me at hey@redcaptom.com.

The Video (Scroll down for the article)

Coming Soon!

What now?

A note about this article vs. the video

The articles for parts 1-8 in this series were written after recording the videos. This means that in many cases, there are style (or actual) differences between what's in the video, and what's in the articles.

Also, If you're here while not all the articles are fully written - apologies! I am in the process of transcribing, editing and uploading them here and in dev.to.

Note that while I try to convey the same amount of information in both venues, I (more often than not) fail miserably. I generally prefer creating new content to refactoring old one, so this process irks me and in the process of just getting it done I'm cutting corners.

If the article doesn't feel “complete” enough - please watch the video. Oh, and tell me that I need to step up my game! We're all in this together, after all, aren't we?

So, in December of 2019 I set out to build a Shopify app.

shopify-logo

Shopify is an e-commerce platform that is, by far, the largest and most advanced one in the market. While I'm totally a fanboy, I can actually back that up by looking around - everyone and their brother is opening up a Shopify store. They offer solutions for payments, for shipping, for store design and whatever else you might be interested in as a business owner in need of an online presence.

The Shopify App Store

At some point, Shopify figured out that they need an App Store - a central location to allow third party developers to create merchant-tailored experiences in various niches. Shopify will provide developers with the tooling, the documentation and an 80% cut of every app installation - and the developers will come.

shopify-app-store

And come they did - 3, 200 apps later, it looks like a win for Shopify. And to be frank, I see why from a developer's perspective - you get the means to build a money-making thing, with first-class support to boot. Not a a bad deal.

The Shopify App development experience

However, even if you've got some notches in your developer belt, you might hit some bumps along the road. If, for example, you come from only frontend or only backend work you might find yourself struggling through their tutorials. Heck, I've hit my fair share just trying to make sense of the architecture decisions they made, so I can follow best practices of each platform as I'm building my app.

So, having went through the experience myself, I can tell you that there are plenty of resources for learning the technologies involved and a (somewhat) active ecosystem around Shopify Apps. The problem begins when you're trying to connect all the parts together - to me, the official tutorial is a bit lacking in basic concept explanations. I know, I know, it's out of scope for Shopify to explain “external” things - like what a custom Next.js server is, or how is Koa different from Express and why they chose to use it over Express, or how to deploy your app to Heroku in a way that keeps you sane and asleep at night, or… you get the picture.

Wait, that sounds like an awesome opportunity to make a mark in the tutorial space, isn't it? Well, this is the reasoning behind what you're reading right now. I want to make this the resource I wished I had when I started working on my app.

This tutorial series

In practice, what I'm trying to achieve in this tutorial series is a full walkthrough of what it's like to develop a Shopify App - the thought process, the tools and the nitty-gritty details that no one is talking about in the official resources. I will walk you through from setting up your machine for work, getting an app idea (or verifying an existing one) all the way to deploying your app and (most likely) the marketing aspects you have in front of you.

You'll see that I prefer to dwell on some things and skip others. Generally speaking, I will elaborate on non-Shopify things in what I call sidesteps, which are mini-deep-dives for the uninitiated. I will do those for React, for Koa, for Next.js and other goodies you need to know just enough of to get along.

This will make for a rather long tutorial series - I assume it will be around 60-70 videos when I'm done (ambitious me!), each one between 5-45 minutes, depending on the subject. Wherever possible I'd make an attempt to stick to 10-ish minute videos, because I too cannot stand never-ending series, but bare with me if I'm going over budget here and there.

About going off the path

I'm posting this series because I wanted to have one like it, and couldn't find any. I might at some point decide that I'd like to take it in some direction that tangents from the original path.

If you're following my work and would like me to take some time to explain something that I haven't covered - just ping me at hey@redcaptom.com. I'll find the time and make a video, if possible, and I assume that if you're struggling with this you're note alone.

Now, let's do this!

An offer

If you're working on a Shopify app, and your app uses Polaris for the front-end, I want to hear from you. I am willing to sit down and run a debug session / add a new feature with you for your application, if you agree to stream it live with me (or record it and publish it later). It's not easy writing a full-stack JS app, doubly so when you're not from within the ecosystem. Let's do it together and help all the people! :)

E-Mail me at hey@redcaptom.com, and let's set it up.