Créez une application de bureau Windows dans Ruby et distribuez un fichier exécutable (.exe)!

De la conclusion

À partir de mars 2018, si vous souhaitez écrire une application de bureau pour Windows en Ruby, créez un fichier exécutable (.exe) et distribuez-le, c'est l'alternative!

procédure

Ruby-Install GNOME2. La bibliothèque GNOME pour Windows est également installée automatiquement.

gem install gtk2 -r

Installez OCRA, un outil pour créer des exécutables Windows à partir de scripts Ruby.

gem install ocra -r

Créez un fichier exécutable à partir d'une application de bureau écrite en Ruby / GNOME2 à l'aide d'OCRA.

ocra desctopapplication.rb --no-autoload --add-all-core

Le fichier exécutable généré desctopapplication.exe était de 75 Mo.

Comparaison de bibliothèques pour créer une application de bureau Windows (application GUI) avec Ruby

Nom Statut d'activité Environnement de support mérite Démérite
Ruby-GNOME2 actif Windows, Linux, Mac Stable et informatif Maintenance uniquement. Le développement des fonctions est GNOME3
Ruby-GNOME3 actif Windows, Linux, Mac En cours de développement Il y a peu d'informations, même là où il y a un manque de fonctionnalité
FXRuby actif Windows, Linux, Mac Peut écrire du code de type Ruby Ne prend pas en charge l'entrée japonaise (l'affichage est possible)
Shoes actif JRuby Peut être écrit avec du code simple et de type Ruby Nécessite JRuby. Devenir pur Ruby dans le futur?
Qt
wxRuby Aucun renouvellement pendant 7 ans Windows, Linux, Mac - -
gem install gtk2 -r -p http://lv2west-proxy.nwdept:8080

résultat

Fetching: pkg-config-1.2.9.gem (100%)
Successfully installed pkg-config-1.2.9
Fetching: native-package-installer-1.0.6.gem (100%)
Successfully installed native-package-installer-1.0.6
Fetching: cairo-1.15.11-x86-mingw32.gem (100%)
Successfully installed cairo-1.15.11-x86-mingw32
Fetching: glib2-3.2.1-x86-mingw32.gem (100%)
Successfully installed glib2-3.2.1-x86-mingw32
Fetching: atk-3.2.1-x86-mingw32.gem (100%)
Successfully installed atk-3.2.1-x86-mingw32
Fetching: cairo-gobject-3.2.1-x86-mingw32.gem (100%)
Successfully installed cairo-gobject-3.2.1-x86-mingw32
Fetching: gobject-introspection-3.2.1-x86-mingw32.gem (100%)
Successfully installed gobject-introspection-3.2.1-x86-mingw32
Fetching: pango-3.2.1-x86-mingw32.gem (100%)
Successfully installed pango-3.2.1-x86-mingw32
Fetching: gio2-3.2.1-x86-mingw32.gem (100%)
Successfully installed gio2-3.2.1-x86-mingw32
Fetching: gdk_pixbuf2-3.2.1-x86-mingw32.gem (100%)
Successfully installed gdk_pixbuf2-3.2.1-x86-mingw32
Fetching: gtk2-3.2.1-x86-mingw32.gem (100%)
Successfully installed gtk2-3.2.1-x86-mingw32
Parsing documentation for pkg-config-1.2.9
Installing ri documentation for pkg-config-1.2.9
Parsing documentation for native-package-installer-1.0.6
Installing ri documentation for native-package-installer-1.0.6
Parsing documentation for cairo-1.15.11-x86-mingw32
Installing ri documentation for cairo-1.15.11-x86-mingw32
Parsing documentation for glib2-3.2.1-x86-mingw32
Installing ri documentation for glib2-3.2.1-x86-mingw32
Parsing documentation for atk-3.2.1-x86-mingw32
Installing ri documentation for atk-3.2.1-x86-mingw32
Parsing documentation for cairo-gobject-3.2.1-x86-mingw32
Installing ri documentation for cairo-gobject-3.2.1-x86-mingw32
Parsing documentation for gobject-introspection-3.2.1-x86-mingw32
Installing ri documentation for gobject-introspection-3.2.1-x86-mingw32
Parsing documentation for pango-3.2.1-x86-mingw32
Installing ri documentation for pango-3.2.1-x86-mingw32
Parsing documentation for gio2-3.2.1-x86-mingw32
Installing ri documentation for gio2-3.2.1-x86-mingw32
Parsing documentation for gdk_pixbuf2-3.2.1-x86-mingw32
Installing ri documentation for gdk_pixbuf2-3.2.1-x86-mingw32
Parsing documentation for gtk2-3.2.1-x86-mingw32
Installing ri documentation for gtk2-3.2.1-x86-mingw32
Done installing documentation for pkg-config, native-package-installer, cairo, glib2, atk, cairo-gobject, gobject-introspection, pango, gio2, gdk_pixbuf2, gtk2 after 21 seconds
11 gems installed

ocra sample.rb C:\Ruby193\lib\tcltk\ --no-autoload --add-all-core

FXRuby

Fxruby.org, qui aurait dû être le site officiel, est mort, mais je m'en fiche car il y a tellement d'activités sur github. Remplacez par README.

La dernière version est la 1.6.39, publiée le 25 décembre 2017.

Cliquez ici pour le manuel de l'API

Je ne peux pas saisir le japonais. Le patch non officiel doit être bien reçu. Il semble. http://magazine.rubyist.net/?0001-RubyGUI#l8

Chaussures ... pour JRuby

FXRuby ... vivant Le site officiel http://www.fxruby.org/ est mort et Le coffre a été laissé sans surveillance pendant 6 ans, mais la dernière version de 1.6 est assez active, donc ça va. Dernière colle === 1.6.39 / 2017-12-26 Fix FXGLVisual.supported and .supported? Add support for RubyInstaller-2.5

Ruby/Tk Ruby-GNOME2 QTRuby ... récemment suspect Ruby / FLTK ... Développement arrêté à partir de ce moment wxRuby ... Aucune mise à jour depuis 7 ans

limelight ... Aucune mise à jour depuis 6 ans

Utilisez FXRuby

Installation

gem install fxruby -r -p http://lv2west-proxy.nwdept:8080

résultat

Fetching: fxruby-1.6.39-x86-mingw32.gem (100%)
Successfully installed fxruby-1.6.39-x86-mingw32
Parsing documentation for fxruby-1.6.39-x86-mingw32
Installing ri documentation for fxruby-1.6.39-x86-mingw32
Done installing documentation for fxruby after 38 seconds
1 gem installed

référence

https://code.i-harness.com/ja/q/3fb29 https://code.i-harness.com/ja/q/1c32d https://qiita.com/drumath2237/items/16ab7247f30000cb7583

Recommended Posts

Créez une application de bureau Windows dans Ruby et distribuez un fichier exécutable (.exe)!
Je veux créer un fichier Parquet même en Ruby
Un fichier bat qui utilise Java dans Windows
Créer un servlet Java et un fichier WAR JSP à déployer sur Apache Tomcat 9 avec Gradle
[Introduction] Créer une application Ruby on Rails
[Programmation complète] §5 Créer une application de gestion des avis dans Ruby
Créez une application JAVA WEB et essayez OMC APM
[Rails] Créer une application
Créez un fichier jar qui peut être exécuté sur Gradle
Comment changer une chaîne dans un tableau en un nombre dans Ruby
Obtenir des attributs et des valeurs à partir d'un fichier XML en Java