Contributions
Event
Slides & Code for RubyConf 2023 Workshop "How To Build Desktop Applications in Ruby"
Thanks to everyone who attended my RubyConf 2023 2-Hour Workshop "How To Build Desktop Applications in Ruby". For those who missed the event, I posted the presentation slides and code exercises (27 exercises) on GitHub. I also blogged about the new Color The Circles game app that was developed at the RubyConf 2023 Community Day Glimmer Desktop Hacking event.
Thanks to everyone who attended my RubyConf 2023 2-Hour Workshop "How To Build Desktop Applications in Ruby". For those who missed the event, I posted the presentation slides and code exercises (27 exercises) on GitHub. I also blogged about the new Color The Circles game app that was developed at the RubyConf 2023 Community Day Glimmer Desktop Hacking event.
Update
Glimmer DSL for LibUI 0.10.1 & 0.10.0 ship with support for building/scaffolding Area Canvas Graphics Custom Shapes (with optional Gemification), which represent higher-order graphical concepts that could be formed out of more rudimentary shapes to simplify interaction with them as coarse-grained components in a desktop app. They improve productivity significantly in graphical apps that rely on Area Canvas Graphics, like UML Diagramming tools, Traffic Control Signalling apps, and games.
Update
Glimmer DSL for LibUI Scaffolding + Snake Game
Glimmer DSL for LibUI 0.9.x versions include support for the Glimmer Command, Application Scaffolding, Custom Component Scaffolding, Custom Component Gem Scaffolding, and more. Glimmer Scaffolding features could be thought of as the "Desktop Application" equivalent of Rails Scaffolding and Generators. In fact, I ate my own dog food and used the new Application Scaffolding feature to effortlessly scaffold a Glimmer Snake game.
Glimmer DSL for LibUI 0.9.x versions include support for the Glimmer Command, Application Scaffolding, Custom Component Scaffolding, Custom Component Gem Scaffolding, and more. Glimmer Scaffolding features could be thought of as the "Desktop Application" equivalent of Rails Scaffolding and Generators. In fact, I ate my own dog food and used the new Application Scaffolding feature to effortlessly scaffold a Glimmer Snake game.
Update
Glimmer Wordle 1.1.5 has just been released with official support for Windows. Although the game worked on Windows before, thanks to the platform-independent Glimmer DSL for SWT GUI library it was built with, styling was not tweaked for Windows till now in version 1.1.5.
Event
My RubyConf 2023 workshop submission titled "How To Build Desktop Applications in Ruby" has been accepted! It will take place in San Diego, California, USA on Monday, November 13, 2023 at 10am PT. Workshop seating is limited, so please RSVP for your spot over here: https://rubyconf-2023.sessionize.com/session/531448
Update
Glimmer DSL for SWT (JRuby Desktop Development Cross-Platform Native GUI Framework) version 4.29.0.0 has just been released! It is the quarterly release the happens when a new version of the Eclipse SWT GUI toolkit is released (SWT 4.29 was released in September of 2023).
Article
Matz mentioned in his RubyConf 2022 keynote speech that in the future of Ruby, maybe we could start replacing JavaScript with Ruby in the browser...
Tutorial
Tutorial: Ruby GUI with Glimmer (by Mattias Velamsson)
Mattias Velamsson recently shared a beginner's tutorial for making a GUI (Graphical User Interface) in Ruby titled "Ruby GUI with Glimmer". It provides a step-by-step code walkthrough that produces a full-fledged web-API-driven table-based business application. It uses various gems and APIs like glimmer-dsl-libui, dotenv, Net::HTTP, URI, JSON, and the Exchange Rates Data API.
Mattias Velamsson recently shared a beginner's tutorial for making a GUI (Graphical User Interface) in Ruby titled "Ruby GUI with Glimmer". It provides a step-by-step code walkthrough that produces a full-fledged web-API-driven table-based business application. It uses various gems and APIs like glimmer-dsl-libui, dotenv, Net::HTTP, URI, JSON, and the Exchange Rates Data API.
Tutorial
The video for the Montreal.rb Ruby Meetup April 3, 2023 talk "Rails Already Supports View Components!" has been posted! This talk will explain the various ways Rails already supports view components out of the box.
https://andymaleh.blogspot.com/2023/08/montrealrb-apr-2023-rails-already.html
https://andymaleh.blogspot.com/2023/08/montrealrb-apr-2023-rails-already.html
Article
Every self respecting Senior Software Engineer out there should build their own code editor, even if just as a toy app to later be discarded in favor of another code editor. And, if they are Rubyists, they should build their code editor in Ruby. If you think of yourself as a Ruby Senior Software Engineer, but cannot build your own code editor in Ruby, there are serious holes in your skillset!! Explore Glimmer for many Ruby options to help you start the code editor building challenge and journey.
Update
Glimmer DSL for SWT 4.28.0.0 (JRuby Desktop Development Cross-Platform Native GUI Framework) is the quarterly major release that happens after a new version of Eclipse SWT (Standard Widget Toolkit) is released. It is wrapping SWT 4.28, which was released on June 5, 2023.
Update
Glimmer DSL for LibUI 0.0.8 has been released with a new feature called Composite Shape (already in Glimmer DSL for SWT), which enables building new visual concepts by aggregating multiple smaller shapes within a parent composite shape using relative positioning and inherited `fill`/`stroke` colors.
Event
The video and slides for the Montreal.rb July 2023 talk "Import Spreadsheets in Ruby on Rails with Flatfile.com" have been posted.
Update
Glimmer gets a new GUI DSL in 2023 called Glimmer DSL for WX (Early Alpha 0.0.5 was built in 1 day) to support the very mature wxWidgets GUI toolkit that renders cross-platform native GUI controls using a brand new wxruby3 binding!
Article
A new Glimmer FAQ (Frequently Asked Questions) section has been added to the Glimmer project README on GitHub in order to answer questions like "How do Glimmer GUI DSLs compare to Shoes?" and "What is the difference between Glimmer and Glimmer DSL for SWT?", among others.
Event
The video for the Montreal.rb (Ruby/Rails Meetup) May 2023 talk "Integrating REST APIs with Microsoft Kiota" has been posted! Microsoft Kiota is an open-source technology that can automatically generate SDKs for HTTP REST APIs in Ruby (or any programming language) to save software engineers from having to write error prone API client code that handles authentication, authorization, serialization, and exception handling manually.
Update
In the 0.7.x version series, Glimmer DSL for LibUI finally gets the much awaited Table Selection API and Table Sorting API that got added to the underlying libui C library a few months ago. The good news is tables are now sortable from their data by default without having to write a single line of code (Convention Over Configuration). That means all older applications that had tables now have sortable tables.
Article
Opal Won the Fukuoka Ruby Award 2023 for Outstanding Performance! The slide deck that was presented to the Fukuoka Ruby judges is amazing! This is the future of web development in Ruby as per Matz's keynote speech at RubyConf 2022 in which he said we could replace all JavaScript code with Ruby on the frontend going forward!
Update
Glimmer DSL for SWT 4.27.0.0 has just been released!
Article
Apparently, ChatGPT has materialized in our world as a GUI (Graphical User Interface) via Ruby and Glimmer DSL for LibUI.
Tutorial
My RubyConf 2022 talk video on "Building Native GUI Apps in Ruby" using the Fukuoka Award Winning Glimmer DSL for LibUI has just been released!
Article
I recorded a drum solo to demo Glimmer Metronome, a Ruby-based metronome GUI app that supports different beat counts, click sounds, and tempos, including tap-based tempo calculation. It was built with Glimmer DSL for SWT using JRuby to help me with my drumming practice. Glimmer Metronome just received a new update in version 1.1.4 that adds menus and keyboard shortcuts, thus becoming more user-friendly when using the keyboard alone.
Article
Traditionally, Glimmer GUI gems have been mostly a one-sided effort. Well, that changes with Glimte! Glimte is a 3rd party framework built on top of Glimmer (Tk flavor) by Phaengris to facilitate following a certain flavor of the MVC pattern (Model-View-Controller) called MVVM (Model-View-ViewModel). It encourages a model of programming for desktop GUI views that is similar to Rails .erb
Update
Glimmer DSL for LibUI 0.6.1 has been released with support for table lazy loading via `Enumerator` (or `Enumerator::Lazy`). As a result, the table control can now handle millions of rows and renders instantly without waiting for all data to be loaded given that it is loaded lazily as the user scrolls through the table. That enables applications with a lot of data to start instantly. A new example, Lazy Table, has been included to demonstrate table lazy loading.
Tutorial
Recently, I received a support request concerning Glimmer DSL for SWT (JRuby Desktop Development GUI Framework) and the use of Nebula Custom Widgets, specifically the text_assist widget (auto-complete text field). For a quick background about Nebula, it is a collection of 55+ enterprise-grade high-quality SWT (Standard Widget Toolkit) custom widgets, including a progress circle, a password revealer, and an oscilloscope. Thanks to Glimmer DSL for SWT, they are usable from Ruby.
Update
Glimmer DSL for SWT (JRuby Desktop Development GUI Framework) has just had a major release for the quarterly update of the SWT library, which is now up to version 4.26. Glimmer DSL for SWT now matches it with version 4.26.0.0.
Update
abstract_feature_branch is one of the simplest and most minimalistic "Feature Flags" ruby gems out there. It enables you to get started very quickly by simply leveraging YAML files without having to set up a data store if you do not need it (albeit, you also have the option to use Redis as a very fast in-memory data store).
Event
This is a courtesy reminder of the Glimmer Competition deadline (3 weeks away). Build a code editor native desktop app in Glimmer DSL for LibUI by Jan 15, 2023. It’s a fun educational task to do during the Christmas/New-Year break!
Update
RubyConf 2022 talk slides for “Building Native GUI Apps in Ruby” have been posted, including a mention of a new Glimmer DSL for LibUI release [0.6.0.pre.0] that finally leverages a newer version of the C libui library, supporting a new open_folder dialog.
Update
PerfectShape is a collection of pure Ruby geometric algorithms that are mostly useful for GUI manipulation like checking viewport rectangle intersection or containment of a mouse click point in popular geometry shapes such as rectangle, square, arc, ellipse, circle, polygon, and paths containing lines, quadratic bézier curves, and cubic bezier curves, potentially with affine transforms applied like translation, scale, rotation, shear/skew, and inversion.
Showing the last 30 only...