JRuby: Mit Java und Ruby die Entwicklungsarbeit optimieren

Bisher handelte es sich um ein paar nette Beispiele, aber nichts wirklich Großes. Nun geht es darum, den Code von dieser Seite zu nehmen und dieselben Ergebnisse mit Ruby zu erzielen.

Einige Änderungen sind dafür erforderlich:

  • Konvertieren der Syntax new <Object>(par1,par2) zu <Object>.new(par1,par2)
  • Zugriff auf Felder mit der Syntax GridBagConstraints::HORIZONTAL anstelle von GridBagConstraints.HORIZONTAL
  • Entfernen des alten Arrays zur Konstruktion der JCombo-Box:
    
    String[] options = {"all", "any"};
    modeCombo = new JComboBox(options);
    
    

    Hierdurch wird die Combo-Box mit einem Ruby-Objekt bestückt, und die JCombo-Box verträgt das nicht. Um das zu umgehen, fügt man die Elemente einzeln hinzu.

    
    modeCombo = JComboBox.new
    modeCombo.addItem "all"
    modeCombo.addItem "any"
    
    
  • Die für Java typische, wortreiche Methode zum Verlassen des Programms, wenn das Fenster geschlossen wird, ändert sich von:
    
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
    });
    
    

    zu einem einfachen:

    
    window.defaultCloseOperation = JFrame::EXIT_ON_CLOSE
    
    
  • Die main-Methode wird entfernt.

Der vollständige Code lautet somit:

Wenn man aus diesem Listing eine Datei macht, lässt sich diese folgendermaßen in JRuby aufrufen:


jruby testwin.rb

Oberflächlich besteht kein Unterschied zwischen der JRuby- und der Java-Version des Codes. Neben der offensichtlichen Performancebeeinträchtigung durch die Verwendung von JRuby besteht ein klarer Vorteil darin, dass Code mit gleicher Funktionalität weit schneller geschrieben werden kann.

Es lässt sich schon jetzt mit Spannung auf die Geschwindigkeitsverbesserungen warten, die sich ergeben werden, wenn JRuby einen JIT-Compiler erhält. Doch in der Zwischenzeit kann man, falls die Geschwindigkeit nicht so wichtig ist, schon einmal das eine oder andere mit JRuby ausprobieren.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

2 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

2 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

3 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

3 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

3 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

4 Tagen ago