Ich denke darüber nach, Grails für eine neue Website zu verwenden, bin aber offen für andere / neue Programmiersprachen und Frameworks. Ich habe die Entwicklung mit J2EE / JSF2, ASP.NET und PHP durchgeführt. Ist Grails oder Ruby on Rails so ziemlich der beste Weg, um die Funktionalität schnell zum Laufen zu bringen?
Einige erste Gedanken:
- DJango sieht RoR / Grails ähnlich und ich würde es in Betracht ziehen
- GWT ist ein interessantes Konzept, aber es scheint nicht, dass die Bearbeitungszeit so schnell ist
Danke, Jon
programming-languages
frameworks
web-framework
Jon Onstott
quelle
quelle
Antworten:
Wie bei allen Fragen dieser Art lautet die Antwort "es kommt darauf an". Zu berücksichtigende Faktoren sind, wie gut Sie mit der Sprache / dem Framework vertraut sind und welche Funktionen das Projekt benötigt. Trotzdem habe ich Websites mit einer Reihe von Frameworks erstellt, von denen jedes seine eigenen Stärken und Schwächen hat:
Grale
Wenn ich schnell eine Website für irgendetwas Professionelles einrichten muss, wäre Grails wahrscheinlich meine erste Wahl. GORM ist mit Abstand das einfachste und intuitivste ORM, das ich ausprobiert habe. Das MVC-Paradigma ist sehr gut ausgeführt. Es gibt 0 Konfigurationen zum Starten der Codierung (keine Sorge um URLs, DB-Patches usw.) und eine sehr schnelle Iteration (nur Aktualisierung) die Seite), nahtlose Java-Integration (eine gute Sache in der Geschäftswelt) und einige wunderbare Plugins (zB Searchable ist eine Sache von Schönheit). Der größte Nachteil ist, dass Hosting schwer zu finden (und teuer) sein kann.
Ruby on Rails
Meine Erfahrung mit RoR ist der von Grails: MVC sehr ähnlich. Positiv zu vermerken ist, dass es eine größere Community gibt, daher sind die Online-Ressourcen (Dokumentation, FAQ, Codebeispiele usw.) sehr zahlreich, es gibt Tonnen von Plugins, Ruby ist etwas flexibler / ausdrucksvoller / "funky" und es ist viel einfacher zu finden Hosting (vor allem für persönliche Projekte); Auf der negativen Seite ist das Abhängigkeitsmanagement /--Setup schlecht (ich habe RubyGems unter Windows, Ubuntu, Fedora und OSX verwendet und bin auf nicht triviale Probleme gestoßen). Es gibt etwas mehr Konfiguration / Overhead als Grails (insbesondere RoR weist anscheinend einige schwerwiegende Probleme mit der Skalierbarkeit auf.
PHP (einschließlich des CakePHP-Frameworks)
Wenn ich schnell etwas heraushacken oder eine Website für den persönlichen Gebrauch erstellen muss , würde ich mich wahrscheinlich für PHP entscheiden. PHP ist bei weitem die am einfachsten zu erlernende und zu implementierende Sprache: Laden Sie eines der praktischen LAMP-Pakete herunter, klicken Sie ein paar Mal und beginnen Sie mit dem Hacken. Die Community ist größer als die von RoR, daher ist die Dokumentation reichlich vorhanden und es gibt unzählige Plugins (einfach "installiert", indem Sie einfach die PHP-Datei einfügen und die Seite aktualisieren). Die Sprache ist einfach zu lernen, aber einige Dinge in PHP sind geradezu seltsam und es erfordert viel Disziplin, um hässlichen Code zu vermeiden. Das CakePHP-Framework erzwingt ein nettes MVC-Paradigma, um die Ordnung zu halten, und entspricht größtenteils dem RoR, obwohl ich es persönlich etwas unintuitiver fand.
Java (Servlets, JSPs, JSTL, Struts, Velocity)
Ich habe viele Websites mit den Java-Servlet-Technologien erstellt, und ich kann ehrlich sagen, dass es heutzutage keinen guten Grund gibt, sie für eine neue Website auszuwählen. Sie haben eine steile Lernkurve, jede Menge Konfiguration, mit der man kämpfen muss (XML-Hölle), langsame Iteration aufgrund der Notwendigkeit, Dinge ständig neu bereitzustellen (es sei denn, Sie verwenden JRebel), ausführlichen Code und keine "Werbegeschenke" in Bezug auf Funktionalität. Ich habe mit dem Spiel herumgespielt! Framework und Spring Roo machen ein bisschen und beide machen einige sehr coole Sachen mit mehr oder weniger "reinem" Java-Code und sind es wert, weiter untersucht zu werden.
quelle
Wenn ich CakePHP verwende, kann ich eine Web-App schneller starten als ... ein ... wirklich schneller Typ. Wie auch immer, es ist schnell. Legen Sie die Dateien in Ihrem Webstammordner ab und konfigurieren Sie zwei Dateien (jeweils etwa drei Zeilen zum Ändern). Und fangen Sie an zu codieren.
Da Konventionen gegenüber Konfigurationen bevorzugt werden, sind einige Erfahrungen erforderlich, um sicherzustellen, dass sie optimal konfiguriert sind. Ich garantiere jedoch, dass CakePHP bei gleicher Erfahrung die schnellste Bereitstellung aller Frameworks bietet, wahrscheinlich in einem bestimmten Zeitraum .
Das ursprüngliche CakePHP-Projekt war jedoch ein PHP-Klon von Rails (es ist nicht mehr vorhanden), daher bin ich sicher, dass Rails auch schnell bereitgestellt werden kann.
quelle
Ich arbeite seit einiger Zeit mit dem ASP.NET MVC- Framework und habe festgestellt, dass es ein verdammt gutes Framework ist. Sehr einfach zu bedienen, insbesondere wenn Sie mit .NET vertraut sind. Das Framework ist seit seiner Veröffentlichung im Jahr 2009 schnell gewachsen. Die MVC 3-Vorschau wurde kürzlich für die Öffentlichkeit freigegeben. Ich denke, MS macht mit dem ASP.NET MVC-Framework alles richtig.
quelle
Ich habe nicht alles benutzt, aber Rails ist verdammt schnell. Ich gehe davon aus, dass Grails es auch ist, da es die DRY-Philosophie ziemlich gut verkörpert. Ich weiß nicht genug über andere dynamische Sprachrahmen, um das zu sagen.
Selbst mit guten Strategien zur Codegenerierung scheinen meine ASP.NET (Webformulare) nicht so effizient zu sein.
quelle
Ich habe mich in Django und Rails versucht und Rails nach meinem Geschmack gefunden. Trotzdem bevorzuge ich ASP.Net MVC 2 viel besser als Rails. Ich bin in MVC (oder sogar nur in Webformularen) viel schneller als in Rails, einfach weil mein Verstand mit C # "besser funktioniert".
Für mich kommt es darauf an, was Sie wissen und was Sie genießen. Ich habe von vielen Leuten gehört, dass Ruby Spaß macht, für mich nicht. C # macht Spaß! Haskell macht Spaß! Wenn Ihnen die Sprache / das Framework nicht gefällt, sind Sie nicht so schnell wie ein "langsameres" Framework, das Ihnen gefällt.
quelle