Component-based Rails Applications

What this about?

Component-Based Rails is a proven method to manage the complexity of large applications. It ensures that we can maintain development speed, quality, and fun throughout the life cycle of applications. Components do this by enabling conversations about high-level structures that lead to improved communication of intent, more collaboration opportunities, and better maintenance capabilities.

As Rails applications grow, even experienced developers find it difficult to navigate code bases, implement new features, and keep tests fast. Components are the solution, and Component-Based Rails Applications shows how to make the most of them.

Writing for programmers and software team leads who are comfortable with Ruby and Rails, Stephan Hagemann introduces a practical, start-to-finish methodology for modernizing and restructuring existing Rails applications.

One step at a time, Hagemann demonstrates how to revamp Rails applications to exhibit visible, provably independent, and explicitly connected parts–thereby simplifying them and making them far easier for teams to manage, change, and test. Throughout, he introduces design concepts and techniques you can use to improve applications of many kinds, even if they weren’t built with Rails or Ruby.
  • Learn how components clarify intent, improve collaboration, and simplify innovation and maintenance
  • Create a full Rails application within a component, from first steps to migrations and dependency management
  • Test component-based applications, manage assets and dependencies, and deploy your application to production
  • Identify the seams in an existing Rails application, and refactor it to extract components
  • Master a scripted, repeatable approach for refactoring Rails applications of any size
  • Use component-based Rails with two popular structural patterns: hexagonal and DCI architecture
  • Leverage your new component skills with other frameworks and languages
  • Overcome the unique challenges that arise as you componentize Rails applications

If you’re ready to simplify and revitalize your complex Rails systems, you’re ready for Component-Based Rails Applications.

You'll Learn

Author

Stephan Hagemann

Stephan has built a career helping organizations like Humana and Volkswagen rethink their approach to software and cloud based architectures.

Stephan prides himself in building robust systems that stand the test of time and are only as complex as they need to be to accomplish the task. He likes his programming language to get out of the way. He has most experience with Ruby, JavaScript, Java, and Go but he is happy to dabble in any language. In his book, Component-based Rails Applications, he outlines best practices for pushing Ruby to new levels of performance and maintainability. His new book, Gradual Modularization for Ruby and Rails, revamps and expands on the ideas of components based on recent the development of package-based modularization.

Native to Germany, Stephan received his master and doctorate in Information Systems from the University of Muenster. He is part of Engineering at Gusto. He lives with his wife and dog in Boulder, Colorado.