Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
Recorded in June 2018 during https://2018.rubyparis.org in Paris. More talks at https://goo.gl/8egyWi
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 this video from the Paris.rb Conf 2018, Paul-Armand Assus discusses the shift from REST to GraphQL in API development within a Ruby on Rails context. With five years of experience as a Ruby web developer and a former CTO, he shares his insights on improving API architecture. Key points discussed include: - **API Construction**: Paul emphasizes that building APIs is essential for providing data to consumers, such as front-end and mobile applications. Initially, he utilized the JSON API standard, but faced complications with numerous custom endpoints when attempting to accommodate specific data requests from front-end developers. - **Transition to GraphQL**: After experiencing frustrations with REST, he discovered GraphQL, which allows a single endpoint for queries and mutations, simplifying API management significantly. The introduction of subscriptions in GraphQL resembles WebSockets and enhances data handling. - **Applying Domain-Driven Design**: To refine the API architecture further, Paul adopted domain-driven design principles, resulting in a gem that effectively transforms a Rails API to a GraphQL API. - **Example of API Creation**: He provides a practical example where he develops a simple API for gathering feedback from conference attendees. This API accommodates speakers, spectators, comments, and categories for talks. - **Code Structure**: Paul highlights the efficiency of working with GraphQL, showing that only one controller is needed, along with a single route relating to the GraphQL method, which streamlines the backend logic for handling requests and authentication. - **Advanced Functionality and Filters**: He discusses advanced querying features and your ability to filter results based on user authentication, delivering a robust querying process while ensuring optimal database performance. - **Real-World Deployment**: The application was deployed on Heroku, allowing attendees to interactively engage with the API used in the presentation. Finally, Paul addresses audience questions about the challenges of transitioning from a JSON API, front-end complexities, validation errors, and the reasoning behind his move to GraphQL over JSON API. He reassures that the migration can be executed iteratively rather than all at once, allowing for a smoother transition for development teams. In conclusion, Paul emphasizes that GraphQL's flexibility addresses many concerns associated with RESTful APIs, particularly regarding nested relationships and data filtering capabilities, making it an advantageous choice for modern API design.
Suggest modifications
Cancel