Ksenia Zvereva: What are your top Shopify best practices, both project and development-wise?
Simon Freimoser: First and foremost, it starts with a proper definition of the foundations we're working with. This includes clear documentation of the specific project objectives, just as much as going in there 'data-first' by checking all underlying data structures a business already offers. If you know the information architecture of every data entity, it's way easier to align the project work from the get-go. It sounds easy and obvious, but this step is often missed.
Following the foundational work, the next crucial step is comprehensive project planning. Here, it's important to reiterate the unique aspects of Shopify projects: quick time-to-market, scalability, and extensibility. Planning in iterations and milestones allows you to use these features to deliver a successful project effectively.
Once the development phase begins, it's essential to have robust and swift testing procedures in place. This ensures that speed and seamless functionality, critical features of Shopify development, are maintained even after the coding is complete.
Last but not least, throughout the development process, ask yourself: "Is the thing I'm currently doing contributing to merchant enablement?" If a business can't manage the store self-sufficiently and it inhibits their maintenance efforts, you are doing something wrong.
Ksenia Zvereva: And on the development side?
Yann Karl: It's crucial that all developers strictly adhere to Shopify's development guidelines and best practices for themes and apps. Remember, with great power comes great responsibility. You shouldn't just customise for the sake of it.
The first step in preparing our developers to work with Shopify is to instil the right mindset. Always consider the platform's capabilities first, then challenge the customer, rethink, and only then, think of ways to customise without reinventing the wheel. As Simon mentioned, our approach to working with our development staff is akin to our approach to client work.
In general, best practices apply the same way as with other projects: use version control for your development work to manage changes and collaborate effectively, and keep themes, apps and integrations up to date as well as possible to prevent incompatibilities, bugs or security issues.
Shopify offers an excellent CLI component that supports developers in handling the whole process of deploying changes to your different themes for testing, staging and production. It is a must-use for everyone working on any code change.
Last but not least, maintain clear and thorough documentation for all custom code, functionalities, and configurations. This is crucial to achieve a high level of maintainability for the entire project – for you and your colleagues.
Tico van Beurden: We try to stay as close to Shopify’s native features and behaviour as possible. Implementing a third-party tool can create more technical debt as well as additional monthly costs. We believe in Shopify and try to use its native features as much as possible to ride the wave successfully. We built our front end with the same goal: to utilise as many native browser features as possible.
Maintaining a lean development setup that isn’t overly reliant on too many packages is also crucial. The more packages you add, the more reliant you become and the more maintenance you need to do. Also, when in doubt about a particular implementation, looking at how it’s done in Dawn, Shopify’s own theme is beneficial. You can install this theme for free on any store to observe its behaviour or check the public repository for technical implementation details.
Utilising Shopify’s GitHub integration for deployment and instant backups is another best practice that ensures smooth operations and instant backups. Additionally, with server-less functions, you can extend the functionality of your native theme by utilising Shopify’s Admin APIs. This way, you can extend your theme with features that aren’t possible out of the box.
Are you planning to build with Shopify? Make sure to check out our Mollie x Shopify plugin, as well as our integration guides.
Want to continue this discussion? Join the Mollie Developer Community to talk to our engineers, product teams, and fellow community members.