One of the big advantages of developing apps for Shopify is that you can build with the tech stack of your choice and rely on your existing development process. This allows you to choose the programming languages and frameworks you’re most familiar with when interacting with Shopify APIs.
With so many possible routes to building apps that solve merchant pain-points, using an open-source library or demo app might speed up the early setup of your app and fast-track your path to success. A library that streamlines the basic elements of an app with a specific language or framework can allow you to take advantage of Shopify's flexible developer platform.
To support app developers, Shopify provides and maintains libraries for some specific languages, including our recently launched Node library. We also have demo apps for frameworks such as Django, which make it easy to get a Shopify app up and running with Django and the Python Shopify API.
But if you're working with other languages and frameworks, such as Laravel or .NET, there are various open-source libraries that have been created by members of the Shopify developer community.
In this article, we'll be looking at some of the most popular libraries, demo apps, and packages that have been built by Shopify developers. We'll also hear from the developers themselves about how they've used the tools in their own app projects, and their experiences collaborating with other partners in the open-source community.
Note: The tools and libraries highlighted in the blog post are created by third-party developers, and are not supported by Shopify, or the Shopify Partner Program. If you have any questions when using a resource, please open an issue in its GitHub repository.
1. ShopifySharp: A .NET library for Shopify
Built by Joshua Harms, founder of Nozzlegear Software, ShopifySharp is a .NET library that allows developers to build Shopify apps using C# and .NET. The library includes a comprehensive readme and supporting blog posts that are designed to enable developers working with C# to quickly get up and running with Shopify.
Harms started building ShopifySharp back in 2015 when he was between projects at his day job and looking for something to do in his spare time.
"I'd heard about Shopify and their app platform on Hacker News, so I wanted to check it out and experiment with the platform and see what I could do."
"After reading the API documentation and searching online, I found that there were almost no instructions or guides out there for building Shopify apps with the C# programming language and its runtime framework called .NET," Harms says.
Having never published or maintained a library before, Harms decided to try his own hand at building a library for integrating C# apps with the Shopify API.
"I wanted to open source it as a learning experience, so I wrote a few files and published them to GitHub, expecting that nobody out there would even discover the code repository, let alone use the package."
But almost immediately after publishing the first version to NuGet, where it could be downloaded and used by other C# developers, Harms started receiving feedback, questions, bug reports, and even pull requests from other developers.
"As a self-taught developer who never studied computer science, I've learned a great deal about writing clean, scalable code just by reviewing the pull requests I've received over the lifetime of the project."
"Having complete strangers dedicate their own time and hard work to both improving the library and hashing out design goals was, and still is, extremely humbling,” Harms says. “As a self-taught developer who never studied computer science, I've learned a great deal about writing clean, scalable code just by reviewing the pull requests I've received over the lifetime of the project."
As well as growing his network within the developer community, Harms launched his own app Stages into the Shopify App Store, and acquired new clients as a result of his work on the library.
"I've found myself in the peculiar position of being viewed as an expert on the topic of building Shopify apps with C# and .NET. I'm now incredibly lucky to have potential clients who reach out and approach me for projects, instead of having to search for clients and projects myself."
The GitHub repo has gone on to receive over 380 stars and currently has 38 contributors.
"Looking back now, it seems like a genuine stroke of luck that I built this package and have had so many developers using it. Even though it's completely open-source and I've never charged a penny to use it, it has been directly responsible for bringing in clients, paying my bills, and leading me down my career path as a Shopify app developer," Harms says.
"I don't know where I'd be if I hadn't started the ShopifySharp project, but I'm glad to be here now building developer tools for Shopify's platform!"
2. Laravel Shopify App
Built by Little Rocket Agency, this is a Laravel package that integrates with Shopify's REST and GraphQL APIs, and assists developers working with PHP in their apps. Laravel is an increasingly popular framework for PHP, and this package is compatible with version 7 and above of Laravel.
"At Little Rocket, we've used the package for a wide variety of clients to meet their custom requirements," says Tyler King, Director of Development at Little Rocket. "We've used it to create apps that manage flash ticket sales, loyalty rewards programs, and more. The package has allowed us to get from concept to minimal implementation within a day, in some cases."
King also adopted Polaris and GraphQL into the package when Shopify released these features, so both developers and users can feel at home with a consistent interface throughout the Shopify Admin experience.
In 2017, King open-sourced the package on Github without any expectations of adoption.
"I guess the timing was right for opening it up to the world because it quickly gained traction, growth, and contributors."
"I simply put it out there in hopes someone would find it as useful as I did. I guess the timing was right for opening it up to the world because it quickly gained traction, growth, and contributors, evolving into what it is today."
3. PHP Shopify API Wrapper
The PHP Shopify API Wrapper is a package for PHP development, built by the Zapiet team, that allows developers to make requests to store data. Including this in a PHP project will allow developers to get a headstart on their PHP Shopify app.
"We use the API wrapper in all our apps to help simplify our interactions with the Shopify API," says Andrew Cargill, founder of Zapiet. "It helps speed up our workflows by providing common naming conventions and validation across all Shopify REST API endpoints."
So far, feedback has been overwhelmingly positive.
"Every year at Shopify Unite I have partners thank me for creating the API wrapper as it has saved them hours in development time," Cargill says. “We also have a ton of activity on the repository with the community constantly submitting pull requests, filing issues, and asking questions."
"We also have a ton of activity on the repository with the community constantly submitting pull requests, filing issues, and asking questions."
4. Shopify Sinatra App
Built by Kevin Hughes, Staff Developer at Clio, and previously at Shopify, this demo app is a lightweight extension for generating Shopify apps using Sinatra, and is created with deploying to Heroku in mind. The framework itself provides a handful of helper methods to make creating a Shopify app as easy as possible.
Hughes has always been interested and drawn towards open-source projects.
"I feel open-source should be the default for most software, especially if sharing has value to others. I also have an open-source app built on top of the framework."
The Shopify Sinatra App was created out of necessity for Hughes.
"When I worked at Shopify, there weren't nearly as many resources for building apps as there's now, and a lot of what we did have was based on Rails," Hughes explains. "These Rails examples were great, but it meant you needed to have some knowledge of Rails to understand the tutorial. I was also new to Rails and felt this need for more pure examples. This, along with a personal desire for minimalism, led me to create the shopify-sinatra-app framework and build an app on top of it. It taught me a lot about how Shopify app development worked."
"It taught me a lot about how Shopify app development worked."
Hughes has also received a lot of positive feedback on the framework.
"For many people, this is exactly what they’re looking for. It bridges the gap nicely for those looking to get into app development but who don't know or need Rails yet."
You might also like: How and Why to Integrate No-Code Automation into Your Shopify App.
5. ShopifyAPI and Plug.ShopifyAPI
Elixir is a dynamic, functional language for building scalable and maintainable applications, and this library, created by Pixel Union, allows app developers to build Shopify apps with Elixir. This library also allows developers to handle webhooks, API versions, and query using GraphQL.
"We use the library internally for our apps that appear in the Shopify App Store, as well as for large-scale agency work," says Hez Ronningen, Lead Architect with Pixel Union. "One use case is our rapid prototyping. We use a boilerplate project with some generation scripts to quickly create a Shopify app from which we can test, validate, and develop. This takes a lot of the duplication work out of spinning the code base up."
Ronningen has found Elixir to be a reliable language for building Shopify apps.
"As old as Elixir is, it runs on a stable and time-tested virtual machine, BEAM, which provides a lot of the core components for Elixir. The features list for Elixir is pretty extensive and continues to grow as the language and adoption continues. I am a long-time Ruby dev and find the transition refreshing and easy."
Opening the library up to the Shopify developer community allowed it to be enhanced with the input of other partners.
"We went open-source after convincing the rest of the company that increased eyes on the core Shopify connection would result in better code, and let us help the Shopify developer ecosystem."
"We went open-source after convincing the rest of the company that increased eyes on the core Shopify connection would result in better code, and let us help the Shopify developer ecosystem."
You might also like: How to Launch a Self-Serve Shopify App.
Unlocking creativity with collaboration
Learning from the experiences of fellow developers can be a great way to give your app project a head start, and remove the barriers to your success. Hopefully the tools and libraries highlighted here will allow you to get up and running quickly with your next Shopify app.
If you're inspired by the experiences of these stories, and are working on a tool or resource, consider how you might make it available as an open-source project to the Shopify developer community. You could also contribute to an existing developer resource, by opening a PR to improve it with extra functionality or optimizing its code.
With collaboration, the possibilities are endless!
Read more
- How to Build a Shopify App as a Front End Developer
- How to Build a Shopify App: The Complete Guide
- Introducing BuyButton.js – Shopify's New JavaScript Library
- How to Make the Most of Shopify's New Price Rules API
- Shopify API Release: January 2021
- How to Level Up Your App with Theme App Extensions
- Persistence Matters: 6 Lessons From My First 6 Months on the Shopify App Store
- Learn About Shopify App Development at React Summit 2021
- Leveraging the Partner API: Useful Business Tools You Can Build
- Shopify Webhooks: How to Prep Your App This Black Friday/Cyber Monday
Are there any open-source libraries that you use in your app development projects? Let us know in the comments below!