← Graph

No-build Utopia: Modern User Experiences with Rails & Web Standards

talk 35 connections

Ryan Townsend's wroclove.rb 2026 talk arguing that 'Rails was right all along' about HTML-over-the-wire and that the web platform is catching up. Opens with data: median JavaScript shipped has 3×'d over a decade (Tim Kadlec measured a +15% desktop / +10% mobile jump correlated with the rise of LLMs), while 2/3 of newly-purchased devices (e.g. Galaxy A26) perform like a 2017 iPhone 8 — so more JS on slower real devices. Walks through Rails' frontend history: 2005 checkout via SVN and dumping JS into /public; 2006 Rails 1.11 RJS; 2009 Sprockets + CoffeeScript + Sass + Chris Wanstrath's Pjax; Rails 3.1/4 Turbo Links default; the 'dark years' of resume-driven development, microservices, NoSQL, GraphQL, SPAs and Webpacker; and the return via Rails 7 with import maps, Hotwire/Turbo, and Prop Shaft. Cites Loren Stewart's argument that frontend complexity should be a gradient rather than binary 'toy SSR vs real SPA'. Core web vitals chart shows Rails ahead of JS frameworks on origins passing all three thresholds. Second half presents five APIs: (1) View Transitions (level 1 in-page, level 2 cross-document — one line of CSS for fade, named transitions for matched elements); (2) Speculation Rules (declarative JSON for prefetch / prerender with eagerness levels — conservative/moderate/eager/immediate; Google's new prerender-until-script middle ground; Safari about to ship prefetch); (3) HTTP Compression Dictionaries (IETF RFC approved ~Sept 2025 — ~96% compression on his personal site, 5KB vs 20KB; standalone dictionaries replicate SPA shell/content split); (4) Invoker Commands + Interest Invokers (button commandfor/command attributes for dialog/menus/number steppers, interest invokers for hover popovers and mobile long-press, with polyfills); (5) Declarative Partial Updates (experimental template-tag fragment streaming like server-side Hotwire, could be browser-native for form/nav soft navigations — Ryan will push for it as his first browser API, his demo UI runs on 614 bytes of JS). Q&A covers migrating an old React app (measure client-side performance first, iterative wins), Hotwire + Turbo broadcasts alignment (generally fine, future standardization via declarative partial updates), and HTMX ('a great little library, like jQuery of its era; goal is to make itself redundant').

date
2026-04-17
type
talk
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Rails' frontend history and no-build direction are central to the talk.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Hotwire tool
Hotwire/Turbo/Stimulus presented as Rails' HTML-over-the-wire answer to SPAs.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Turbo tool
Turbo discussed as replacement for Turbo Links and the future integration point with the new APIs.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Stimulus tool
Ryan positions Stimulus as naturally matching Loren Stewart's level-four complexity in his gradient.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
First of five web-platform APIs presented in the talk.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Second of five APIs — prefetch/prerender for instant navigation.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Third of five APIs — shrinks repeated text resources dramatically.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Fourth of five APIs — HTML-native button/dialog interactivity.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Fourth of five APIs — declarative hover/long-press popovers.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Fifth and most forward-looking of the five APIs — Hotwire-like fragment streaming as a browser primitive.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
RJS concept
Traced as the 2006 Rails 1.11 precursor to HTML-over-the-wire.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Sprockets tool
Covered as the 2009/3.1-era Rails asset pipeline eventually replaced by Prop Shaft.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Prop Shaft tool
Named as the minimal Sprockets replacement in the Rails 7+ no-build stack.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Rails 7 import map integration is central to the no-build frontend story.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
History leg: Turbo Links shipped in Rails 3.2, became default in Rails 4, replaced by Turbo.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Pjax tool
Chris Wanstrath's 2009 Pjax library cited as the direct inspiration for Turbo Links.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Webpacker tool
Criticized as the 'dark years' enabler of replicating the backend on the client.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Sprockets-era feature now deprecated as ES6+ absorbed its features.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Sass tool
Bundled with Rails in the Sprockets era; largely replaced by native CSS.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Core Web Vitals concept
Rails' lead on Core Web Vitals origins motivates the 'Rails was right' thesis.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Loren Stewart's gradient model is cited as the right way to think about frontend complexity.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Named as a root cause of the 2010s SPA/microservice/GraphQL wave Rails had to accommodate.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
Wirth's Law concept
Used to explain why growing JavaScript payloads overwhelm hardware improvements.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
htmx tool
Discussed in Q&A as a Hotwire alternative Ryan likes.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
about
HTTP/2 tool
HTTP/2 support motivated moving from concatenated Sprockets bundles to import maps.
asked_at
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Asked during the Q&A after Ryan's talk.
asked_at
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Asked during the Q&A.
question What about HTMX?
asked_at
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Asked during the Q&A.
person Ryan Townsend
authored
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Delivered this talk at wroclove.rb 2026.
from_talk
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Core closing message of the talk.
from_talk
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Ryan's first piece of advice in the migration Q&A.
from_talk
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Summary of the Loren-Stewart-inspired gradient prescription.
from_talk
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Data point Ryan uses to undermine the SPA-for-snappy-nav argument.
from_talk
No-build Utopia: Modern User Experiences with Rails & Web Standards talk
Chart shown during the talk backing the 'Rails was right' thesis.
talk No-build Utopia: Modern User Experiences with Rails & Web Standards
presented_at
Talk presented at the 2026 edition of wroclove.rb.

Provenance

Created
2026-04-17 16:18 seed
Read by
31 extractions