Frage

Ich war auf der Suche, um zu sehen, ob es ein Äquivalent / RoR django in Java.

ich gefunden:

Hat jemand jemals diese Rahmenstrukturen ausprobiert, oder kennen Sie einen anderen? Sind sie schneller als django / RoR?

War es hilfreich?

Lösung

Ich entdeckte Grails vor etwa einem Jahr, und haben es nicht bereut. Es braucht eine Menge Ideen von Ruby on Rails (Original wurde Groovy on Rails genannt), und hat ein reichen Ökosysteme von Plugins / Erweiterungen. Grails und zugrunde liegenden Grails Sprache (Obermenge von Java) ist es eine Freude machen Programm - Sie sich auf das Wesentliche wirklich konzentrieren können. Seine GORM-Funktionalität (eine Schicht oben auf Hibernate) ist auch sehr mächtig, und zusätzlich zu dem Plugin-System, ist eine von zwei großen Gründen, es zu überprüfen (Sie es in Ihren Java-Anwendungen als auch verwenden können).

Mit der Version 1.2 über kommen, ich glaube, es ist feature-rich und reif genug, etwas zu sein, dass jeder Entwickler in ihrem toolbelt haben sollte.

Was die Leistung, es ist auf jeden Fall weniger als die von reinem Java, aber Sie haben alles von Frühjahr / Hibernate / J2EE zur Verfügung zu optimieren, und Sie können in reine Java für einige kritische Teile des Codes immer fallen. Es wird einige neueren Experimente wurde mit so dass ein Teil des Groovy-Code mit statischer Methode Auflösung, die, gekoppelt mit invokedynamic Unterstützung laufen, sollte große Leistungssteigerungen bieten.

Andere diejenigen in Java zu überprüfen, sind Frühling Roo und AribaWeb.

Update Basierend auf Zusatzqualifikationen

  

Skalierbarkeit, Produktivität,   Dokumentation und menschenwürdige Ressourcen   Verbrauch

  • Skalierbarkeit - Sie den bewährten Java / Frühjahr / Hibernate-Stack erhalten, obwohl ich kann nicht sagen, Grails bietet viel selbst.
  • Effizienz - das ist der Hauptgrund, Grails zu verwenden. Sie haben eine Performance-Overhead, aber Grails ist das, was Sie verwenden, wenn die Entwicklungszeit / Produktivität wichtiger ist.
  • Dokumentation - die grails docs sind groß, und es gibt mindestens drei gute Bücher über Grails geschrieben allein. Die Gemeinde ist blühende und sehr hilfreich.
  • Ressourcen Verbrauch - das ist die eine Kompromiss. Grails (teilweise wegen des zugrunde liegenden Java-Stack) ist ressourcenintensiv. Wenn ich so etwas wie Google Gebäude war, Grails wäre nicht die Wahl. Doch in jedem Web-App aller Raffinesse, dann würden Sie gut für eine Caching-Lösung tun, so gleiche gilt auch hier.

Andere Tipps

Stripes scheint ganz leicht zu sein und umfasst Konvention über Konfiguration.

verwendet Streben, Wicket, Schienen und Tapisserie, empfehle ich Ihnen schauen Sie in Tapestry 5 .

Es unterstützt

  • in Containerklasse Nachladen (so haben Sie nicht Ihre Webapp jedes Mal, wenn Sie eine Änderung vornehmen neu zu starten)
  • schnelle Entwicklungszeit und erhöht die Produktivität - es verwendet eine Komponente basiertes Modell, mit deklarative Verdrahtung
  • minimale Konfiguration, die meist in Code ist sowieso, Konvention über Konfiguration - etc ..
  • Keine Basisklassen erweitern
  • Ein Ausdruck Sprache für die Verwendung in Vorlagendateien
  • gute Ajax-Unterstützung
  • ausgezeichnete Debugging-Unterstützung, sowohl Client als auch Server-Seite
  • gute Datenzugriff Integration
  • eine aktive Community
  • aus dem Boden geschrieben mit Leistung im Auge behalten. z.B. Seite Pooling, Seite Komprimierung, Leerzeichen Beseitigung, alle dynamischen Code kompiliert nativen (Ressourcenverbrauch zu minimieren).
  • gute Bohne und Form Unterstützung - machen gemeinsame Aufgaben einfach. Ein sortierbar Datenbank gesichert drid mit nur einer Zeile des Template-Code und einem minimalen Skelett Server-Backend codiert werden.

