2021 Was The Year of The Ruby Desktop!!!

Gerald Bauer started 2021 with a reddit post having the following
question in its title: "2021 - The Year of the Ruby Desktop?"

I am happy to comfortably answer this question today with a resounding YES!!!

···

--
Andy Maleh

LinkedIn: https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva

As a person who loves Ruby, I am really excited. I haven't tried out GUI in Ruby, but what is the community's opinion about some software that makes it as easy as creating UI by dragging and dropping components?

I programmed in Visual Basic, and then using NetBeans IDE, and this drag and drop thing made developing code a charm. May be we can have a Ruby IDE written in Ruby where one can develop code for any OS and the web, just one click button would package it, and possibly make it available in APP stores.

- Karthikeyan A K
+91 8428050777

···

Sent with ProtonMail Secure Email.

------- Original Message -------

On Saturday, February 5th, 2022 at 12:29 PM, Andy Maleh <andy.am@gmail.com> wrote:

Andy Maleh

LinkedIn: https://www.linkedin.com/in/andymaleh

Blog: http://andymaleh.blogspot.com

GitHub: http://www.github.com/AndyObtiva

Unsubscribe: mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe

ruby-talk list: member options login page

With the recent increase of `parser` gem popularity, things like dynamic code generation/conversion in Ruby are certainly a possiblity and most certainly, a practice :smiley:

I pondered about a possiblity of writing VSCodium plugins for Ruby development using Opal. No experiments I have done yet but I know for certain it will be a real possibility and I may revisit this idea for business needs in a few months.

···

On 2/5/22 20:47, Karthikeyan A K wrote:

As a person who loves Ruby, I am really excited. I haven't tried out GUI in Ruby, but what is the community's opinion about some software that makes it as easy as creating UI by dragging and dropping components?

I programmed in Visual Basic, and then using NetBeans IDE, and this drag and drop thing made developing code a charm. May be we can have a Ruby IDE written in Ruby where one can develop code for any OS and the web, just one click button would package it, and possibly make it available in APP stores.

what is the community's opinion about some software that makes it as easy as creating UI by dragging and dropping components?

I have worked for more than half a decade professionally in desktop
development in the past using VB6, MFC, Java Swing, Eclipse SWT, and
JavaFX. What I could say for sure is that dragging and dropping
components only works for relatively small demo apps, but once work
becomes serious, team-oriented, and fast-pace with very sophisticated
user interfaces, all drag and drop visual designers are abandoned
completely by all software engineers in favor of applying design
patterns to make code as simple and modular as possible to develop and
maintain quickly. Visual designers are mostly a gimmick that attracts
the attention of beginner programmers only, but actual software
engineers working in the trenches require the simplest GUI code
possible to maintain, and that is exactly what Glimmer offers.

Still, if you really want a Visual Designer, the blog post "2021 Was
The Year of The Ruby Desktop!!!" does include a "call for help"
towards the end mentioning that as an item that could be worked on and
contributed by the Ruby community. That would be your chance to be a
first mover and become the first to develop a Glimmer Visual Designer
in Ruby (or any other requested item on the "call for help" list for
that matter).

While other developers are working 4x as hard at least with highly
unproductive tools and languages like JavaScript, Ruby software
engineers could be creating the best tools possible in Ruby, available
to Ruby software engineers only. It's like having a small highly
advanced civilization zipping around in flying cards hiding in plain
sight in the middle of a brutish world that does not understand what
those flying cars are and thinks Flinstone carts (i.e. JavaScript
Tools) are the fastest way of transportation possible. No need to
alert them on what they are missing out on. Just continue to be
maximally productive in Ruby!

Cheers,

···

On Sat, Feb 5, 2022 at 4:14 PM hmdne <hmdne@airmail.cc> wrote:

With the recent increase of `parser` gem popularity, things like dynamic
code generation/conversion in Ruby are certainly a possiblity and most
certainly, a practice :smiley:

I pondered about a possiblity of writing VSCodium plugins for Ruby
development using Opal. No experiments I have done yet but I know for
certain it will be a real possibility and I may revisit this idea for
business needs in a few months.

On 2/5/22 20:47, Karthikeyan A K wrote:
> As a person who loves Ruby, I am really excited. I haven't tried out GUI in Ruby, but what is the community's opinion about some software that makes it as easy as creating UI by dragging and dropping components?
>
> I programmed in Visual Basic, and then using NetBeans IDE, and this drag and drop thing made developing code a charm. May be we can have a Ruby IDE written in Ruby where one can develop code for any OS and the web, just one click button would package it, and possibly make it available in APP stores.

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<ruby-talk list: member options login page>

--
Andy Maleh

LinkedIn: https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva

Ages ago, there was a visual designer called WideStudio (from a Japanese developer) but I never did anything very serious with it since I was using C++ Builder for fantastic drag-and-drop and component based native Windows GUI development. Honestly, at this stage, I'm keen to try Glimmer (Andy's active in this thread) because it looks quite nice and is cross-platform (at least on JRuby).

Best Regards,
Mohit.
2022-2-6 | 11:31 am.

···

On 2022-2-6 3:47 am, Karthikeyan A K wrote:

As a person who loves Ruby, I am really excited. I haven't tried out GUI in Ruby, but what is the community's opinion about some software that makes it as easy as creating UI by dragging and dropping components?

I programmed in Visual Basic, and then using NetBeans IDE, and this drag and drop thing made developing code a charm. May be we can have a Ruby IDE written in Ruby where one can develop code for any OS and the web, just one click button would package it, and possibly make it available in APP stores.

Ruby isn’t a compiled language, uning it for desktop development will have
big performance issue?

