2009-08-13 7 views
7

Ich weiß, dass dies ein heißes Thema in der Vergangenheit war und viele Flammenkriege und eine Stammes-ähnliche Haltung in den Foren hervorbrachte. Einige Jahre sind vergangen und Java hat sich weiterentwickelt: Wir haben jetzt mehr Annotationen für fast alles, schöne Gerüstwerkzeuge wie Appfuse oder Spring Roo, etc.Entwicklungsproduktivität von Ruby on Rails vs. Java im Jahr 2009

Ich würde gerne von Leuten wissen, die echte Projekte auf RnR und Java (alle Frameworks), wenn Sie denken, dass die Geschwindigkeit der Entwicklung in RnR noch schneller als Java ist (dies ist der wichtigste Trumpf von RnR und für viele Menschen der Grund, warum es für die Wahl) nach dem ersten Monat der Entwicklung

Bitte beachten Sie, dass dies keine Frage zu anderen Vorteilen wie Ausführungsgeschwindigkeit, Skalierbarkeit usw. ist. Nur Entwicklung Geschwindigkeit.

Es ist auch keine Frage über andere Alternativen (wie die Verwendung von JRuby und die Kombination beider Welten oder Grails). Es geht nur um Java und Ruby.

Aufrichtigkeit in diesem Thema wäre wirklich willkommen: Die meisten Blogs scheinen eingefleischte Fans einer der beiden Technologien zu sein.

Vielen Dank für einen Einblick!

+0

Meine Antwort wurde aufgrund Ihres Kommentars aktualisiert. –

Antwort

4

Es scheint ein sehr Äpfel-und-Orangen-Vergleich, wenn Sie "Ruby on Rails" (ein spezifisches Framework) und "Java" (eine allgemeine Programmiersprache) ohne Berücksichtigung bestimmter Java-Frameworks vergleichen müssen. Zum Beispiel ist Grails in Bezug auf die Konzepte und die verwendete Terminologie ziemlich analog zu Rails; Sie sagen jedoch ausdrücklich, dass dies keine Frage über z. Grails, nur über Java und Ruby. Aber es scheint, dass Sie sich nicht nur auf die Sprache Ruby beziehen, sondern auch auf Ruby on Rails.

In Bezug auf die Entwicklungsgeschwindigkeit würde ich sagen, dass es zwischen Ruby on Rails und Grails nicht viel zu wählen gibt, da beide eine ähnlich schnelle Entwicklung erlauben.

Update: Sie sagen "Die Java-Frameworks und Tools sind kostenlos", als ob die anderen nicht sind. Aber Groovy und Grails sind unter Open-Source-Lizenzen erhältlich und auch kostenlose Downloads, AFAIK -so auch frei wie in Bier/Sprache. Groovy könnte auch als ein Framework neben Java betrachtet werden, das einen Punkt ausdehnt, wie Sie jeden Java-Code von Groovy frei nennen können.

Eine weitere interessante Plattform ist Django, die auf Jython läuft, die auf der JVM läuft. Django bietet definitiv hohe Produktivität und schnelle Entwicklung, und Django auf Jython bietet das auf der JVM laufen. Würden Sie dies auch ablehnen, weil es auf Python und nicht auf Java basiert? Der größte Produktivitätsvorteil, den Grails und Django gegenüber Java-basierten Frameworks haben, besteht darin, dass sie auf dynamischen Sprachen basieren. Wenn Sie darauf bestehen, Java + Java-Sprachframeworks beizubehalten, wie sie von SpringSource verfügbar sind, dann verlieren Sie viel Agilität, die Python und Groovy bieten, obwohl Spring auch über nette Frameworks verfügt, wenn Sie diesen Weg gehen wollen.

+0

Ich verwerfe Grails, weil es auf Groovy basiert, nicht als Framework. Die Java-Frameworks und Tools sind kostenlos. Es ist Java + das beste heute verfügbare Framework vs. RnR – Juan

3

Die Antwort auf Ihre Frage hängt von der Komplexität der Anwendung und dem Wissen der beteiligten Entwickler ab; Ein Entwickler mit umfangreichen Java-Kenntnissen, der an einer Ruby-Anwendung arbeitet, wird viel langsamer sein und umgekehrt.

Einer der Verkaufsargumente von RnR ist, dass die Entwicklung schneller sein sollte, also zu fragen, welche schneller ist, während Sie nicht alle anderen Variablen berücksichtigen, die Ihre Entscheidung beeinflussen, ist eine geladene Frage. Java-Entwicklung kann höhere Entwicklungskosten haben, aber es gibt Gründe, warum Leute diese Kosten absorbieren.

Die Tools, die Sie verwenden, sollten nicht verwendet werden, da die Entwicklung "schneller" oder "einfacher" ist, wenn sie mit den Anforderungen der Anforderungen in Konflikt steht.

+0

Sie haben Recht, aber ich versuche eine Metrik zu messen: Entwicklungsgeschwindigkeit. Ich treffe keine Entscheidung alleine. Ich möchte nur eine fokussierte Antwort zu diesem Thema bekommen. Es wird von den Entwicklern das gleiche Erfahrungsniveau angenommen. – Juan

+0

Ich glaube, ich habe das angesprochen. RNR ist BUILT, um auf Kosten anderer Aspekte schneller in der Entwicklung zu sein. Die meisten, wenn nicht alle dynamischen Sprachen werden schnellere Entwicklungszeiten haben. – doomspork

0

Wicket oder Play könnte "Straight Java + einige Rahmenbedingungen" näher zu RoR bringen.