Component-Based Rails Applications: Large Domains Under Control
When Ruby on Rails was introduced, web developers flocked to it, quickly building applications that have become utterly indispensable to their organisations. But those early Rails applications have often proven extremely difficult to maintain, evolve, and scale. Now, in Component-Based Rails Applications, Stephan Hagemann introduces a practical, start-to-finish methodology for modernising and restructuring existing Rails applications with modern components. 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 to manage, change, and test.

The first and only guide to componentising Rails, this book offers hands-on, step-by-step coverage of

  • Creating a full-fledged component-based Rails application from the ground up
  • Refactoring an existing Rails application to extract components
  • Using gems and engines to implement components in Ruby and Rails code bases
  • Applying modern patterns such as DCI and hexagonal architecture
  • Overcoming the unique challenges that arise during componentisation of Rails applications
Throughout, Hagemann introduces concepts and techniques that developers can use to improve applications of many kinds, even if they weren’t built with Rails or Ruby.

The full text downloaded to your computer

With eBooks you can:

  • search for key concepts, words and phrases
  • make highlights and notes as you study
  • share your notes with friends

eBooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps.

Upon purchase, you will receive via email the code and instructions on how to access this product.

Time limit

The eBooks products do not have an expiry date. You will continue to access your digital ebook products whilst you have your Bookshelf installed.

1126440557
Component-Based Rails Applications: Large Domains Under Control
When Ruby on Rails was introduced, web developers flocked to it, quickly building applications that have become utterly indispensable to their organisations. But those early Rails applications have often proven extremely difficult to maintain, evolve, and scale. Now, in Component-Based Rails Applications, Stephan Hagemann introduces a practical, start-to-finish methodology for modernising and restructuring existing Rails applications with modern components. 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 to manage, change, and test.

The first and only guide to componentising Rails, this book offers hands-on, step-by-step coverage of

  • Creating a full-fledged component-based Rails application from the ground up
  • Refactoring an existing Rails application to extract components
  • Using gems and engines to implement components in Ruby and Rails code bases
  • Applying modern patterns such as DCI and hexagonal architecture
  • Overcoming the unique challenges that arise during componentisation of Rails applications
Throughout, Hagemann introduces concepts and techniques that developers can use to improve applications of many kinds, even if they weren’t built with Rails or Ruby.

The full text downloaded to your computer

With eBooks you can:

  • search for key concepts, words and phrases
  • make highlights and notes as you study
  • share your notes with friends

eBooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps.

Upon purchase, you will receive via email the code and instructions on how to access this product.

Time limit

The eBooks products do not have an expiry date. You will continue to access your digital ebook products whilst you have your Bookshelf installed.

42.99 In Stock
Component-Based Rails Applications: Large Domains Under Control

Component-Based Rails Applications: Large Domains Under Control

by Stephan Hagemann
Component-Based Rails Applications: Large Domains Under Control

Component-Based Rails Applications: Large Domains Under Control

by Stephan Hagemann

eBook

$42.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

When Ruby on Rails was introduced, web developers flocked to it, quickly building applications that have become utterly indispensable to their organisations. But those early Rails applications have often proven extremely difficult to maintain, evolve, and scale. Now, in Component-Based Rails Applications, Stephan Hagemann introduces a practical, start-to-finish methodology for modernising and restructuring existing Rails applications with modern components. 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 to manage, change, and test.

The first and only guide to componentising Rails, this book offers hands-on, step-by-step coverage of

  • Creating a full-fledged component-based Rails application from the ground up
  • Refactoring an existing Rails application to extract components
  • Using gems and engines to implement components in Ruby and Rails code bases
  • Applying modern patterns such as DCI and hexagonal architecture
  • Overcoming the unique challenges that arise during componentisation of Rails applications
Throughout, Hagemann introduces concepts and techniques that developers can use to improve applications of many kinds, even if they weren’t built with Rails or Ruby.

The full text downloaded to your computer

With eBooks you can:

  • search for key concepts, words and phrases
  • make highlights and notes as you study
  • share your notes with friends

eBooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps.

Upon purchase, you will receive via email the code and instructions on how to access this product.

Time limit

The eBooks products do not have an expiry date. You will continue to access your digital ebook products whilst you have your Bookshelf installed.


Product Details

ISBN-13: 9780134775265
Publisher: Pearson Education
Publication date: 06/22/2018
Series: Addison-Wesley Professional Ruby Series
Sold by: Barnes & Noble
Format: eBook
Pages: 304
File size: 27 MB
Note: This product may take a few minutes to download.
Age Range: 18 Years

About the Author

Stephan Hagemann most recently has been supporting clients of Pivotal Software in journeys of digital transformation. In these, organizational change is as much a topic as the implementation of Agile processes and software system architecture. This work grew out of Stephan’s previous management and engineering roles within Pivotal Labs, Pivotal’s software consulting group. Prior to joining Pivotal, Stephan moved to the United States from Germany where he worked as a software engineer for xing. He has a doctorate in information systems from the University of Münster in Germany.

Table of Contents

Foreword xi

Preface xiii

Acknowledgments xxi

About the Author xxiii


Chapter 1: Introduction to Component-Based Rails Applications 1

1.1 Component-Based Rails 2

1.2 Benefits of Component-Based Applications 4

1.3 Component-Based Ruby 13

1.4 The Application Continuum 14

1.5 Related Works 15

 

Chapter 2: Creating a Component-Based Application 17

2.1 The Entire App Inside a Component 18

2.2 ActiveRecord and Handling Migrations within Components 27

2.3 Handling Dependencies within Components 34

 

Chapter 3: Tooling for Components 49

3.1 Testing a Component 50

3.2 Testing the Main Application 65

3.3 Asset Loading for Components 74

3.4 Switching Databases 82

3.5 Deploying to Platforms-as-a-Service 86

3.6 Updating Application Dependencies 90

3.7 Proposal for a Different Application Root—Showcasing the Difference of Components’ Structure 99

 

Chapter 4: Component Refactorings: Extracting Components Out of Components 111

4.1 Determining What to Extract: Bottom-Up 112

4.2 Refactoring: Extract Domain Gem—Predictor 120

4.3 Determining What to Extract: Top-Down 139

4.4 Refactoring: Pulling Up a UI Component—TeamsAdmin, GamesAdmin, PredictionUI, WelcomeUI 150

4.5 Refactoring: Pushing Down a Model Component—Teams, Games 168

4.6 Refactoring: Improve Naming of Component—AppComponent to WebUI 183

4.7 More Component Refactoring Patterns 189

 

Chapter 5: From Ball of Mud to First Components 195

5.1 Small Steps 196

5.2 One Big Step 196

 

Chapter 6: Component-Based Rails in Relation to Other Patterns 211

6.1 Hexagonal Architecture 212

6.2 Data-Context-Integration (DCI) 227

 

Chapter 7: Components in Other Languages 237

7.1 Kotlin, Java, and Gradle 238

7.2 .NET / C 241

7.3 Conclusion 243

 

Appendix 245

A.1 Plain versus --full versus --mountable Engines 245

A.2 How Do Engine Routes and Engine Mounting Work? 254

A.3 Additional Testing with Older Versions of Rails 261

 

Index 265

From the B&N Reads Blog

Customer Reviews