Regards

···

On Sat, Feb 5, 2022 at 3:00 PM Andy Maleh <andy.am@gmail.com> wrote:

Gerald Bauer started 2021 with a reddit post having the following
question in its title: "2021 - The Year of the Ruby Desktop?"

I am happy to comfortably answer this question today with a resounding
YES!!!

Code Master Blog: 2021 Was The Year of The Ruby Desktop!!!

--
Andy Maleh

LinkedIn: https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<ruby-talk list: member options login page>

performance is usually reasonable; the lack of good self-contained
deployment options is a larger issue.

martin

···

On Sat, Feb 5, 2022 at 7:36 PM Bitfox <bitfox@bitfox.top> wrote:

Ruby isn’t a compiled language, uning it for desktop development will have
big performance issue?

Regards

On Sat, Feb 5, 2022 at 3:00 PM Andy Maleh <andy.am@gmail.com> wrote:

Gerald Bauer started 2021 with a reddit post having the following
question in its title: "2021 - The Year of the Ruby Desktop?"

I am happy to comfortably answer this question today with a resounding
YES!!!

Code Master Blog: 2021 Was The Year of The Ruby Desktop!!!

--
Andy Maleh

LinkedIn: https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<ruby-talk list: member options login page>

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<ruby-talk list: member options login page>

the lack of good self-contained deployment options is a larger issue.

If you are referring to packaging apps as native executables, JRuby
desktop toolkits already have a cross-platform solution in using
`warbler` + `jpackage` that enables packaging apps as native Mac
APP/DMG/PKG, Windows EXE/MSI, and Linux DEB/RPM. It is fully automated
in Glimmer DSL for SWT
(https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_PACKAGING_AND_DISTRIBUTION.md).

In fact, I just packaged a new app (Glimmer Metronome) with it for two
of my Mac machines the other day (one ARM64 DMG and one x86_64 DMG),
and they install and work fantastically well:

MRI CRuby on the other hand only seems to have a solution for Windows,
called OCRA: https://github.com/larsch/ocra

I definitely list "CRuby Native Executable Packaging" as a "Call for
Help" item at the bottom of the blog post:

A while ago, we thought this problem was impossible in JRuby, but out
of nowhere Oracle decided to solve the problem for us with `jpackage`,
and suddenly JRuby desktop applications can be packaged and
distributed natively, which is very convenient!

CRuby had something similar when OCRA happened. I would keep hopeful
that the problem would eventually get solved in a cross-platform
fashion. Charles Nutter (creator of JRuby) mentioned to me the other
day that MRuby supports AOT (Ahead-of-Time) compilation of CRuby code
(probably older versions of Ruby). Perhaps, if Matz would port that
technology to the latest CRuby, it becomes a no-brainer.

Here is one project that attempts to do it for CRuby that I have not
had time to look at yet: https://github.com/pmq20/ruby-packer

I admit I haven't expanded much time into this problem in CRuby yet,
so if anyone knows something, please share! I would keep hopeful since
the demand for cross-platform native executable packaging for CRuby is
definitely there and is very strong. I just have other priorities I
need to get through first before I look into this problem, like adding
declarative drag and drop support to Glimmer DSL for LibUI (right now,
it has manual drag and drop support in its graphical Area API),
implementing class-based Custom Control and Custom Shape support in
Glimmer DSL for LibUI, and supporting application scaffolding options
for Glimmer DSL for LibUI.

But, don't let that stop you from contributing a solution to native
executable packaging (or at least automating one of the solutions
mentioned above in one of the Glimmer CRuby GUI toolkits and
submitting a pull request if you like). I'm sure the Ruby community
would appreciate that immensely.

Cheers,

···

On Sat, Feb 5, 2022 at 10:59 PM Martin DeMello <martindemello@gmail.com> wrote:

performance is usually reasonable; the lack of good self-contained deployment options is a larger issue.

martin

On Sat, Feb 5, 2022 at 7:36 PM Bitfox <bitfox@bitfox.top> wrote:

Ruby isn’t a compiled language, uning it for desktop development will have big performance issue?

Regards

On Sat, Feb 5, 2022 at 3:00 PM Andy Maleh <andy.am@gmail.com> wrote:

Gerald Bauer started 2021 with a reddit post having the following
question in its title: "2021 - The Year of the Ruby Desktop?"

I am happy to comfortably answer this question today with a resounding YES!!!

Code Master Blog: 2021 Was The Year of The Ruby Desktop!!!

--
Andy Maleh

LinkedIn: https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<ruby-talk list: member options login page>

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<ruby-talk list: member options login page>

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<ruby-talk list: member options login page>

--
Andy Maleh

LinkedIn: https://www.linkedin.com/in/andymaleh
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva

Hi Martin,

performance is usually reasonable; the lack of good self-contained deployment options is a larger issue.

Yes, you're right - we have found deployment using Java JARs the easiest for a wide variety of use cases. Of course, that uses JRuby - JRuby on Windows: Day 2 - Creating Executable JARS but is rather convenient. Andy also has posted on creating a native executable using jpackage (which he uses in Glimmer, if I remember correctly).

We separate into 3 use cases:
* Our computers - so we know that we have CRuby and JRuby installed and can use bundler, etc. We just deploy the scripts there.
* Our servers - same as the first case, we control the environments. We use CRuby deployments most of the time but also some JRuby deployments
* External computers - usually deploy via JRuby (both for Rails and for other stand-alone [currently non-GUI] applications)

Best Regards,
Mohit.
2022-2-6 | 1:26 pm.

···

On 2022-2-6 11:59 am, Martin DeMello wrote: