Is Shopify Development Hard?
Shopify is a powerful and flexible e-commerce solution. It allows businesses to set up online stores quickly and efficiently. It’s easy to customise. With the new themes offered with Shopify 2, you might ask yourself do you need a Shopify developer? If you find you do, how do you go about choosing one? Is Shopify development hard?
Well it Depends What You Want to Do…
Sell Stuff
Shopify devotes a huge proportion of its energy making basic shop setup incredibly straightforward. With a spare afternoon, you can set up a site and be selling stuff in no time.
You really don’t need a developer.
Upload Your Logo and Matching Your Colours – Making Your Website “Yours”
We’ve met quite a few people lately who’ve managed to put a Shopify site together for themselves and, to be honest, most of them have made a pretty good fist of it. Shopify has a powerful theme system and a good theme will have an extensive set of options for changing colours, uploading logos and setting some parameters which will define how your site looks.
Only got six products? Great, make your collection page really spacious. Piling them high? Make your collection page dense and make it feature lots of products.
If you want your descriptions after your products when viewing a collection? Easy, just drag and drop it into place.
By picking a theme and using these options judiciously, you’ll be able to make a straightforward site which works very well and can look quite distinctive.
These days the options are just getting to the point where they might be overwhelming but, with a bit of a plan, and a vision of where you want to get to, you might well be able to get away without a development at all. A friend with a bit of an eye for design might be all the help you need.
Cool! What are the Drawbacks?
It takes time and effort to make a site built purely out of predefined options to look distinctive, they can look very samey.
Without some technical knowledge it is likely that the colours you pick through the system will not match your brand colours exactly. Some technical knowledge will help you upload product images and your logo in the most appropriate formats. Not development as such but having some technical expertise will help you make a much more professional site.
In short, some design skills are more than useful and knowledge of image file formats and general usability knowledge will get you a long way.
You may be able to complete your site without any specialist knowledge at all.
If not, read on.
Doing More – Adding Applications
As your shop grows you’ll probably want to do more: connect a mailing list, add a wishlist, whatever.
If you are in any way serious about your store, you need to look adding analytics tools to find out which of your sales and marketing efforts are working.
Fortunately, Shopify has a well-developed application store, where users can resell well-developed add-ons which allow you to make your site more functional. There are typically several apps to address every need – it’s a great way to extend your store.
Typically, adding apps is a significant step up in terms of technical requirements, but app developers are very helpful. They want you to use their product after all.
Again you might still be able to get away with no development knowledge – and, if you’re a bit technical, Google will probably help you learn it.
Installing Tricky Applications
Not every app can just be installed, some need to be added to your site’s code. Hidden away in the theme selection interface is the ‘Edit Code’ option. This will take you into a basic web-based file editor and options for making changes the file structure of the code itself.
This code can be intimidating. If the app developers are useful they will have given you clear, crystal clear instructions. You can break your site if you make the wrong change to your files – be ready with your undo key.
Many application developers will make these changes for you, so even then you probably won’t need a developer.
A Liquid Lunch
Once you’ve opened the Edit Code dialogue, you’ll see a whole pile of files in all sorts of formats … this is developer territory. Changes made her can break your site. If you’re not familiar with HTML, JSON or Javascript then call a developer.
Shopify sites are build out of three principal file types:
- JSON files – which are used to configure how your shop assembles code and stores user preferences (put a 24pt dark blue heading here, show the product matrix three products wide and four high, then add this text).
- Javascripts – most Shopify themes make heavy use of Javascript if you want to change any kind of interactivity, you’ll need to be working with scripts. Modern themes like Dawn 2 eschew easy-to-use Javascript libraries like jQuery. If you really want your site to fly, you may need to up your Javascript skills.
- Liquid – all html in your final Shopify web page is built from
.liquid
templates. Liquid is a simple template language which Shopify uses to build HTML.
Liquid is a technical language but it is easy for even a beginner to read. If you’ve ever dealt with the Twig template language, you’ll feel pretty much at home. Shopify also hosts a (very) helpful cheat sheet. If you can work with .html
, you can work with .liquid
.
{% assign products = "Apple, Banana, Cherry" | split: ", " %}
<ul>
{% for product in products %}
<li>{{ product }}</li>
{% endfor %}
</ul>
Code language: HTML, XML (xml)
More experienced developers may find some difficulty with the absence of ‘developer-side’ code. No classes, no functions, clumsy variable typing can mean, a ‘real’ developer needs quite a mental shift learning how to get from there to here.
But is Editing Code Hard?
While working with Liquid on it’s own is not hard, there are some weird ideas to get your head round but it is not technically difficult.
Combining Liquid, JavaScript and JSON to work together in Shopify is (we think) pretty hard, you need a decent knowledge of all three data types and how they depend on each other. Get it right and you can start to do amazing things.
If you’re making any changes to your code, you want to thing seriously about getting your customised theme into GitHub and working with a descent IDE. Without version control you get very stuck indeed. The in-browser code editor in Shopify is OK but if you’re used to an IDE, you’ll find it painfully basic.
Going Beyond …
Core functionality in Shopify is locked away. You cannot touch it. This is why you need to sometimes have to do some weird things in Liquid. To do things that Shopify really doesn’t, Shopify will allow you to create applications of your own which you can host and and use API’s to interact with the Shopify store itself.
Is this hard? Yep, pretty hard. You need considerable technical knowledge to make it work at all. Fortunately Shopify’s API documentation is pretty good (with some conspicuous gaps). But you still need the knowledge to create an app to run online to work with that API.
Why Edit the Code?
If you’re working with Shopify a lot, you’ll soon find yourself wanting to make a change which the drag and drop controls don’t support. Commonly we need to add an “Add to Cart” button to the individual products in a collection view (Shopify calls categories “Collections”).
You may just wish to remove “Powered by Shopify” text and link from your site footer.
For Rails of Sheffield, we’ve completed huge amounts of customisation:
- Because the model railway industry has some insane lead times, the client needed a separate pre-order system and check out
- Once we had done that we needed to modify an app-store wish list application and render the entire wish list page anew.
Do get a fuller idea of what we’ve done with Shopify for these guys, you could check this case study or this.
Not (Strictly) Development Tasks
Some tasks do not really require a developer but will benefit from a good developer’s sense of process. Amongst these, we’d suggest:
- Setting up shipping, if you have a wide range of product types and ship to a lot of places, you’d be surprised how quickly you need to set up a complicated data set
- Shopify Flow is an automation tool that allows merchants to create custom workflows for their store operations, such as inventory management, customer segmentation, and order processing, without needing to code. You may not need to code, but again, understanding the process is a great part of making these systems work.
So … Is Shopify Development Hard?
Shopify has done enormous amount to remove the need for code-based development. It has put the ability to create a really reliable e-commerce store into anyone’s hands regardless of development knowledge. It’s extraordinary.
But as a successful store grows problems will arise. Each business is, to some degree, unique.
In the end, development is about solving problems. Development is not about writing code. Good development is, most often, about writing less code. A good Shopify developer should not aim write code which works, they should we working to assemble a system which you can work … and yes, sometimes, that is hard.
We’ve built some great systems. We’d like to build one for you.