nayaread
HomeFavouritesTopicsSources
HomeFavouritesTopicsSources
NayaRead links to original engineering blogs. All copyright belongs to the respective authors.
Shopify Engineering·Jul 13, 2021·10 min read44

Shopify-Made Patterns in Our Rails Apps - Shopify

At Shopify, we’ve developed our own patterns in order to support our global platform. Before coming here, I've developed multiple Ruby (and Rails) applications at multiple growth stages. Because of that, I quickly came to appreciate some workarounds and automation that were created to support the large codebase of Shopify. If there’s something I appreciate about Ruby on Rails, it’s the principle of convention over configuration it’s been built with. This enables junior developers to build higher quality code than in other languages, simply by following conventions. Conventions are also great when moving to a new Rails application: the file structure is always familiar. But this makes it harder to go outside conventions. When people ask me about the biggest challenges of Ruby, I usually say it’s easy to start, but hard to become an expert. Everything is so abstracted, so one must be really curious and take the time to understand how Ruby and specifically Rails actually work. Our monolith, Shopify Core, employs many of the common Rails conventions. This ranges from the default application structure, to the usage of in-built libraries like the Active Record ORM, Active Model, or Ruby gems like FrozenRecord. At Shopify, we implement what most merchants need, most of the time. Similarly, the Rails framework also provides the infrastructure that most developers need, most of the time. Therefore, we had to find creative ways to make the largest Rails monolithic application maintainable. When ready to join Shopify as a developer, my goal is that this blog post is useful to you whether you are new to Ruby, or if you’ve worked with Ruby on other projects in the past. Dev I would like to give the first mention to our command line developer tool, dev. At Shopify, we have thousands of developers working on hundreds of active projects. Many of these projects,in the past, had their own workflows and instructions on setup, how to run tests, and so on. We created dev to

Architecture
Read original on shopify.engineering

Discussion around the web

  • Hacker News3 · 0 💬

Score breakdown

  • Technical depth61
  • Practical value30
  • Originality85
  • Writing quality100
  • Source reputation0
  • Recency0
  • External engagement6
  • On-site engagement0

NayaRead shows a summary and links to the original article. The full article is hosted on shopify.engineering.

More like this

Shopify Engineering

Shopify's path to Rails 3 - Shopify

Nov 16, 2010·9 min read
Shopify Engineering

The State of Ruby Static Typing at Shopify - Shopify

Dec 7, 2020·9 min read
Shopify Engineering

From Ruby to Node: Overhauling Shopify’s CLI for a Better Developer Experience - Shopify

Jan 10, 2023·14 min read
Shopify Engineering

How to Build a Web App with and without Rails Libraries - Shopify

Mar 26, 2021·29 min read