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