Sind Ruby on Rails / Grails die schnellsten Frameworks, um Websites schnell einzurichten?


10

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


2
Wenn Sie mit J2EE / JSF2, ASP.NET und PHP entwickelt haben, können Sie eine Site mit einer dieser Websites schneller zum Laufen bringen als mit Grails, Ruby on Rails oder einem anderen Framework / Sprache, die Sie noch nie benutzt haben.
Carson63000

2
Der schnellste Weg, um eine Website zum Laufen zu bringen, ist die Installation von WordPress oder MediaWiki. Dies lässt sich überhaupt nicht skalieren, wenn Sie Funktionen hinzufügen müssen, aber es gibt viele Websites, die von einer Standardlösung + Plugins gut bedient werden.
Sean McMillan

Antworten:


13

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.


4

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.


Danke für den Einblick. Ich habe in der Vergangenheit einen Blick auf CakePHP geworfen und es scheint ähnliche Konzepte wie RoR zu verwenden.
Jon Onstott

Stimmen Sie +1 zu, wenn Sie mich mit CakePHP bekannt machen.
Jeremy

CakePHP Roxxors.
Stephen

3

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.


1
MVC ist großartig, und wenn Sie meine SO-Beiträge lesen, wissen Sie, dass ich ein Fan bin, aber direkt nach dem Auspacken ist es bei weitem nicht so schnell wie Rails, eine DB-gesteuerte Site in Betrieb zu nehmen. Ich denke, MVC ist auf lange Sicht eine bessere Wahl als Rails (abhängig von Ihren Anforderungen), aber Kredit, wo es fällig ist: Rails macht das Out-of-Box-Erlebnis besser.
Craig Stuntz

@Craig: Aus purem Interesse und dem Wunsch, etwas Neues zu lernen, bin ich versucht, ein kleines Projekt auszuwählen und es jetzt in MVC und Rails zum Laufen zu bringen, um zu sehen, wie sie sich vergleichen.
Ysolik

Das 2012 zu lesen, brachte mir wirklich eine Träne ins Auge. Ich erinnere mich, dass ich anfing, asp.net mvc zu verwenden, als es gerade herauskam, und es heutzutage so robust zu sehen, ist einfach unglaublich. Hat mich zu einem Fan der Webentwicklung gemacht und mir ermöglicht, CakePHP und Ruby on Rails einfach zu lernen.
Serggserg

1

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.


1

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.


Ich habe festgestellt, dass die Einrichtung von Django eine Weile dauert, insbesondere wenn Sie mit Apache
User
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.