Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
This video was recorded on http://wrocloverb.com. You should follow us at https://twitter.com/wrocloverb. See you next year! Rails did a lot to bring REST to developers, but its conception leaves the REST devotee feeling a bit empty. "Where's the hypermedia?" she says. "REST isn't RPC," he may cry. "WTF??!?!" you may think. "I have it right there! resources :posts ! What more is there? RPC? Huh?" In this talk, Steve will explain how to design your APIs so that they truly embrace the web and HTTP. Just as there's an impedance mismatch between our databases, our ORMs, and our models, there's an equal mismatch between our applications, our APIs, and our clients. Pros and cons of this approach will be discussed, as well as why we aren't building things this way yet.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the video titled "Designing Hypermedia APIs," Steve Klabnik discusses the design principles of hypermedia APIs, contrasting them with traditional RESTful APIs, particularly as implemented in Ruby on Rails. This talk, recorded at the wroc_love.rb 2012 event, addresses the conceptual mismatches between applications, APIs, and clients, advocating for a design approach that fully leverages hypermedia capabilities. Key points from his presentation include: - **Understanding REST vs. Hypermedia**: Klabnik clarifies that while Rails facilitates a form of REST, true REST should be viewed as hypermedia APIs, which provide more extensive decoupling and adaptation possibilities for clients over time. - **Principles of Hypermedia APIs**: He articulates that hypermedia APIs are flexible, allowing for server-side changes without client-side updates. This flexibility remarkably mirrors the operation of the World Wide Web. - **Scalability Considerations**: Hypermedia APIs can scale effectively, but they may not always be optimal for scenarios that demand low latency. Klabnik emphasizes the challenges associated with caching in these environments. - **Key Design Steps**: He introduces a five-step process for designing hypermedia APIs, which includes evaluating business processes, creating state machines, identifying media types appropriate for the APIs, and proper implementation of those media types to facilitate effective client-server interactions. - **Media Types and Hypermedia**: The presentation emphasizes the importance of media types, which form the crucial contract between server and client. Klabnik advocates the addition of hypermedia semantics to formats like JSON to enhance their utility in APIs. - **Versioning Views**: He critiques traditional versioning practices, arguing they often introduce unnecessary coupling and complexity and presents an alternative approach through flexible hypermedia APIs that maintain backwards compatibility. - **Case Studies**: Klabnik references large-scale systems like Google and the operational principles of the World Wide Web as foundational models for understanding the potential of hypermedia approach. In conclusion, Klabnik's talk highlights the transformative potential of embracing hypermedia APIs for web applications and invites the audience to engage with his ongoing work and a public mailing list dedicated to discussions on hypermedia. This approach not only enhances API design but also promotes the evolution of client applications without disruption.
Suggest modifications
Cancel