This tutorial introduces “web development by building three example applications of increasing sophistication.” It starts, in chapter 1, with a minimal “Hello World” application that takes the reader through the entire web application development life cycle, from preparing the development environment to deploying the completed application. In the process, readers learn how to version control their software using popular version control systems such as Git and Bitbucket, and how to deploy their application in production on the web using a platform such as Heroku.
Chapter 2 develops a slightly more complex, but still a toy, web application using Rails’ scaffolding approach that can automatically generate much of the functionality needed for this application. While it may be tempting to stick to this approach for expediency, the complexity of the generated code makes it difficult to understand and can easily overwhelm someone new to Rails. The book demonstrates the scaffolding approach in chapter 2, but starting in chapter 3, all code for its final application is developed piecemeal so readers can gain a more complete and deeper understanding of the Rails framework.
In chapters 3 through 12, the author creates a large website, writing all its code from scratch using several software development best practices such as mockups, test-driven development (TDD), and integration tests. Chapter 3 starts with creating static pages for the website with a little dynamic content. Chapter 4 introduces the reader to a more in-depth treatment of the Ruby language underlying Rails, and picks up the development of the website in chapters 5 through 10, completing its layout, the user data model, and a full registration and authentication system. Finally, chapters 11 and 12 add microblogging and social features to the website.
Rails can be one of the hardest technologies to adopt for beginners because of its configuration complexity. Hartl, however, avoids this pitfall by making all his code examples run in a standardized cloud-based environment that is easily accessible via a simple web browser. This environment “comes preconfigured with most of the software needed for professional-grade Rails development,” so readers will not need to deploy any software on their machines and can quickly become productive developers of web applications using this framework.
More reviews about this item: Amazon, Goodreads