Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
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 presentation titled "Designing Hypermedia APIs," Steve Klabnik discusses the concept of designing APIs that genuinely utilize the web's capabilities, focusing on hypermedia. Klabnik expresses that while Rails popularized REST for developers, there is a significant disconnect between how REST is commonly understood and its true essence. He introduces the concept of hypermedia APIs as a step forward from traditional REST, which he sees as limited. Key points of the presentation include: - **Principle of Lifelong Learning**: Klabnik emphasizes his journey of exploring what REST truly represents and the importance of continuous learning in the field of software development. - **Definition of REST versus Hypermedia**: He clarifies that when he references REST, he means the simplified version understood in the Rails community rather than true REST principles. He asserts that current practices have led to a misunderstanding of what REST entails, largely differentiating it from hypermedia, which incorporates links between resources to guide navigation. - **Architectural Styles**: Klabnik outlines four major architectural styles for APIs: RPC (Remote Procedure Calls), XML, REST, and finally hypermedia APIs, explaining that while all serve a similar purpose, hypermedia offers a structured approach through connected resources. - **Key Components of Hypermedia APIs**: He highlights that a hypermedia API uses HTTP, MIME types, and hypermedia formats, playing a significant role in creating interactions between various resources and guiding users through a business process. - **Designing a Hypermedia API**: Klabnik discusses the five-step process for designing these APIs, emphasizing the need to evaluate business processes, create state machines, evaluate media type needs, build the API, and implement results effectively. He illustrates this with an example of a website that needed a hypermedia-driven API, showcasing how links can enhance user experience and navigation. - **Conclusion and Future Work**: Klabnik expresses his enthusiasm for these principles and mentioned he is working on a book titled 'Get Some REST' to delve deeper into the ideas discussed. He invites the audience to stay updated on his work and acknowledges the resources available at Jumpstart Lab as valuable for learners. Overall, Klabnik's talk encourages developers to move beyond traditional REST practices and adopt a hypermedia approach, enhancing API usability and coherence, while also advocating for better coding practices in the field of Ruby and Rails development.
Suggest modifications
Cancel