Thursday, December 01, 2022

RubyConf 2022 Talk Slides + Glimmer DSL for LibUI Competition

In my RubyConf 2022 talk, "Building Native GUI Apps in Ruby", I announced a Glimmer DSL for LibUI Competition for RubyConf 2022 attendees only:

  • Build a code editor in Glimmer DSL for LibUI (RubyConf 2022 attendees only)
  • Deadline is January 15, 2023 at 11:59:59PM (submit solution as a private GitHub repository shared with the GitHub user: AndyObtiva)
  • Submitted projects are ranked by the following criteria:
    • Most feature complete
    • Highest in quality
    • Shortest implementation time
  • 3 winners are chosen and awarded:
    • All get an honorable mention on the Glimmer DSL for LibUI GitHub Page
    • Top 2 get Lexop swag: T-Shirt / Baseball Cap / Socks / Keychain / Stickers
    • Top winner gets 3 hours of free training in Ruby desktop development with Glimmer, individual or group (useful for work team)
  • At minimum, the implemented code editor must support the following features (incomplete solutions can still be submitted, and in case all solutions end up incomplete, the more complete solutions will win out over others):
    • Syntax highlighting for Ruby (can use `area` control & be inspired by `code_area`)
    • Editor tabs (open each file in a separate tab)
    • Open files from File menu (use the `open_file` API call for now given that there is no `tree` control in LibUI yet, which is an upcoming feature)
    • Show Line Numbers
    • Find/Replace
    • Indent/Outdent (by 2 spaces)
    • Cut/Copy/Paste
    • Undo/Redo
    • Support navigation keyboard shortcuts (CTRL+E, PGDN, END, etc…)
    • Split Screen (2 at minimum)
    • Auto-Save on content change
You may ask questions about the competition in a comment or on the Glimmer Gitter chat in case you need clarifications. But, you may not ask for help in implementing the solution.

In other news, during RubyConf 2022, I released Glimmer DSL for LibUI version 0.6.0.pre.0, which finally leverages a newer version of the C libui library (libui-ng) that supports the new `open_folder` keyword for displaying a native directory selection dialog.




Happy Glimmering!

Saturday, October 15, 2022

Glimmer DSL for SWT Video Tutorial 35 - Scaffolding and Packaging

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 35 is out! It walks software engineers through Scaffolding and Packaging (make sure to bump up the resolution to HD at least)


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


Happy Glimmering!


P.S. If you have any questions, remarks, or corrections, feel free to share in comments.

Saturday, September 24, 2022

Glimmer DSL for SWT Video Tutorial 34 - Hello, Refined Table!

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 34 is out! It walks software engineers through the Hello, Refined Table! 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!



P.S. If you have any questions, remarks, or corrections, feel free to share in comments.

Sunday, September 18, 2022

Glimmer DSL for SWT Video Tutorial 33 - Tetris

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 33 is out! It walks software engineers through the Tetris 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!



P.S. If you have any questions, remarks, or corrections, feel free to share in comments.

Monday, September 12, 2022

Presenting at Montreal.rb: Glimmer DSL for SWT - Ruby Desktop Development GUI Framework

I will be giving a talk at a Montreal.rb meetup with the title: 

"Glimmer DSL for SWT - Ruby Desktop Development GUI Framework"

The event will take place on Wednesday, October 5, 2022 at the Lexop office (506 McGill St Suite 400, Montreal, Quebec H2Y 2H6, Canada), starting at 6:30pm (talk starts at 7pm).

Abstract:

You may not already know, but it is possible to build native desktop applications for Mac, Windows, and Linux using Ruby, including native packaging as APP/DMG/PKG files on Mac, EXE/MSI files on Windows, and DEB/RPM files on Linux. In fact, Ruby syntax makes developing such applications much quicker with better maintainability than in traditional desktop development languages like C, C++, C#, Objective C, Swift, and Java. That is courtesy of Glimmer DSL for SWT, a JRuby Desktop Development GUI Framework that enables using the robust SWT cross-platform native GUI toolkit the Ruby way, with support for the following:

  • Application Scaffolding
  • Declarative Ruby GUI DSL (Graphical User Interface Domain Specific Language)
  • Declarative Unidirecitonal/Bidirectional Data-Binding
  • Declarative Drag and Drop
  • Custom Components
  • Canvas Graphics
  • Embedded Browser (Web View)
  • Native Executable Packaging (APP/DMG/PKG/EXE/MSI/DEB/RPM)

This presentation will provide attendees with a broad overview of the features of Glimmer DSL for SWT while demonstrating samples and complete applications along the way.

Target Audience:

This talk should be invaluable to web developers in addition to desktop developers as it shows how to apply MVC 100% cleanly in a local app, as opposed to in a cluttered web app with many layers of separation and routing complexity, so it provides a great reference of how to apply MVC optimally, which can transfer to the web in addition to being useful on the desktop.

RSVP: https://www.meetup.com/montrealrb/events/288312775/

If you are anywhere in the vicinity of Montreal or neighbouring cities (e.g. Ottawa), come and join us!

Please inform your colleagues and friends in tech about the event, and post about it on social media!

Update 2022-10-07: Presentation Video and Slides have been posted.

Sunday, September 11, 2022

Rails Remote Conf 2022 Talk Accepted - Ultra Light Wizard

Update 2022-09-12: Correction! the conference will take place February 6-10, 2023, not in September of this year.

My talk proposal for Rails Remote Conf 2022 (Feb 6-10, 2023) titled "Ultra Light Wizard" has been accepted!

Abstract:

Ultra Light Wizard is an approach for building multi-step forms in Rails that avoids issues like code duplication, endless conditionals, and confusing mixing of concerns. That is achieved by adhering cleanly to REST, MVC, OOP, Design Patterns, DDD, and Non-Functional Requirements such as Productivity, Maintainability, Performance, and Security. This presentation will cover common pitfalls in building Rails wizards, how to overcome them with the Ultra Light Wizard approach, and Ruby gems that help with implementing this architectural pattern.