Simple changes to improve insanely slow theme development on Shopify

Shopify has an insanely slow theme development cycle. Here are some simple things that could quickly fix that.

  1. A localhost server. Developers should be able to see code updates in real time without deploying every minor change. I should be able to request the .json version of a page locally on a password protected store. Even if you don’t offer me a way to serve liquid locally, offering a dev json api would save a ton of time. This is as simple as a second API stage. If you offered this, I could run my own react/vue/express server locally and then inject my react code into the Shopify theme in production, which would speed up the dev cycle and decrease the number of deploys substantially.

  2. A real development environment for private themes. I should have a separate dev database and json api to test things out without creating a real product, collection, etc. Since you’re using ruby on rails under the hood, this should be very simple.

  3. A real interface for creating our own API endpoints. Right now, it seems like the only way to customize the Shopify API is by manually writing out json and an alternate template and using the json filter for a Shopify object. Why isn’t there a liquid method for me to construct my own key/value objects and arrays? That’s a primitive in almost every programming language. It makes no sense to restrict developers this way.

It seems like theme development is set up to intentionally restrict developers, in order to keep all code updates within the Shopify ecosystem. But if that makes it difficult to develop themes, then what’s the point? Why not do the bare minimum to make our lives easier?

I agree. I come from BigCommerce development, and I wanted to see if it was any better on Shopify.

I find it pretty embarrassing that Shopify has no Local Development solution whatsoever. Really? And no out-of-the-box support from WebPack and NPM modules?

I spent a day looking through stuff like this, and all I found was “Slate”, which was promising, but was deprecated for no reason (Looks like Shopify doesn’t want to keep putting in resources to support this? Something about their Global Snippets, but those just sound like re-usable liquid templates, and I dont see what this has to do with anything)

Also there are a bunch of weird home-brewed solutions that wrap together Webpack, BrowserSync, etc, but these don’t look officially supported.

I would not advise any clients that require heavy customization to move to Shopify.