Frage

Ich überlegte, Gral für eine neue Website zu verwenden, bin aber offen für andere/neue Programmiersprachen und Frameworks. Ich habe mit J2EE/JSF2, ASP.NET und PHP entwickelt. Ist Gral oder Ruby auf Rails so ziemlich der beste Weg, um die Funktionalität schnell zum Laufen zu bringen?

Einige erste Gedanken:

  • Django ähnelt ROR/Grails und ich würde es in Betracht ziehen
  • GWT ist ein interessant

Danke, -jon

War es hilfreich?

Lösung

Wie bei allen Fragen dieser Art lautet die Antwort "es hängt davon ab". Zu den zu berücksichtigenden Faktoren gehört, wie bequem Sie sich mit der Sprache/dem Framework fühlen und welche Funktionen das Projekt benötigt. Trotzdem habe ich Websites mit einer Reihe von Frameworks gebaut, die jeweils eigene Stärken und Schwächen haben:

Gral

Wenn ich für irgendetwas schnell eine Seite aufbauen muss Fachmann, Grals wären wahrscheinlich meine erste Wahl. Gorm ist weit und fern das einfachste und intuitivste Orm, das ich ausprobiert habe, das MVC -Paradigma ist sehr gut ausgeführt. Es gibt 0 Konfiguration, um mit dem Codieren zu beginnen (keine Sorge um URLs, DB -Patches, irgendetwas), sehr schnelle Iteration (nur aktualisieren Sie die Seite), nahtlose Java -Integration (eine gute Sache in der Geschäftswelt) und einige wundervolle Plugins (z. B. eine gute Sache Durchsuchbar ist eine Sache von Schönheit). Der größte Nachteil ist, dass das Hosting schwer zu finden sein kann (und teuer).

Rubin auf Schienen

Meine Erfahrung mit ROR ist der von Grails sehr ähnlich: MVC gut ausgeführt. Positiv zu vermerken ist es eine größere Community, daher sind die Online -Ressourcen (Dokumentation, FAQ, Code -Muster usw.) sehr reichlich, es gibt jede Menge Plugins, Ruby ist etwas flexibler/ausdrucksstärker/"funky" und es ist es Viel einfacher zu finden Hosting (insbesondere für persönliche Projekte); Auf der negativen Seite ist das Abhängigkeitsmanagement/das Abhängigkeitsmanagement/das Setup (ich habe Rubygems unter Windows, Ubuntu, Fedora und OSX verwendet und auf jedem einzelnen nicht trivialen Problemen gestoßen), gibt es da), da gibt es leicht Mehr Konfiguration/Overhead als Gral (insbesondere mit Routen. RRB und Tonnen von DB -Migrationsdateien) und anscheinend hat ROR einige schwerwiegende Skalierbarkeitsprobleme.

Php (einschließlich des CakePHP -Frameworks)

Wenn ich etwas schnell aushacken oder eine Seite für die Aufbau eines Site für erstellen muss persönlich Verwendet, dann würde ich wahrscheinlich mit PHP gehen. PHP ist weit und fern am einfachsten zu lernen und bereitzustellen: Laden Sie eine der praktischen Lampenpakete dort draußen herunter, klicken Sie ein paar Mal und beginnen Sie mit dem Hacken. Die Community ist größer als die von ROR. Daher ist reichlich Dokumentation und es gibt unzählige Plugins (leicht "installiert", indem Sie nur in der PHP -Datei fallen und die Seite aktualisiert). Die Sprache ist einfach zu lernen, aber einige Dinge in PHP sind geradezu seltsam und es braucht viel Disziplin, um einen hässlichen Code zu vermeiden. Das CakePHP -Framework erzwingt ein schönes MVC -Paradigma, um die Dinge ordentlich zu halten, und ist größtenteils mit ROR auf A -Niveau, obwohl ich es persönlich etwas unintuitiver fand.

Java (Servlets, JSPS, JSTL, Streben, Geschwindigkeit)

Ich habe viele Websites mit den Java Servlet Technologies gebaut, und ich kann ehrlich sagen, dass es keinen guten Grund gibt, sie heutzutage für eine neue Website auszuwählen. Sie haben eine steile Lernkurve, Tonnen Konfiguration, mit denen sie kämpfen können (XML Hell), langsame Iteration, da sie die ständige Wiederholung von Sachen (es sei denn, Sie verwenden JREBEL), den ausführlichen Code und keine "Werbegeschenke" in Bezug auf Funktionalität. Ich habe mit dem herumgespielt Spielen! Rahmen und Frühlingsroo Ein bisschen und beide machen ein paar sehr coole Sachen mit mehr oder weniger "reinem" Java -Code und sind es wert, weiter untersucht zu werden.

Andere Tipps

Wenn ich CakePHP verwende, kann ich eine Web -App schneller als ... ein ... wirklich schneller Kerl aufspannen. Wie auch immer, es ist schnell. Lassen Sie die Dateien in Ihrem Web -Root -Ordner fallen und konfigurieren Sie zwei Dateien (etwa drei Zeilen, um sich jeweils zu ändern). Und fangen Sie an, zu codieren.

Da es die Konfiguration über die Konfiguration bevorzugt, wird einige Erfahrung erforderlich, um sicherzustellen, dass sie optimal konfiguriert ist. Ich garantiere jedoch, dass CakePhp mit gleichem Erfahrungsniveau die schnellste Bereitstellung aus jedem Framework hat, wahrscheinlich Zeitraum.

Das ursprüngliche CakePHP -Projekt war jedoch ein PHP -Klon von Schienen (es ist nicht mehr), also bin ich sicher, dass Rails auch schnell eingesetzt wird.

Ich habe mit gearbeitet ASP.NET MVC Rahmen seit einiger Zeit und ich habe festgestellt, dass es ein ziemlich verdammt guter Rahmen ist. Extrem einfach zu bedienen, insbesondere wenn Sie mit .NET vertraut sind. Der Rahmen ist seit seiner Veröffentlichung im Jahr 2009 schnell gewachsen. Die MVC 3 -Vorschau wurde kürzlich für die Öffentlichkeit veröffentlicht. Ich denke, MS macht mit dem ASP.NET -MVC -Framework alles richtig.

Ich habe nicht alles benutzt, aber Rails ist verdammt schnell. Ich erwarte auch, dass Grals auch die trockene Philosophie ziemlich gut verkörpert. Ich weiß nicht genug über andere dynamische Sprachrahmen.

Selbst mit guten Codegenerierungsstrategien scheint mein ASP.NET (WebForms) nicht so effizient zu sein.

Ich habe mich mit Django und Rails beschäftigt und Schienen zu mehr von meinem Geschmack gefunden. Davon abgesehen bevorzuge ich ASP.NET MVC 2 viel besser als Rails. Ich bin viel schneller in MVC (oder sogar nur Webformen) als Rails, nur weil mein Verstand "besser" mit C#funktioniert.

Für mich kommt es auf das an, was Sie wissen und was Sie genießen. Ich habe von vielen Leuten gehört, dass Ruby Spaß macht, nicht für mich, dass es nicht ist. C# macht Spaß! Haskell macht Spaß! Wenn Sie die Sprache/das Framework nicht genießen, werden Sie nicht so schnell wie ein "langsamer" Framework sein, den Sie genießen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top