Architecture
Our architectural choices are pivotal in shaping the efficiency, scalability, and performance of our Shopify themes. We focus on a blend of tried-and-tested technologies and modern tools to deliver superior results.
Tailwind
Tailwind CSS forms the backbone of our styling approach. Its utility-first framework enhances our team's efficiency, allowing for nimble development and easy portability of components across projects. While acknowledging the HTML bloat it may introduce, we balance it with other tools and methodologies to maintain lean and efficient code.
Daisy UI
Daisy UI complements Tailwind by providing a set of baseline components. This integration accelerates our development cycles and addresses the gaps in core features typically found in other CSS frameworks. It significantly reduces HTML bloat, making our themes more streamlined and performant.
Vanilla JS
We utilize Vanilla JS for its simplicity and lightweight nature. Our themes heavily rely on WebComponents, ensuring a low barrier to entry for JS developers and maintaining a bare-bones code structure. This choice aligns with our principle of keeping things simple yet effective.
PNPM
PNPM is our chosen package manager for its efficiency and speed. It optimizes package storage and reduces duplication, making our development process faster and more resource-efficient.
Vite
Vite is selected for its rapid build times and ease of extensibility. It integrates seamlessly with our existing framework, enhancing our development workflow and allowing us to focus on delivering high-quality themes without being bogged down by technical constraints.
Cypress E2E
For end-to-end testing, we rely on Cypress. It ensures that our themes are robust and function as intended in real-world scenarios. Cypress helps us maintain the high quality and reliability that our clients expect from our products.
Liquid Ajax Cart
The Liquid Ajax Cart is an integral part of our theme architecture, providing a seamless and dynamic shopping cart experience. It enhances the user experience by allowing real-time updates and interactions without the need for full page reloads.