Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By Andrew Warner Is app/views the worst part of your codebase? Have you ever told someone on your team "remember to update the client-side views too"? Too long has the node.js community touted their advantage of using the same code on the client and the server. It's time that Rails got a few punches in. We should think of views as objects, not template files. In this talk I show how that lets us tease apart presentation from data, and build logic-less templates that are shared between client and server. Andrew Warner studied CS and Psychology at Wesleyan. He has worked at companies large and small and with tech stacks ranging from Java/Spring to Ruby on Rails. He is currently a developer at Rap Genius, where he helps build and scale a Rails backend so that all of text can be annotated. Help us caption & translate this video! http://amara.org/v/FG1h/
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 his talk at RailsConf 2014, Andrew Warner discusses the rethinking of views in Rails applications, emphasizing that views should be treated as objects rather than mere templates. He argues that the traditional separation of client-side and server-side views results in development inefficiencies and inconsistencies. Warner introduces the concept that the ideal user experience combines a seamless, single-page application feel with developer-friendly practices while advocating for a unified front-end framework that can share templates and logic between the client and server. Key points of his presentation include: - **The Holy Grail:** Warner defines this as the combination of the best user experience and the best developer experience. Users should enjoy a rich, interactive interface akin to that of a desktop or mobile app, while developers should have access to an efficient and cohesive framework. - **Current Challenges in Rails:** He highlights that Rails applications often rely on separate view templates for client and server, leading to unnecessary complexity and heightened chances for errors during updates. - **Existing Node.js Solutions:** Warner cites Node.js frameworks as a current best practice for achieving these goals, focusing on solutions like Airbnb’s render framework, which allows for a unified development experience that Rails currently lacks. - **Perspective Library:** He proposes a new solution involving a library called 'Perspective' that facilitates sharing templates and logic across client and server. This involves using Mustache templates, which avoid logic complexity and enforce data separation, ensuring that UI elements can be rendered uniformly in both environments. - **Benefits of the Perspective Approach:** Warner argues that this approach improves separation of concerns, enhances testing capabilities, simplifies caching strategies, and allows developers to effectively manage data flow between the client and server. In conclusion, Warner advocates for a shift in how Rails applications are designed, emphasizing thick-client experiences, shared templates, and logic-less views to ultimately enhance both user experience and developer productivity. His perspective highlights a long-term vision for strengthening Rails' tooling to better compete with modern JavaScript frameworks.
Suggest modifications
Cancel