Gradual Modularization for Ruby and Rails

Stephan Hagemann

Buy it!

WORK IN PROGRESS: You can buy the book right here. I also do book clubs with teams that buy the book. You can also the book on Leanpub. All book delivery will be through leanpub so you can follow along as I complete this book!

For the longest time, Ruby and Rails developers had gems and engines as their main tools for creating structure to manage large-scale structures within their applications. This book is about a new tool in their tool belt: packages.

Be sure to check out

Based on the work on packwerk by Shopify packages allow a much more fluid move to modularization then components ever did. The effects are astounding: discussions about where to draw boundaries can be far less technical and focus more on the business because the underlying technology gets out of the way.

The concept underlying this is gradual modularization, which the author expects we will see spread into other languages and frameworks over the coming years. Why? Because gradual modularization allows for a not-before seen level of approachability and flexibility to modularization work. Work that required difficult decisions that were hard to reverse changes. Those decisions are now the extreme points on a spectrum of options where the right thing for the team can be somewhere in between.

This work is a continuation of Component-based Rails applications with superior tooling! I wrote a book about that too 😊

ruby (12) gradual modularization (21) components (3) architecture (4)

Except where otherwise noted, content on is licensed under CC BY 4.0 by Stephan Hagemann