Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren
Ein wenig über die Implementierungstypen von Ruby (CRuby (MRI), JRuby, Rubinius, TruffleRuby, mruby)
Ruby - objektorientierte Programmiersprache mit dynamischer Typisierung. Sie hat mehrere Implementierungsvarianten, die speziell auf bestimmte Umgebungen und Bedürfnisse abgestimmt sind.
CRuby
Offizieller Interpreter - CRuby, auch bekannt als Matz's (Spitzname von Yukihiro Matsumoto, dem Schöpfer von Ruby) Ruby Interpreter (MRI), ist die offizielle und beliebteste Implementierung von Ruby. Er ist in C geschrieben und ist der Standard für die Kompatibilität verschiedener Bibliotheken (Gems).
CRuby eignet sich hervorragend für die Webentwicklung, insbesondere mit dem Ruby on Rails-Framework. Es unterstützt viele Bibliotheken und hat ein großes Ökosystem und eine Community.
JRuby
JRuby ist eine Ruby-Implementierung, die auf der Java Virtual Machine (JVM) läuft. Es vereinfacht die Integration mit Java-Bibliotheken und ermöglicht die Integration in bestehende Java-Systeme.
Zum Beispiel kann JRuby in großen Unternehmensanwendungen verwendet werden, in denen eine Integration mit bestehenden (Legacy) Java-Systemen erforderlich ist.
Rubinius
Rubinius verwendet LLVM (Low Level Virtual Machine) zur Kompilierung von Code und bietet Multithreading auf der Ausführungsebene. Rubinius versucht, vollständig kompatibel mit CRuby zu sein, was es in einigen Fällen zu einer guten Wahl als Interpreter-Implementierung macht. Rubinius kann in der Entwicklung von Systemen verwendet werden, die eine Verarbeitung paralleler Anfragen (in großer Anzahl) erfordern, wie z.B. Hintergrundaufgaben in Webanwendungen.
TruffleRuby
TruffleRuby ist Teil des Oracle Graal-Projekts und bietet hohe Leistung durch Optimierung auf der Ebene der GraalVM. TruffleRuby eignet sich zur Verarbeitung großer Datenmengen (z.B. in der wissenschaftlichen Forschung), wo maximale Ausführungsgeschwindigkeit und reduzierte Kosten für Rechenressourcen erforderlich sind.
mruby
mruby ist eine leichtgewichtige Version von Ruby, die für eingebettete Systeme konzipiert ist. Sie hat eine kleinere Größe und verbraucht weniger Ressourcen, was sie ideal für eingeschränkte Umgebungen macht. mruby kann in eingebetteten Systemen verwendet werden, wie z.B. Mikrocontrollern oder anderen tragbaren Geräten, wo der Speicherverbrauch minimiert werden muss.
Kann man Ruby im Browser ausführen?
Ruby wird nicht direkt im Browser ausgeführt, wie es bei JavaScript der Fall ist. Es gibt mehrere Ansätze und Werkzeuge, die es ermöglichen, Ruby im Browser auszuführen.
Opal ist ein Compiler, der Ruby-Code in JavaScript umwandelt, sodass Sie Frontend-Logik in Ruby schreiben und dann im Browser als JavaScript ausführen können. Opal verarbeitet Ruby-Code und wandelt ihn in optimiertes JavaScript um, das einen Großteil der Funktionalität von Ruby bereitstellt.
Zum Beispiel können Sie auf der Opal-Website die Funktionalität testen und ein Beispiel sehen, wie der Compiler arbeitet und wie Ruby-Code in JS umgewandelt und im Browser ausgeführt wird. Ein einfaches Beispiel:
Конвертуємо Ruby в JS за допомогою Opal
Ruby:
def title(s)
puts "title is #{s}"
end
puts title('hehe')
JS-Ausgabe:
Opal.queue(function(Opal) {/* Generiert von Opal 1.8.2 */
var $def = Opal.def, self = Opal.top, nil = Opal.nil;
Opal.add_stubs('puts,title');
$def(self, '$title', function $$title(s) {
var self = this;
return self.$puts("title is " + (s))
});
return self.$puts(self.$title("hehe"));
});
Und das Ergebnis:
title is hehe
WebAssembly (Wasm) ist ein Werkzeug, das Code einer Programmiersprache kompilieren und im Browser ausführen kann. Dies ist kein direkter Start von Ruby im Browser. Es ist ziemlich kompliziert, aber möglich. Eine der Möglichkeiten könnte so aussehen: mruby wird in C konvertiert, und WebAssembly konvertiert den Code dann in JavaScript, das bereits im Browser ausgeführt werden kann.
Es gibt auch andere Möglichkeiten, Ruby-Code im Browser zu kompilieren und auszuführen. Aber so kann man verstehen, dass es derzeit keine Möglichkeit gibt, Ruby-Code direkt im Browser auszuführen.
Wie kann ich überprüfen, welche Ruby-Implementierung ich verwende?
Es ist ganz einfach - führen Sie im Terminal den Befehl aus, um die Ruby-Version, die Implementierung und die Architektur anzuzeigen.
Unter ruby ist die Standardimplementierung (CRuby) gemeint.
Für JRuby wäre das Ergebnis ungefähr so:
jruby 9.2.11.1 (2.5.7) 2020-03-02 d8d4b94 OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 auf 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 +jit [linux-x86_64]
Das heißt, hier sehen wir deutlich den Text jruby.