Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Ruby
  3. Glimmer

Glimmer

MITRuby

A Ruby DSL framework for building GUI applications and domain-specific languages with built-in data-binding.

GitHubGitHub
837 stars16 forks0 contributors

What is Glimmer?

Glimmer is a Ruby DSL framework that provides a domain-specific language engine and data-binding library for building GUI applications and other internal DSLs. It solves the problem of verbose GUI programming by offering a concise, declarative syntax and automatic synchronization between UI and business models.

Target Audience

Ruby developers building cross-platform desktop applications, GUI tools, or domain-specific languages who want a productive, declarative syntax with built-in data-binding.

Value Proposition

Developers choose Glimmer for its ability to create the tersest most concise DSL syntax in Ruby, support for multiple GUI toolkits, and powerful bidirectional data-binding that reduces boilerplate and keeps UI and models decoupled.

Overview

DSL Framework consisting of a DSL Engine and a Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library), Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Ruby-GNOME Desktop Development GUI Library), Glimmer DSL for XML (& HTML), and Glimmer DSL for CSS

Use Cases

Best For

  • Building cross-platform desktop applications in Ruby with native widgets
  • Creating internal domain-specific languages for configuration or markup
  • Developing GUI applications with automatic model-view synchronization
  • Prototyping desktop apps quickly with declarative Ruby syntax
  • Migrating web apps to desktop using the same Ruby codebase
  • Building custom GUI widgets with reusable scaffolding

Not Ideal For

  • Teams needing a mature, production-ready GUI toolkit with extensive widget libraries — some backends like LibUI are in mid-alpha.
  • Projects where fast startup and low memory footprint are critical without JRuby — SWT and JFX DSLs suffer from slow JRuby startup and heavy memory usage.
  • Applications requiring a truly native look and feel across all platforms — Tk and FX DSLs have non-native widgets on some OSes.
  • Developers building complex web applications — the Glimmer DSL for Web is in early alpha and less mature than JavaScript frameworks.

Pros & Cons

Pros

Concise DSL Syntax

Enables terse, readable Ruby code for GUI building, as emphasized in the philosophy for maximum productivity and maintainability.

Multi-DSL Composability

Allows safe mixing of DSLs like GUI, XML, and CSS within the same app, supporting complex UI scenarios as shown in the browser widget example.

Powerful Data-Binding

Provides bidirectional synchronization with automatic model observation and Shine syntax, reducing boilerplate for model-view synchronization.

Cross-Platform Native GUI

Supports various toolkits like SWT, LibUI, and Tk for Mac, Windows, and Linux, offering native widget options per the comparison table.

Cons

Inconsistent Backend Maturity

Relies on external GUI toolkits; some like LibUI are incomplete mid-alpha, limiting reliability for production use as noted in the README.

JRuby Performance Trade-offs

DSLs like SWT and JFX require JRuby, leading to slow startup times and heavy memory footprint, admitted in the comparison table.

Complex Setup for Some Toolkits

Tk and GTK DSLs have complicated prerequisites like ActiveTcl or Brew packages, making installation cumbersome for new users.

Frequently Asked Questions

Quick Stats

Stars837
Forks16
Contributors0
Open Issues2
Last commit2 months ago
CreatedSince 2008

Tags

#gui-development#swt#jruby#gui-toolkit#libui#glimmer#gui#data-binding#gui-framework#cross-platform#desktop#ruby#macos#desktop-applications#tk

Built With

J
JRuby
T
Tk
S
SWT
R
Ruby
G
GTK+
l
libui
O
Opal

Included in

Ruby14.1k
Auto-fetched 5 hours ago

Related Projects

Ruby-GNOMERuby-GNOME

A set of bindings for the GNOME libraries to use from Ruby.

Stars403
Forks102
Last commit1 day ago
qtbindingsqtbindings

An easy to install gem version of the Ruby bindings to Qt

Stars336
Forks61
Last commit5 years ago
FXRubyFXRuby

FXRuby is an extension module for Ruby that provides an interface to the FOX GUI toolkit.

Stars270
Forks18
Last commit2 months ago
ShoesShoes

Shoes makes building little graphical programs for Mac, Windows, and Linux super simple

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub