Patterns of Rails Application Architecture is written in direct response to tough challenges that face the Rails community as it broadens and continues expanding into mainstream software. The author, noted Rails developer Obie Fernandez, noticed that despite a plethora of gems and online advice spanning a wide spectrum of coding challenges, the same designs can be adapted and applied to implement common web application features. With the help of an expert group of contributors, Obie distills over a dozen recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any Rails application developer.
The book is a collection of full-stack reference guides for each application pattern. Each pattern encompasses a common web application feature. First the feature is described, along with use cases and additional relevant specification. Then a detailed examination is made of the implementation of the feature, by reviewing code examples in Ruby, Coffeescript, Haml, CSS and other languages used in Rails programming. Throughout each chapter, special emphasis is placed on clarity, correctness and extensibility. Where appropriate, information about additional non-functional topics such as scalability and security complement the application patterns themselves.
The application patterns covered include
- User and Profile
- Activity Stream (high volume updates and caching)
- Order Page (credit card transactions)
- Wiki (content management)
- Workflow (configurable business logic)
- the Multi-step Wizard (partial form validation and state machines)
- Internationalization (i18n translations)
- the Report (denormalized data from heterogeneous sources)
- more TBA
Armed with this book, you will have the knowledge necessary to make important architectural decisions about your Rails applications and the proven patterns for use when building them. This book is an essential companion to The Rails 4 Way and vital reading for Rails developers from junior to master levels.