Jump to ratings and reviews
Rate this book

RESTful Web Clients: Enabling Reuse Through Hypermedia

Rate this book
Powerful web-based REST and hypermedia-style APIs are becoming more common every day, but instead of applying the same techniques and patterns to hypermedia clients, many developers rely on custom client code. With this practical guide, you’ll learn how to move from one-off implementations to general-purpose client apps that are stable, flexible, and reusable. Author Mike Amundsen provides extensive background, easy-to-follow examples, illustrative dialogues, and clear recommendations for building effective hypermedia-based client applications. Along the way, you’ll learn how to harness many of the basic principles that underpin the Web.

348 pages, Paperback

First published December 25, 2015

1 person is currently reading
8 people want to read

About the author

Mike Amundsen

18 books13 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
5 (83%)
4 stars
1 (16%)
3 stars
0 (0%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for Cody Ray.
215 reviews21 followers
August 11, 2019
This was an awesome, eye-opening book that filled a big mental gap around how hypermedia-driven clients would work, with lots of code samples around the Representor pattern which I had seen mentioned in [1] but couldn't find any other references to.

This was a great follow-up to RESTful Web APIs [2]. The two of these books together paint the best picture of what REST/hypermedia APIs could actually look like in practice today, both from the server and client side. The author defines a framework called the OAA challenge -- Objects, Addresses, and Actions -- which he uses to show what the various hypermedia media types can do today, and then writes extension standards (e.g., HAL-Forms, Siren Object Profiles) to plug the gaps.

The end goal is to be able to reuse a generic API client for all APIs, like the browser does for the web, totally decoupling the client from server-side changes... and going further, letting the client automagically reflect updates from the server without actually upgrading the client code. (Again, this is the same way that website updates don't require browser updates.)

Do note that its entirely focused on human-driven clients still, not any machine-to-machine clients. But it definitely helped me understand how HTML and hypermedia-driven APIs (and subsequently UIs) are related for this class of web app. That's the one downside to this book set, imo, but I think it just reflects what is actually possible today.

[1] https://github.com/the-hypermedia-pro...
[2] https://www.goodreads.com/book/show/1...
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.