Der einzige Nachteil ist die Dokumentation, die gut, aber ein wenig knapp, obwohl die Benutzergruppen / Mailinglisten sehr aktiv sind und die meisten Fragen sind gut und eifrig beantwortet.

(auch sicher, dass nur bei T5 aussehen - und nicht T4,3,2,1 ....., da diese auf die aktuelle Version sehr unterschiedlich sind)

Mehr darüber, warum hier .

Aufzug Rahmen versuchen. It`s wirklich toll.

Immer, wenn Sie erwägen, einen Anwendungs-Stack (Sprache, Rahmen, etc ...) Sie müssen auch überlegen, was Sie versuchen zu lösen und welche Art von Programmierkenntnisse haben Sie zu Ihrer Verfügung haben. Ich habe festgestellt, dass mehr erfahrenen Java-Programmierer sehr produktiv gewesen sein mit dem Groovy und Grails-Stack im Vergleich zu jüngeren Programmierern.

Sie erwähnen die folgenden als Problembereiche:

  • Skalierbarkeit: in Hinblick darauf, was genau? (Seitenaufrufe / Sekunde, # Transaktionen / Sekunde, etc ...) Im Allgemeinen Groovy & Grails skaliert, wenn es um Rendering-Seiten kommt, aber wie bei jedem Anwendungsstapel ORM (im Fall von Grails Sie haben GORM) gibt einiger Kopf ist zu berücksichtigen.
  • Produktivität: eine der wichtigsten Vorteile hier - schnelles Prototyping, schnelle Entwicklung ist ein Kinderspiel mit Groovy & Grails, obwohl es Leute auf Personal zu haben, hilft, die in Java oder Ruby entwickelt haben, zu verstehen, was die Grails Rahmen tatsächlich tut " unter der Haube". Es gibt Unmengen von Plug-In für die Benutzeroberfläche, die sehr schnell mit der Erstellung von Web-2.0-Seiten wie helfen.
  • Dokumentation: Es gibt eine wachsende Zahl von Qualitätsreferenz Bücher für Groovy & Grails geschrieben. Beide sind Reifung sehr schön in den letzten 2 Jahren. sicherlich nicht sehr gut dokumentiert in Bezug auf einen Großteil der inneren Funktionsweise des Grails Framework Dinge sind, wenn Fehler / Probleme auftreten (ein großer Teil der Ausgabe aus dem Rahmen ist unklar oder nicht existent bestenfalls, wenn ein Fehler konfrontiert wird). Wenn Sie bereit sind, die Ärmel zu und in zu Fuß durch das Innenleben einfallsreich sein, dann werden Sie nicht mit diesem Stapel enttäuscht sein. Auch erfahrene Programmierer werden diese als zweite Natur finden, während jünger Leute manchmal ihre Hände in Frustration werfen können.
  • Ressourcenverbrauch:. Dort Aufwand ist jedoch bei den meisten der Hardware heute (lokal oder in einer Wolke) finde ich würde nicht zu viel über für eine bestimmte Anwendungsinstanz physikalischen Ressourcenverbrauch sorgen

Hope, das hilft.

Ich weiß nicht, über den Play-Framework, aber die zweite Frage zu beantworten, wir tun einige Projekte mit Google Webtoolkit . Könnte sein, einen Besuch wert.
Viel Glück!

Wie wäre es JRoR

habe es selbst nicht ausprobiert, aber Hochschulen von mir genießen Streifen

Es gibt eine Buch und alles rel="nofollow.

Frühling Roo eine Lösung vorgibt zu sein.

Ich habe ein Projekt mit Grails getan, und ich habe es wirklich schnell für einige Aufgaben gefunden, aber es hat viele „magische“ hinter den Kulissen, die es schwierig machen, beim Debuggen.

Auch fand ich mich über und über die Dokumentation zu lesen, weil ich es nicht natürlich fühlen. Ein einfaches Beispiel ist die Steuerung, wo die Aktion des als Feld definiert sind (es ist natürlich für mich eine Handlung als eine Methode zu denken ...). Ich kann etwas über GORM sagen, wo Sie einige besondere Worte wissen müssen, dass, wenn in statischen Feldern gesetzt hat einige Magie wie ein Feld transient machen ... Keine Anmerkungen, keine autocompletition ... nur das Handbuch.

Wie für Play! Ich fand es erstaunlich einfach und schnell für die Entwicklung, einfach zu erlernen und zu erinnern. Die Gemeinde scheint kleiner als Gral, aber es ist aktiver und schneller zu beantworten. Der einzige Nachteil ist, dass es nicht auf Servlets api angewiesen ist so einige 3rd-Party-Filter oder andere Sachen ist schwer zu integrieren, aber nicht unmöglich. Es ist wichtig zu beachten, dass Sie eine Play-Anwendung in jedem herkömmlichen Web-Server bereitstellen können es als ein Krieg packagin.

Meiner Meinung nach Grails ist groß, aber Sie müssen mit ihm viel Erfahrung haben, um produktiv zu sein, sonst werden Sie viel Zeit mit den Handbüchern verlieren. Also, wenn das nicht der Fall ist sollte ich empfehlen spielen! Besonders, wenn Sie mit Groovy nicht vertraut sind,

Ich weiß nicht, über Play-Framework, aber Spring MVC oder Struts zusammen werden Hibernate wird eine ähnliche Funktionalität bieten.

Es gibt viele andere Optionen zur Verfügung. Grundsätzlich benötigen Sie einen MVC-Framework (Spring MVC, Struts, Wicket) und ein ORM-Tool (Hibernate, iBatis). Natürlich müßten Sie die benötigten Komponenten selbst integrieren, aber das schon viele Male und Sie werden in der Lage zu finden, eine Fülle von Informationen.

getan wurde

Ich bin mir nicht sicher, ob Spring MVC und Hibernate die gleiche Benutzerfreundlichkeit bietet, die Ruby on Rails (eigentlich, ich bin sicher, dass es viel komplizierter ist ...). Play-Framework ist viel mehr wie Ruby on Rails Ich denke, aber ich habe nicht uns selbst es und sah nur die Screencasts und eine Dokumentation über sie lesen, wenn Sie also eine ähnliche Erfahrung zu entwickeln RoR mit haben wollen, ich glaube, Sie können versuchen, besser etwas wie Play statt Spring MVC mit Hibernate. Der Vorteil der letzteren ist, dass es sehr mächtig ist und in der Lage, ein bestehendes Datenmodell zum Beispiel anpassen (von dem, was ich weiß, auf RoR, das ist nicht sehr trivial in RoR). Ein weiterer Rahmen könnte man erwägen ist Groovy auf Grails. Während es die Java nicht verwenden (es verwendet Groovy), ist es sehr RoR-like. Es nutzt Spring und Hibernate unter der Haube (wenn ich richtig bin) und der Vorteil von Groovy ist, dass Sie nicht die strenge statische Typisierung von Java haben. Ruby on Rails und Django stark von der dynamischen Natur der Sprache profitieren, in denen sie umgesetzt wird, eine Funktion Java fehlt wegen seiner statischen Typisierung.

Edit: ah, Sie erwähnten Grails bereits in Ihrer Frage ...

Wenn Grails ist eine Option (die eigentlich kein Java ist aber ein starkes Gerüst) dann die Scala-basierten Rahmen wäre eine Option, auch.

Eine weitere Option ist RIFE , die die minimale Konfiguration von RoR zu haben versucht, während sie noch in Java zu sein. Auf der Liste, nur spielen Rahmen diese Funktion hat, die anderen sind auf der JVM, sind aber nicht Java (wenn das für Sie wichtig ist überhaupt).

Was VRaptor ? -. Es verwendet Frühling als DI-Container und einen Controller / Ansicht Motor ähnlich wie Rails Aktion Pack

AribaWeb unterstützt auch Groovy. Sehen Sie sich unsere anderen Funktionen unter http://aribaweb.org/ und finden Sie heraus unser Ansatz Herstellung von Web-Entwicklung produktiv.

Wir verwenden Stripes Rahmen umfangreich und es funktioniert wirklich toll. Es ist wirklich leicht und es führt Sie auf eine saubere Design Ihrer Anwendungen. Es besteht im Wesentlichen nur versteckt die langweiligen Teile der Entwicklung von Ihnen, damit Sie sich auf spaßigen (Ein Beispiel dafür sind die indizierte Eigenschaften ).

Ich habe mit http://www.ninjaframework.org/ für Mikro-Dienste und wenn Sie sehr nah an den meisten mvc Paradigmen, gebrauchte Schienen, asp.net Mvc oder nancyfx, sind Sie gut zu gehen. Es ist ganz in der Nähe dieser Philosophie und wirklich genial und einfach zu testen. Nur Down-Seite gibt es nicht viel Dokumentation, aber es folgt mvc Muster ziemlich eng. Es nutzt nichts proprietäre im Rahmen, so dass es eine reine Java-basierte Lösung ist. Also das macht die fehlende Dokumentation auf.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top