Thursday, June 30, 2022

Glimmer DSL for SWT Video Tutorial 22 - Hello, Canvas Drag and Drop!

Desktop development is about 10 times simpler than web development. Learn it and you will become a better web developer as you transfer the simplicity of desktop development to the web!

Glimmer DSL for SWT Video Tutorial 22 is out! It walks software engineers through the Hello, Canvas Drag and Drop! sample (make sure to bump up the resolution to HD at least)


Glimmer DSL for SWT (JRuby Desktop Development GUI Framework - Ruby Gem): 


Happy Glimmering!

Saturday, June 25, 2022

New Glimmer DSL for LibUI Apps: RubyCrumbler and Rubio-Radio

Every once in a while, I get approached by people who ask a lot of questions about my Glimmer Ruby gems, but never complete any work in them, which is quite surprising given the fact that it takes less than a minute to run a Glimmer sample, less than 10 minutes to write one, less than an hour to build a small desktop app, and less than a day to build an MVP (Minimum Viable Product) app.

That is why I am very happy to learn that a couple of apps have been recently built with Glimmer DSL for LibUI by open-source developers. 

I am particularly impressed by the fact that the developers of those apps fully went the distance by walking the walk, not just talking the talk, especially given that the developers of the first app (RubyCrumbler) were brand new to Glimmer DSL for LibUI and had to exercise great problem solving skills to finish their app on time for their needs.

RubyCrumbler:


Description: 

A simple script to download, that provides a GUI desktop application written in Ruby to apply common Natural Language Processing (NLP) tasks on your English or German text files.

Architecture:


Implementation:

The app is mostly built with Glimmer DSL for LibUI, but it also uses one feature from Tk that was not supported in LibUI at the time of development: Select Directory Dialog (it is supported in the next LibUI release). Props to the developers for their creative solution that ended up mixing two GUI toolkits successfully!

Video Demo:

(compressed gif, with some visual artifacts)


Rubio-Radio:


Description:

A small, simple Radio desktop app leveraging the RadioBrowser API. It displays the top 500 radio stations initially, which can be filtered with a search field.

Video Demo:



If you have completed any desktop apps using Glimmer Ruby gems, please hit me up in a comment, Issue/Pull-Request, or on Gitter chat in order for me to add your app to the list of apps built with Glimmer (e.g Glimmer DSL for LibUI Applications, Glimmer DSL for Tk Applications, or Glimmer DSL for SWT Applications). Your app does not have to be open-source, but providing a screenshot or video demo would be great in order to give others an idea about your project.

Thursday, June 23, 2022

Glimmer DSL for SWT Video Tutorial 21 - Hello, Drag and Drop!

Desktop development is about 10 times simpler than web development. Learn it and you will become a better web developer as you transfer the simplicity of desktop development to the web!

Glimmer DSL for SWT Video Tutorial 21 is out! It walks software engineers through the Hello, Drag and Drop! sample (make sure to bump up the resolution to HD at least)


Glimmer DSL for SWT (JRuby Desktop Development GUI Framework - Ruby Gem): 



Happy Glimmering!


Sunday, June 19, 2022

Glimmer DSL for SWT 4.24.0.0

SWT 4.24 was just released a few days ago as part of the Eclipse quarterly release. Glimmer DSL for SWT has been updated to include it in 4.24.0.0.


Happy Glimmering!

Friday, June 17, 2022

Ruby Facets 3.2.0 Supports RubyMotion

You read that right! The famous Ruby Facets library finally supports RubyMotion. That means you can now use popular methods like String#underscore and String#camelcase from inside RubyMotion iOS applications. This change was done in the facets-glimmer fork of the project, so you would have to install the facets-glimmer Ruby gem to get it.

All Core and Standard Ruby Facets APIs are loaded automatically when including the facets-glimmer gem in a RubyMotion application, except a few files that are not compatible with RubyMotion, which are listed in the RubyMotion compatibility section on the GitHub Project page.

GitHub Project: https://github.com/AndyObtiva/facets-glimmer

Ruby Gem: https://rubygems.org/gems/facets-glimmer

Cheers!

Thursday, June 16, 2022

Glimmer DSL for SWT Video Tutorial 20 - Hello, Tray Item!

Desktop development is about 10 times simpler than web development. Learn it and you will become a better web developer as you transfer the simplicity of desktop development to the web!

Glimmer DSL for SWT Video Tutorial 20 is out! It walks software engineers through the Hello, Tray Item! sample (make sure to bump up the resolution to HD at least)


Glimmer DSL for SWT (JRuby Desktop Development GUI Framework - Ruby Gem): 



Monday, June 13, 2022

Montreal.rb Talk: How I Built My Code Editor in Ruby

I am giving a Ruby software engineering presentation at the next Montreal.rb meetup.

Title: How I Built My Code Editor in Ruby

Date/Time: Wednesday, July 6, 2022. Doors open at 6:30pm ET. Talk starts at 7pm ET.

Location: Lexop (my employer) on 506 McGill St Suite 400, Montreal, Quebec H2Y 2H6, Canada

Description:

Gladiator is a code editor that was built completely in Ruby. It supports syntax highlighting for over 30 programming languages, split pane, file name lookup, a variety of keyboard shortcuts, undo/redo, find and replace, line jumping, monitoring external file system changes, ignoring uneditable files, expanding to fill the screen, running Ruby code, remembering the last open files, and multi-project support. In fact, I have been using Gladiator for all my code editing needs since May of 2020.

In this talk, I will present Gladiator's features, and then dig into the implementation of every feature in Ruby, covering things like the Model-View-Controller and Model-View-Presenter architectural patterns, how to build custom widgets, how to implement file editing commands, and how to support undo/redo.

Attendees should walk out of this talk with rudimentary knowledge of how to build a code editor in Ruby.

---

If you live in Montreal, or anywhere nearby (e.g. Ottawa), come and join us!

RSVP at:

https://www.meetup.com/montrealrb/events/286529635/