The Web is slowly but surely changing from a model in which a human reader browses content on web pages to a model in which services and clients (not necessarily humans) exchange information. And because of this, author Silvia Puglisi explains, it makes more sense to build platforms instead of just products or applications. Platforms are like ecosystems interconnecting different applications, services, users, developers, and partners, and offer many benefits.
In this book, you'll learn how to design and develop Representational State Transfer (REST) platforms in Rails. You'll begin with an introduction to Ruby on Rails, and then move quickly through new concepts. At the end of each chapter, you'll have learned something new about building and organically extending a multi-service platform spanning different devices—and will have had some fun in the process. By the end of the book you'll know how to build an architecture composed of different services accessing shared resources through a set of collaborating APIs and applications.
Explore the basics of REST and HTTP, including REST architecture and the role of hypermedia
Get to know Rails and Ruby on Rails
Learn about API development and create an API
Take a thorough look at REST, including Asynchronous REST and testing RESTful services
Work with data streams as you map them onto an application UI and integrate external APIs in your application
Learn about device-independent development
Use data analytics to recognize important events, develop key metrics, and track them
Explore various tools you can use to build your own data analytic platform
Learn how to scale a Rails application successfully
Examine privacy and security issues and the implications of handling and collecting user data
Chapter 1From Hypertext to Hyperdata
REST and HTTP
RESTful Programming and Hypermedia
Chapter 2Getting Started with Ruby on Rails
Getting to Know Ruby on Rails
Setting Up Ruby and Rails
The Architecture of a Rails App
Chapter 3First Adventures in API Design
Application Programming Interfaces
Dos of API Development
Why You Should Use Rails to Build APIs
The WikiCat API
Chapter 4The REST of the World
Life Is CRUD
Chapter 5Designing APIs in RoR
Hypermedia and Adaptable APIs
The WikiCat Hypermedia API
Chapter 6Asynchronous REST
Asynchronous RESTful Operations
Asynchronous REST in Rails
Chapter 7Testing RESTful Services
Testing in Rails
Mocks, Stubs, Doubles, and Dummies
Testing RESTful Services
Chapter 8Microservices and Microapplications
Basics of SOA and Distributed Systems Design
The Evolutionary Approach
Thinking in Terms of Microapplications and Services
The Thematic Walks API
Chapter 9Mapping Data Streams onto an Application UI
Wanderings in Frontend Land
Rendering and Templating in Rails
Ember.js: A Framework for Creating Ambitious Web Applications
Planning the Application
Routing in Ember.js
Defining the Templates
Writing a Component
Exploring Walks Through Categories
Chapter 10Deploying an API
How Is an API Deployed?
Deploying the Wikipin API on OpenShift
Chapter 11Managing an App Ecosystem
Managing Your Community’s Happiness
Data Management and Analytics
Chapter 12Consuming Data Streams: Integrating External APIs in Your Application
Creating a Weather Service
If This Then Something
Adhering to the Terms of Service
Chapter 13Device-Independent Development
Web Development Is a Broad Term
Streaming Data into a Firefox OS App
Developing an Internet of Things App
Chapter 14Data Analytics
Data Comes from Everywhere
Monolithic Versus Microapplication Architectures
Monitor, Optimize, and Enhance
Actions and Events
Chapter 15Scaling Gracefully
Creating a Middleware for Different APIs to Communicate
Silvia Puglisi is a software engineer based in Barcelona, Spain. She is also part of the Information Security Group in the Department of Telematics Engineering at Universitat Politècnica de Catalunya (UPC) as Ph.D. candidate and research engineer. Previously Silvia worked for Google, Inc. as Operations Engineer and Enterprise Engineer.
She has a passion for technology and the web and likes building open applications and services for fun and profit. When she needs to rest her eyes away from the computer screen she loves hanging out at the beach and surfing.
The animal on the cover of RESTful Rails Development is Desmarest's hutia (Capromys pilorides, also known as the Cuban hutia), a large rodent found only in Cuba. It is named for Anselme Gaëtan Desmarest, a 19th-century French zoologist. Hutias live in a wide range of habitats throughout Cuba, including mangrove forests, plains, and swampland.
Desmarest's hutias are stocky animals with short legs and a waddling gait. They have coarse black or brown fur, as well as large claws to help them climb. Hutias normally live in pairs, and are most active during the day. At night, this animal sleeps in hollows among trees or rocks (it does not create burrows). Its omnivorous diet is made up of bark, leaves, nuts, and fruit, with an occasional lizard or insect. The hutia's stomach is among the most complex of all rodents, because it has three separate compartments.
These are the largest species of hutia, averaging 12–24 inches long and up to 19 pounds in weight. They were traditionally hunted for food in Cuba due to their size and agreeable taste, but became protected in 1968 when legislation made it illegal to kill the animals without a permit. Today, their population is so abundant that they damage crops and are considered pests.
It is likely that the first meat Christopher Columbus ate in the New World was hutia, which are common on Caribbean islands and were a staple in the diet of the indigenous people.
The book covers a good cross-section of relevant topics in the context of Ruby on Rails, which is great, but the code examples are full of aggravating errors and plainly were not proofed or edited in any way. I don't mind a little bit nof learning via debugging but after a while it was aggravating trying to find workarounds for pieces of code that could never have worked, and did not even when checked out of Github. This book would benefit from a revision.
Bottom Line No, I would not recommend this to a friend
I purchased this book to learn how to build APIs with Rails. I was really looking forward to the book. Unfortunately, there are WAY too many mistakes in the code examples for this book to be useful. You will have to continuously comb through the errata and GitHub repositories for this to be of any value at all. It's like there was absolutely no technical reviewing done on this book. It reads VERY much like a rough draft.
Bottom Line No, I would not recommend this to a friend