Ich sah mich um, ob es ein Äquivalent zu Django/RoR in Java gibt.Java Webframeworks
ich gefunden:
Hat jemand jemals diese Rahmenstrukturen versucht haben, oder wissen Sie, andere? Sind sie schneller als Django/RoR?
Ich sah mich um, ob es ein Äquivalent zu Django/RoR in Java gibt.Java Webframeworks
ich gefunden:
Hat jemand jemals diese Rahmenstrukturen versucht haben, oder wissen Sie, andere? Sind sie schneller als Django/RoR?
Ich entdeckte Grails vor etwa einem Jahr und habe nicht zurückgeblickt. Es braucht viele Ideen von Ruby on Rails (ursprünglich hieß es Groovy on Rails), und hat ein reichhaltiges Ökosystem von Plugins/Erweiterungen. Grails und die zugrunde liegende Grails-Sprache (Superset von Java) machen die Programmierung zu einer Freude - Sie können sich wirklich auf das Wesentliche konzentrieren. Seine GORM-Funktionalität (eine Ebene über dem Winterschlaf) ist ebenfalls sehr mächtig und zusätzlich zu dem Plugin-System, ist einer von zwei großen Gründen, es auszuprobieren (Sie können es auch in Ihren Java-Apps verwenden).
Mit der Version 1.2, die bald herauskommen wird, fühle ich, dass sie funktionsreich und reif genug ist, um etwas zu sein, das jeder Entwickler in seinem Toolbelt haben sollte.
In Bezug auf die Leistung ist es definitiv weniger als das von reinem Java, aber Sie haben alles von Spring/Hibernate/J2EE zur Verfügung zu optimieren, und Sie können immer in pure Java für einige kritische Code-Teile fallen.Es gab kürzlich einige Experimente, bei denen es möglich war, einen Teil des Groovy-Codes mit Hilfe der statischen Methodenauflösung auszuführen, was in Verbindung mit der aufgerufenen dynamischen Unterstützung zu enormen Leistungssteigerungen führen sollte.
Weitere in Java zu checken sind Spring Roo und AribaWeb.
aktualisiert Basierend auf Zusatzqualifikationen
Skalierbarkeit, Produktivität, Dokumentation und anständige Ressourcen Verbrauch
Nun ja, Gral scheint großartig. Aber denke ich werde "Play" versuchen, es sieht wirklich attraktiv aus.das einzige worüber ich mir Sorgen mache, ist Resources Consumption und ob es schlechter oder besser ist als php/python/ruby, ich habe es nicht geschafft auf google viel zu finden. – Roch
Klingt gut - das Spiel sieht cool aus. Sieh dir AribaWeb Videos an - sieht sehr süß aus. Denken Sie daran, dass Sie mit Grails auch die Power von Groovy erhalten, was an sich ein Vorteil ist (obwohl natürlich die Performance ein Kompromiss ist). –
Ok, ich schaue mir AribaWeb an. Play Framework verwendet Groovy auch für seine Templates ;-) – Roch
Ich weiß nicht über das Play Framework, aber um die zweite Frage zu beantworten, wir tun einige Projekte mit Googles Webtoolkit. Könnte einen Besuch wert sein.
Viel Glück!
Ich weiß nicht über Play Framework, aber Spring MVC oder Struts zusammen wird Hibernate bieten ähnliche Funktionalität.
Es gibt viele andere Optionen. Grundsätzlich benötigen Sie ein MVC-Framework (Spring MVC, Struts, Wicket) und ein ORM-Tool (Hibernate, iBatis). Natürlich müssten Sie die benötigten Komponenten selbst integrieren, aber das wurde schon viele Male gemacht und Sie werden viele Informationen finden.
Ich bin 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, aber ich habe es nicht selbst gemacht und nur den Screencast angesehen und einige Dokumentationen darüber gelesen. Wenn Sie eine ähnliche Erfahrung mit RoR haben möchten, denke ich Sie kann eher etwas wie Play anstelle von Spring MVC mit Hibernate ausprobieren. Letzteres hat den Vorteil, dass es sehr leistungsfähig ist und sich beispielsweise an ein existierendes Datenmodell anpassen kann (von dem, was ich über RoR weiß, das ist in RoR nicht ganz trivial). Ein anderer Rahmen, den Sie in Betracht ziehen könnten, ist Groovy on Grails. Es verwendet zwar kein Java (es verwendet Groovy), es ist jedoch sehr RoR-ähnlich. Es verwendet Spring und Hibernate unter der Haube (wenn ich richtig liege) und der Vorteil von Groovy ist, dass Sie nicht die strenge statische Typisierung von Java haben. Ruby on Rails und Django profitieren stark von der Dynamik der Sprache, in der es implementiert ist, ein Feature, das Java aufgrund seiner statischen Typisierung vermisst.
Edit: ah, Sie Grails erwähnt bereits in Ihrer Frage ...
wenn Grails ist eine Option (die eigentlich kein Java ist aber ein starkes Gerüst) dann die Scala-basierte Lift Rahmen wäre eine Option , auch.
Eine andere Option ist RIFE, die versucht, die minimale Konfiguration von RoR zu haben, während sie noch in Java ist. Auf Ihrer Liste hat nur Play Framework diese Funktion, die anderen sind auf der JVM, sind aber nicht Java (wenn Ihnen das überhaupt wichtig ist).
Stripes scheint recht leicht zu sein und umfasst Convention over Configuration.
Stripes sieht in der Tat sehr interessant aus. +1 –
Was ist mit VRaptor? - Es verwendet Spring als DI-Container und eine Controller/View-Engine ähnlich dem Rails Action-Pack.
Streben verwendet haben, Wicket, Schienen & Tapisserie, empfehle ich Ihnen in Tapestry 5 suchen.
Es unterstützt
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 & 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 here.
Spring Roo behauptet, eine Lösung zu sein.
Betrachten Sie versuchen Lift Framework. Es ist wirklich großartig.
AribaWeb unterstützt auch Groovy. Sehen Sie sich unsere anderen Funktionen unter http://aribaweb.org/ an und finden Sie heraus, wie Sie die Webentwicklung produktiv gestalten können.
Immer wenn Sie über einen Anwendungsstapel (Sprache, Framework, etc ...) nachdenken, müssen Sie auch überlegen, was Sie zu lösen versuchen und welche Programmierkenntnisse Sie zur Verfügung haben. Ich habe festgestellt, dass erfahrenere Java-Programmierer mit dem Groovy- und Grails-Stack sehr produktiv waren, verglichen mit jüngeren Programmierern.
Sie erwähnen die folgenden als Problembereiche:
Hoffe das hilft.
Wir verwenden Stripes Framework ausgiebig und es funktioniert wirklich super. Es ist wirklich leicht und es führt Sie zu einem sauberen Design Ihrer Anwendungen. Es verbirgt im Grunde nur die langweiligen Teile der Entwicklung von Ihnen, so können Sie sich auf die lustigen Sachen konzentrieren (Ein solches Beispiel sind die indexed properties).
Ich habe ein Projekt mit Grails gemacht und ich habe es sehr schnell für einige Aufgaben gefunden, aber es macht viele "Magie" hinter den Kulissen, die es beim Debuggen schwierig macht.
Auch ich fand mich immer und immer wieder lesen die Dokumentation, weil ich es nicht natürlich fühlte. Ein einfaches Beispiel ist der Controller, bei dem die Aktionen als Felder definiert sind (es ist natürlich für mich, eine Aktion als eine Methode zu betrachten ...). Ich kann etwas über GORM sagen, wo Sie einige spezielle Wörter wissen müssen, die, wenn sie in statische Felder gesetzt werden, eine Magie wie ein transientes Feld erzeugen ... Keine Anmerkungen, keine Autokomplettierung ... nur das Handbuch.
Wie für Play! Ich fand es erstaunlich einfach und schnell für die Entwicklung, einfach zu lernen und zu erinnern. Die Community scheint kleiner zu sein als Grals, aber sie ist aktiver und schneller zu beantworten. Der einzige Nachteil ist, dass es nicht auf Servlets API angewiesen ist, so dass einige Filter von Drittanbietern oder andere Dinge schwer zu integrieren, aber nicht unmöglich sind. Es ist wichtig zu beachten, dass Sie eine Play-Anwendung in einem herkömmlichen Webserver als Warp-Paket bereitstellen können.
Grails ist meiner Meinung nach großartig, aber man muss eine Menge Erfahrung damit haben, um produktiv zu sein, sonst wird man viel Zeit mit den Handbüchern verlieren. Wenn das nicht dein Fall ist, sollte ich Play empfehlen! Speziell, wenn Sie nicht vertraut sind mit Groovy
Ich habe http://www.ninjaframework.org/ für Micro-Services verwendet und es ist sehr nah an den meisten MVC-Paradigmen, wenn Sie Schienen, asp.net MVC oder nancyfx, Sie sind gut zu gehen. Es ist sehr nah an dieser Philosophie und wirklich großartig und einfach zu testen. Nur unten gibt es nicht viel Dokumentation, aber es folgt ziemlich genau dem mvc-Muster. Es verwendet nichts proprietäres im Framework, also ist es eine reine Java-basierte Lösung. Dies gleicht den Mangel an Dokumentation aus.
Welche Elemente eines Web-Frameworks sind für Sie wichtig? Skalierbarkeit, Produktivität, Dokumentation etc ?? – Joel
Skalierbarkeit, Produktivität, Dokumentation und anständige Ressourcenverbrauch (Auch wenn jeder sagt, es ist nicht so wichtig für eine Web-App, in einer Cloud-Umgebung wird es sein) – Roch
Benchmark von Schienen, Wicket, Grals, spielen, Liste, Jsp: http : //www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/ –