Spielen! Framework vs Ruby on Rails [geschlossen]

8

Es wird keine allgemeine Vergleichsfrage sein:

Spielen! Framework ist Java-basiert was bedeutet, dass der Code in Bytecode interpretiert und dann von der JVM in Runtime kompiliert wird. Auf der anderen Seite ist Ruby eine dynamische Sprache was bedeutet, dass der Code mit jeder Anfrage interpretiert wird. Dies ist für jeden Programmierer offensichtlich.

Ein weiterer Aspekt ist der Entwicklungsprozess und die Leichtigkeit der Sprache (starke Typisierung vs. schwache Typisierung).

Momentan entwickle ich eine neue Website mit Play!
Also, für die Fragen:

  1. Leistung für einen HTTP-Server (Play! läuft auf der JVM, Ruby ist dynamisch) - ist es wirklich wichtig für eine Website? Würden Sie signifikante Unterschiede sehen?
  2. Ich denke, RoR hat viel größere Community, Quellen, Tutorials usw. , und es ist ein kleiner Schlag mich. Oder sollte es?
socksocket 14.10.2012, 21:23
quelle

2 Antworten

4

Viele Unterschiede zwischen diesen beiden Modellen. Was die Leistung betrifft, meine Meinung zu Java basiert & amp; RoR:

1, Java-basierte Website (läuft auf mehreren Java Application Servern), hat seinen einzigartigen Vorteil, wie Multi-Thread-Modell (höchste Geschwindigkeit zum Lesen lokaler Daten), globaler Speicher, einfach zu bündelnde Ressourcen, viele effiziente Clients zu Verbinden Sie alle Arten von OSS-Tools für den 3. Teil ...

2, RoR (und Php) Modell der HTTPServer Verbindung, muss "Proxy" Anfrage an App Tier. Multi-Prozess-Modell erhöht die Kommunikation zwischen Prozessen. Und als "dynamische Sprache" ist die Leistung geringer.

Aber Web-Programmierung hängt heutzutage von anderen Tools ab, um sie zu verbessern. Die weit verbreitete Verwendung von Cache, NoSQL (Memcached, Redis, TT / TC), IPC / RPC-Framework (netty, akka, ...) verschiebt den Engpass. Ich wusste, dass beide oben genannten Modelle in großen Netzwerk-Social-Games verwendet wurden.

    
hongtium 15.10.2012, 02:19
quelle
6
___ qstnhdr ___ Spielen! Framework vs Ruby on Rails [geschlossen] ___ tag123rubyonrails ___ Ruby on Rails ist ein Open-Source-Full-Stack-Webanwendungsframework, das in Ruby geschrieben wurde. Es folgt dem populären MVC-Framework-Modell und ist bekannt für seinen "convention over configuration" -Ansatz für die Anwendungsentwicklung. ___ tag123ruby ___ Ruby ist eine multi-plattform Open-Source, dynamische objektorientierte interpretierte Sprache, erstellt von Yukihiro Matsumoto (Matz) im Jahr 1995. Die [Ruby] -Tag ist für Fragen im Zusammenhang mit der Ruby-Sprache, einschließlich seiner Syntax und seiner Bibliotheken . Fragen speziell zum Ruby-on-Rails-Framework sollten mit [ruby-on-rails], nicht [ruby] getaggt werden. Verwenden Sie dies nicht, um Ruby in der japanischen Sprache zu markieren. ___ tag123performance ___ Für Fragen zur Messung oder Verbesserung der Code- und Anwendungseffizienz. ___ tag123playframework20 ___ Play Framework 2.0 ist eine grundlegende Überarbeitung von Play, einem Ruby-on-Rails-ähnlichen Framework für die Java-Plattform. Version 2.0 bietet Funktionen wie die Verwendung der Sprache Scala, Akka-Akteure, Scala-Vorlagen und ein Build-System (SBT). ___ answer12888475 ___

Viele Unterschiede zwischen diesen beiden Modellen. Was die Leistung betrifft, meine Meinung zu Java basiert & amp; RoR:

1, Java-basierte Website (läuft auf mehreren Java Application Servern), hat seinen einzigartigen Vorteil, wie Multi-Thread-Modell (höchste Geschwindigkeit zum Lesen lokaler Daten), globaler Speicher, einfach zu bündelnde Ressourcen, viele effiziente Clients zu Verbinden Sie alle Arten von OSS-Tools für den 3. Teil ...

2, RoR (und Php) Modell der HTTPServer Verbindung, muss "Proxy" Anfrage an App Tier. Multi-Prozess-Modell erhöht die Kommunikation zwischen Prozessen. Und als "dynamische Sprache" ist die Leistung geringer.

Aber Web-Programmierung hängt heutzutage von anderen Tools ab, um sie zu verbessern. Die weit verbreitete Verwendung von Cache, NoSQL (Memcached, Redis, TT / TC), IPC / RPC-Framework (netty, akka, ...) verschiebt den Engpass. Ich wusste, dass beide oben genannten Modelle in großen Netzwerk-Social-Games verwendet wurden.

    
___ qstntxt ___

Es wird keine allgemeine Vergleichsfrage sein:

Spielen! Framework ist Java-basiert was bedeutet, dass der Code in Bytecode interpretiert und dann von der JVM in Runtime kompiliert wird. Auf der anderen Seite ist Ruby eine dynamische Sprache was bedeutet, dass der Code mit jeder Anfrage interpretiert wird. Dies ist für jeden Programmierer offensichtlich.

Ein weiterer Aspekt ist der Entwicklungsprozess und die Leichtigkeit der Sprache (starke Typisierung vs. schwache Typisierung).

Momentan entwickle ich eine neue Website mit Play!
Also, für die Fragen:

  1. Leistung für einen HTTP-Server (Play! läuft auf der JVM, Ruby ist dynamisch) - ist es wirklich wichtig für eine Website? Würden Sie signifikante Unterschiede sehen?
  2. Ich denke, RoR hat viel größere Community, Quellen, Tutorials usw. , und es ist ein kleiner Schlag mich. Oder sollte es?
___ antwort12887015 ___

Nun, es kommt darauf an.

  1. Ruby ist keine besonders schnelle Sprache, aber die Geschwindigkeit der Sprachausführung ist wahrscheinlich nicht dein Flaschenhals - meiner Erfahrung nach ist Rubys relative Langsamkeit oft nur ein Tropfen in den Ozean von externen Serviceaufrufen (z. B. Datenbanken), algorithmisch Probleme (z. B. synchrone, blockierende Subroutinen) und Design-Entscheidungen, die für die Problemdomäne im Allgemeinen ungeeignet sind. Halten Sie Ihren gesamten Technologie-Stack im Blick.

  2. Die Community ist wichtig und Ruby / Rails hat eine äußerst aktive Community. AFAIK Play ist kleiner, aber nach meiner Erfahrung haben Java und Scala (und die unzähligen anderen Sprachen, die JVM-Implementierungen (einschließlich Ruby) haben) auch gute Communities.

All dies hängt von den spezifischen Bedürfnissen Ihrer App (und Ihnen!) ab. Wenn Ruby zu langsam ist, ist es zu langsam. Wenn Sie unbedingt eine Bibliothek benötigen, die nur in Java existiert, verwenden Sie Java. Wählen Sie das Werkzeug für die Aufgabe aus. Behalten Sie jedoch die gesamte Aufgabe (und Ihre eigenen Anforderungen zum Abschließen dieser Aufgabe) im Auge.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___
pje 14.10.2012 22:05
quelle