<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp" -->

---
title: Frontend Ruby on Rails with Glimmer DSL for Web — Andy...
description: Andy Maleh presents Glimmer DSL for Web, a Ruby-in-the-browser frontend framework for Rails that uses Opal (a Ruby-to-JavaScript transpiler) to enable real...
canonical: https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Frontend Ruby on Rails with Glimmer DSL for Web — Andy Maleh | RubyConf Austria 2026 | daily.dev
og:description: Andy Maleh presents Glimmer DSL for Web, a Ruby-in-the-browser frontend framework for Rails that uses Opal (a Ruby-to-JavaScript transpiler) to enable real...
og:url: https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp
og:image: https://api.daily.dev/og/posts/vwGETCCPP.png
og:image:alt: Frontend Ruby on Rails with Glimmer DSL for Web — Andy Maleh | RubyConf Austria 2026
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Frontend Ruby on Rails with Glimmer DSL for Web — Andy Maleh | RubyConf Austria 2026

**[Ruby Flow](https://daily.dev/sources/rubyflow)** · 28 min read · 1 upvotes · 0 comments

## Summary

Andy Maleh presents Glimmer DSL for Web, a Ruby-in-the-browser frontend framework for Rails that uses Opal (a Ruby-to-JavaScript transpiler) to enable real frontend development without writing JavaScript. The talk argues that React conflicts with Ruby and Rails values of programmer happiness and convention over configuration, citing issues like JSX mixing concerns, hooks complexity, tight component coupling, and premature optimization. Glimmer offers bidirectional data binding, an HTML/CSS DSL in pure Ruby, MVC-friendly component architecture, and drop-in replacement for React on Rails. A real-world migration case study shows a React component that took 1.5 months to build was reimplemented in Glimmer in 1.5 days. The recommended adoption path is incremental: start with Turbo, add Hotwire/Stimulus, then use Glimmer for heavy frontend interactions.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=qTukq5AcSK0>

## Questions this post answers

### What is Glimmer DSL for Web and how does it let me avoid writing JavaScript in a Rails app?

Glimmer DSL for Web is a Ruby front-end framework that runs in the browser via Opal, a Ruby-to-JavaScript transpiler supporting Ruby 3.1 and up, so developers write declarative Ruby components with HTML and CSS DSLs instead of JavaScript or JSX. It integrates into Rails views through a glimmer component helper embedded inside ERB templates, acting as a drop-in replacement for React components.

_Developers weighing Ruby-only front ends against React can compare real-world tradeoffs on daily.dev._

### How does bidirectional data binding work in Glimmer DSL for Web?

Bidirectional data binding in Glimmer uses a special Ruby metaprogramming operator (resembling a hash rocket) to bind an input's value to a model attribute in both directions: changing the input updates the model, and changing the model updates the input. Using a left-pointing arrow instead makes the binding unidirectional, giving developers explicit control over data flow in components.

_Anyone comparing Ruby-based data binding approaches to React state hooks can track patterns like this on daily.dev._

### How much faster is it to rebuild a React component in Glimmer DSL for Web according to real project experience?

One React component that took 1.5 months to develop was rebuilt in Glimmer DSL for Web in 1.5 days, according to a Rails team's migration experience at a fintech company. The team estimated that roughly 12 months of React front-end work could be completed in about 6 months using Glimmer, and found it faster to reimplement React components from scratch than to reuse them due to tight coupling.

_Teams weighing a React-to-Ruby front-end migration can weigh case studies like this one on daily.dev._

## Similar posts on daily.dev

- [Code Master Blog: Frontend Ruby on Rails with Glimmer DSL for Web \(submitted to an International Ruby conference\)](https://daily.dev/posts/code-master-blog-frontend-ruby-on-rails-with-glimmer-dsl-for-web-submitted-to-an-international-rub-iors76ygn) · Ruby Flow · 0 upvotes · 0 comments
- [Code Master Blog: Presentation Slides for RubyConf Austria 2026 Talk "Frontend Ruby on Rails with Glimmer DSL for Web"](https://daily.dev/posts/code-master-blog-presentation-slides-for-rubyconf-austria-2026-talk-frontend-ruby-on-rails-with-gl-vcw3kvmpw) · Ruby Flow · 0 upvotes · 0 comments
- [Code Master Blog: Exercises for the wroclove.rb 2026 Ruby conference workshop "Building Rails SPAs in Frontend Ruby with Glimmer DSL for Web"](https://daily.dev/posts/code-master-blog-exercises-for-the-wroclove-rb-2026-ruby-conference-workshop-building-rails-spas-i-tzxcfzxuh) · Ruby Flow · 0 upvotes · 0 comments
- [Code Master Blog: Workshop Accepted: "Building Rails SPAs in Ruby using Glimmer DSL for Web" at Wroclove.rb 2026](https://daily.dev/posts/code-master-blog-workshop-accepted-building-rails-spas-in-ruby-using-glimmer-dsl-for-web-at-wroc-f0mrggvbi) · Ruby Flow · 0 upvotes · 0 comments

---

Tags: [#react](https://daily.dev/tags/react), [#ruby](https://daily.dev/tags/ruby), [#rails](https://daily.dev/tags/rails)

[View this post on daily.dev](https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Frontend Ruby on Rails with Glimmer DSL for Web — Andy Maleh | RubyConf Austria 2026","url":"https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp"},"datePublished":"2026-07-21T03:39:44.640Z","dateModified":"2026-09-14T08:57:55.868Z","description":"Andy Maleh presents Glimmer DSL for Web, a Ruby-in-the-browser frontend framework for Rails that uses Opal (a Ruby-to-JavaScript transpiler) to enable real...","image":"https://i.ytimg.com/vi/qTukq5AcSK0/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/qTukq5AcSK0/sddefault.jpg","isAccessibleForFree":true,"articleSection":"Ruby Flow","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Ruby Flow","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a21aaa8bcbbf448193a016895c90a0e1","url":"https://daily.dev/sources/rubyflow"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"react,ruby,rails","timeRequired":"PT28M","video":{"@type":"VideoObject","name":"Frontend Ruby on Rails with Glimmer DSL for Web — Andy Maleh | RubyConf Austria 2026","description":"Andy Maleh presents Glimmer DSL for Web, a Ruby-in-the-browser frontend framework for Rails that uses Opal (a Ruby-to-JavaScript transpiler) to enable real...","thumbnailUrl":"https://i.ytimg.com/vi/qTukq5AcSK0/sddefault.jpg","uploadDate":"2026-07-21T03:39:44.640Z","duration":"PT28M","url":"https://api.daily.dev/r/vwGETCCPP","embedUrl":"https://www.youtube.com/embed/qTukq5AcSK0"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Ruby Flow","item":"https://daily.dev/sources/rubyflow"},{"@type":"ListItem","position":3,"name":"Frontend Ruby on Rails with Glimmer DSL for Web — Andy Maleh | RubyConf Austria 2026"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/frontend-ruby-on-rails-with-glimmer-dsl-for-web-andy-maleh-rubyconf-austria-2026-vwgetccpp#faq","mainEntity":[{"@type":"Question","name":"What is Glimmer DSL for Web and how does it let me avoid writing JavaScript in a Rails app?","acceptedAnswer":{"@type":"Answer","text":"Glimmer DSL for Web is a Ruby front-end framework that runs in the browser via Opal, a Ruby-to-JavaScript transpiler supporting Ruby 3.1 and up, so developers write declarative Ruby components with HTML and CSS DSLs instead of JavaScript or JSX. It integrates into Rails views through a glimmer component helper embedded inside ERB templates, acting as a drop-in replacement for React components. Developers weighing Ruby-only front ends against React can compare real-world tradeoffs on daily.dev."}},{"@type":"Question","name":"How does bidirectional data binding work in Glimmer DSL for Web?","acceptedAnswer":{"@type":"Answer","text":"Bidirectional data binding in Glimmer uses a special Ruby metaprogramming operator (resembling a hash rocket) to bind an input's value to a model attribute in both directions: changing the input updates the model, and changing the model updates the input. Using a left-pointing arrow instead makes the binding unidirectional, giving developers explicit control over data flow in components. Anyone comparing Ruby-based data binding approaches to React state hooks can track patterns like this on daily.dev."}},{"@type":"Question","name":"How much faster is it to rebuild a React component in Glimmer DSL for Web according to real project experience?","acceptedAnswer":{"@type":"Answer","text":"One React component that took 1.5 months to develop was rebuilt in Glimmer DSL for Web in 1.5 days, according to a Rails team's migration experience at a fintech company. The team estimated that roughly 12 months of React front-end work could be completed in about 6 months using Glimmer, and found it faster to reimplement React components from scratch than to reuse them due to tight coupling. Teams weighing a React-to-Ruby front-end migration can weigh case studies like this one on daily.dev."}}]}
```

