Home » Eclipse Projects » Standard Widget Toolkit (SWT) » Glimmer(An Eclipse SWT + Data-Binding DSL)
Glimmer [message #1824080] |
Tue, 07 April 2020 14:02 |
Andy Maleh Messages: 75 Registered: March 2020 Location: Montreal, Quebec, Canada |
Member |
|
|
Glimmer (JRuby Desktop UI DSL + Data-Binding) has been undergoing new development.
Examples:
include Glimmer
shell {
text "Glimmer"
label {
text "Hello World!"
}
}.open
shell {
text "Tic-Tac-Toe"
composite {
grid_layout 3, true
(1..3).each { |row|
(1..3).each { |column|
button {
layout_data :fill, :fill, true, true
text bind(@tic_tac_toe_board[row, column], :sign)
enabled bind(@tic_tac_toe_board[row, column], :empty)
on_widget_selected {
@tic_tac_toe_board.mark_box(row, column)
}
}
}
}
}
}
Recent changes/additions:
- Nested/indexed property data-binding
- SWT layout and layout data DSL
- SWT Color and Font DSL
- Ability to add Glimmer Custom Widgets
- SWT Browser widget support
- Automatic cleanup of data-binding/observers upon disposing a widget
- Easier SWT style syntax via GSWT class
- Inclusion of SWT library jars in Ruby gem
- Improved glimmer/girb commands for running on Windows/Linux/Mac
This was originally an Eclipse project: https://www.eclipse.org/proposals/glimmer/
I've eventually moved to GitHub and the MIT license because that's what most Ruby programmers prefer.
GitHub: https://github.com/AndyObtiva/glimmer
EclipseCon / EclipseWorld / Agile Conference Speaker
Open-Source Software Author of Glimmer DSL for SWT
[Updated on: Thu, 07 May 2020 14:40] Report message to a moderator
|
|
|
Re: Glimmer [message #1824284 is a reply to message #1824080] |
Sun, 12 April 2020 19:11 |
Andy Maleh Messages: 75 Registered: March 2020 Location: Montreal, Quebec, Canada |
Member |
|
|
If you find Glimmer interesting (https://github.com/AndyObtiva/glimmer) and you try out on your own project, please leave some experience reports/feedback here. I'd appreciate as I'd like to learn of people's experiences to make better (albeit I have a small bandwidth of responding to feedback).
Currently eating my own dog food on this open source project for those curious to see Glimmer used in practical application development (MathBowling: https://github.com/AndyObtiva/MathBowling)
With JRuby, I believe Glimmer can be an effective library for handling the View layer in a Java SWT UI desktop application. I've mostly written 100% Ruby Glimmer applications. I'd be interested in hearing experiences from people who might want Glimmer as their View layer by adding .rb files to their existing Java application via JRuby (a very easy thing to do). I've done something similar before on Java applications that needed Ruby features like lightweight command line scripting.
EclipseCon / EclipseWorld / Agile Conference Speaker
Open-Source Software Author of Glimmer DSL for SWT
[Updated on: Sun, 12 April 2020 19:56] Report message to a moderator
|
|
| | | |
Re: Glimmer [message #1829755 is a reply to message #1827599] |
Fri, 10 July 2020 08:56 |
Andy Maleh Messages: 75 Registered: March 2020 Location: Montreal, Quebec, Canada |
Member |
|
|
I've been asked to build a Mac App for displaying at-a-glance project progress for a list of tasks.
The tool is called "Are We There Yet?":
https://github.com/AndyObtiva/are-we-there-yet
Thanks to Glimmer, I've been able to prototype in 1 day only and come up with this:
Glimmer DSL for SWT Code:
# Are We There Yet? - Glimmer App GUI Prototype - https://github.com/AndyObtiva/are-we-there-yet
shell {
# Replace example content below with custom shell content
minimum_size 750, 550
text "Are We There Yet?"
grid_layout {
margin_width 5
margin_height 5
horizontal_spacing 5
vertical_spacing 5
}
sash_form(:vertical) {
layout_data(:fill, :fill, true, true)
@gantt_chart_container = composite { |container|
@gantt_chart = gantt_chart(GanttFlags::H_SCROLL_FIXED_RANGE, @preferences_dialog&.gantt_chart_settings) {
layout_data(:fill, :fill, true, true) {
minimum_height GANTT_CHART_MINIMUM_HEIGHT
}
}
}
composite {
task_form {
layout_data :fill, :fill, true, true
}
task_table {
layout_data :fill, :fill, true, true
}
}
}
}
Very easy to read and maintain SWT code thanks to Glimmer's DSL.
Further details are in this blog post:
http://andymaleh.blogspot.com/2020/07/glimmer-dsl-for-swt-021-jruby-92120.html
EclipseCon / EclipseWorld / Agile Conference Speaker
Open-Source Software Author of Glimmer DSL for SWT
[Updated on: Sun, 12 July 2020 20:58] Report message to a moderator
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Re: Glimmer [message #1855458 is a reply to message #1855366] |
Sat, 15 October 2022 20:20 |
Andy Maleh Messages: 75 Registered: March 2020 Location: Montreal, Quebec, Canada |
Member |
|
|
Glimmer DSL for SWT Video Tutorial 35 is out! It walks software engineers through Scaffolding and Packaging.
Learn how to scaffold (generate) and package (into native executable) Ruby desktop applications from scratch, including how to desktopify any web application with one command.
Blog Post:
https://andymaleh.blogspot.com/2022/10/glimmer-dsl-for-swt-video-tutorial-35.html
YouTube Video:
https://youtu.be/5qliaWaxXNY
These free tutorials are useful for developers wanting to learn SWT from scratch with the simplest way of how to write SWT code,
including bidirectional data-binding in a single line of code per widget property.
Learn Glimmer DSL for SWT and you will improve SWT development productivity by 10x while keeping code maximally lightweight and maintainable!
EclipseCon / EclipseWorld / Agile Conference Speaker
Open-Source Software Author of Glimmer DSL for SWT
|
|
|
Goto Forum:
Current Time: Mon Jun 10 12:05:21 GMT 2024
Powered by FUDForum. Page generated in 0.07652 seconds
|