Frage

Ich frage mich, ob es so etwas wie eine Django-ähnliche einfache Web-App-Entwicklung in Kombination mit guten Bereitstellungs-, Debugging- und anderen Tools gibt?

Django ist ein sehr produktives Framework zum Erstellen inhaltsreicher Websites.das Beste, was ich je probiert habe, und ein Hauch frischer Luft im Vergleich zu einigen der Java-Monstrositäten da draußen.Allerdings ist es in Python geschrieben, was bedeutet, dass es kaum wirkliche Unterstützung in Bezug auf Bereitstellung/Paketierung, Debugging, Profiler und andere Tools gibt, die die Erstellung und Wartung von Anwendungen erheblich erleichtern.

Ruby hat ähnliche Probleme und obwohl ich Ruby mag viel besser als ich Python mag, habe ich den Eindruck, dass Rails bei Django ungefähr im gleichen Boot sitzt, wenn es um die Verwaltung/Unterstützung der App geht.

Hat hier jemand sowohl Django als auch Grails (oder andere Web-Frameworks) für nicht triviale Projekte ausprobiert?Wie war der Vergleich?

War es hilfreich?

Lösung

Sie haben gefragt, für jemanden, der beide Grails und Django verwendet. Ich habe für große Projekte auf beide geleistete Arbeit. Hier sind meine Gedanken:

IDE: Django funktioniert wirklich gut in Eclipse, Grails funktioniert wirklich gut in IntelliJ Idea.

Debugging: Praktisch gleich (vorausgesetzt, Sie IntelliJ für Grails verwenden, und Eclipse für Python). Schritt Debuggen, Inspektion Variablen, etc ... müssen nie eine print-Anweisung für entweder. Manchmal django Fehlermeldungen nutzlos sein können, aber Grails Fehlermeldungen sind in der Regel ziemlich langwierig und schwer zu analysieren, durch.

Zeit einen Komponententest auszuführen: django: 2 Sekunden. Grails: 20 Sekunden (die Tests selbst laufen beide in einem Bruchteil einer Sekunde, dann ist es der Teil über den Rahmen laden, um sie auszuführen, die den Rest nehmen ... wie Sie sehen können, Grails ist frustrierend langsam zu laden)

Bereitstellung: Django: kopieren und eine Datei in eine Apache-Konfiguration einfügen, und umschichten, nur den Code ändern und Apache neu zu laden. Grails. Erstellen WAR-Datei, stellen Sie es auf tomcat, spülen und wiederholen umschichten

Programmiersprachen: Groovy ist total genial. Ich liebe es, mehr als Python. Aber ich habe sicherlich keine Beschwerden.

Plugins: Grails: viele gebrochene Plugins (und kann in jeder Java-lib jemals verwenden). Django:. Ein paar stabile Plugins, aber genug, um die meisten zu tun, was Sie brauchen,

Datenbank: Django: schema-Migrationen mit Süd und in der Regel intuitiv Beziehungen. Grails: keine Schema-Migrationen und standardmäßig es löscht die Datenbank beim Start ... WTF

Verwendung: Django: Start-ups (vor allem im Gov 2.0 Raum), unabhängige Web-Entwickler-Shops. Grails: Unternehmen

Ich hoffe, das hilft!

Andere Tipps

  

Doch es in Python geschrieben ist die   bedeutet, dass es wenig wirkliche Unterstützung ist in   die Art und Weise des Einsatzes / Verpackung,   Debugging, Profilern und andere Werkzeuge   dass machen den Aufbau und die Aufrechterhaltung   Anwendungen viel einfacher.

Python hat:

  1. rel="noreferrer">, die sehr gute Verwendung von Python macht REPL .
  2. easy_install anv virtualenv für Abhängigkeitsmanagement, Verpackung und Bereitstellung.
  3. Profilierungsmerkmale vergleichbar mit anderen Sprachen

So IMHO sollte man nicht über diese Dinge kümmern, verwenden Python und Django und glücklich leben: -)

Zum Glück für Sie, neueste Version von Django läuft auf Jython , so brauchen Sie nicht Ihre gesamte Java-Ökosystem hinter sich zu lassen.

Apropos Frameworks, ich bewerten in diesem Jahr:

  1. Pylons (Python)
  2. webpy (Python)
  3. Symfony (PHP)
  4. CakePHP (PHP)

Keine dieser Rahmenbedingungen kommt die Macht der Django oder Ruby on Rails zu schließen. Auf der Grundlage meiner Kollegen Meinung konnte ich Sie kohana Rahmen empfehlen. Der Nachteil ist, es so weit in PHP und geschrieben, wie ich weiß, ist PHP nicht wunderbare Werkzeuge zum Debuggen, Profilieren und Verpacken von Anwendungen.

Edit: Hier ist ein sehr gute Artikel über Verpackung und Bereitstellung von Python-Anwendungen (speziell apps Django). Es ist ein heißes Thema in Django Community jetzt.

Die Aussage, dass Grails löscht die Datenbank auf Start-up ist völlig falsch. Es ist das Verhalten bei der Inbetriebnahme ist vollständig konfigurierbar und einfach zu konfigurieren. Ich verwende im Allgemeinen Drop erstellen, wenn eine App in dev-Modus ausgeführt wird. Ich benutze Update, wenn ich in Test und Produktion laufen.

Ich liebe auch die Bootstrap-Verarbeitung, die ich Anwender vorkonfigurieren Test ermöglicht, Daten, usw. durch die Umwelt in Grails.

Ich würde gerne jemanden sehen, der wirklich gebaut und eingesetzt werden einige kommerzielle Projekte auf den Vor / Nachteile äußern. Seien Sie ein wirklich interessant zu lesen.

Grails.

Grails sieht genauso aus wie Rails (Rubin), aber es nutzt groovy, die einfacher als Java ist. Es verwendet Java-Technologie und Sie können ohne Probleme jeden Java-lib verwenden.

ich auch Grails über Einfachheit wählen und es gibt viele Java-lib (wie Jaspis Bericht, jawr usw.) und ich bin froh, dass sie jetzt mit Springsource beizutreten, die ihre Basis fester machen.

Ich habe zwei Freunde, die ursprünglich begonnen, eine Anwendung zu schreiben, mit Ruby on Rails, sondern liefen in eine Reihe von Problemen und Einschränkungen. Nach ca. 8 Wochen daran zu arbeiten, beschlossen sie, andere Alternativen zu untersuchen.

Sie ließen sich auf dem Catalyst-Framework- und Perl. Das war etwa 4 Monate jetzt, und sie haben gesprochen wiederholt darüber, wie viel besser die Anwendung wird, und wie viel mehr Flexibilität, die sie haben.

Mit Perl, haben Sie alle CPAN zur Verfügung, zusammen mit der großen Menge an Tools enthalten. Ich würde vorschlagen, einen Blick auf sie, zumindest nehmen.

Der „guter Einsatz“ -Ausgabe - für Python - nicht über die tiefe Bedeutung, dass es für Java hat

.

Python Einsatz für Django ist im Grunde „die Dateien verschieben“. Sie können direkt aus dem Subversion Stamm-Verzeichnis ausführen, wenn Sie wollen.

Sie kann, ohne viele Schwitzen zu kommen, mit dem Python distutils und bauen Sie sich eine Distribution Kit, das Ihre Django-Anwendungen in Python Website-Pakete legt. Ich bin kein großer Fan davon, aber es ist wirklich einfach zu tun.

Da meine Sachen in Linux läuft, ich habe einfach „install.py“ Skripte, die Sachen aus dem Subversion-Verzeichnisse in /opt/this und /opt/that Verzeichnisse bewegen. Ich verwende eine expliziten Pfadeinstellungen in meiner Apache-Konfiguration die Verzeichnisse zu nennen, wo die Anwendungen leben.

Patchen kann durch Bearbeiten der Dateien an Ort und Stelle durchgeführt werden. (Eine schlechte Politik.) Ich ziehe es in der SVN Lage bearbeiten und erneut ausführen, meine kleinen sicher sein installiert Ich habe eigentlich alle Dateien unter Kontrolle.

cakephp.org

Cakephp ist wirklich gut, kommt Ruby on Rails (1.2) sehr nahe.Es ist in PHP, funktioniert sehr gut auf gemeinsam genutzten Hosts und ist einfach zu implementieren.

Der einzige Nachteil ist, dass die Dokumentation etwas mangelhaft ist, aber man hat sie schnell verstanden und kann schnell anfangen, coole Sachen zu machen.

Ich kann Cakephp absolut empfehlen.

Persönlich habe ich einige ziemlich große Projekte mit Django, aber ich kann nur vergleichen mit dem „montrosities“ (Spring, EJB) und wirklich Low-Level-Sachen wie Verdrehte.

Web-Frameworks interpretierte Sprachen verwenden, sind meist in den Kinderschuhen steckt und alle von ihnen (aktiv gepflegt, das ist) werden immer besser mit jedem Tag.

Mit dem „guten Einsatz“ werden Sie es mit Java-EAR-Dateien zu vergleichen, mit denen Sie Webanwendungen bereitstellen, indem Sie eine einzelne Datei auf einem J2EE-Server hochladen? (Und, in geringerem Maße, IST-Dateien; EAR-Dateien können IST-Dateien für abhängige Projekte)

Ich glaube nicht, Django oder Rails ganz noch zu diesem Punkt bekommen hat, aber ich könnte falsch sein ... Zuber mit mehr Details einen Artikel wiesen darauf hin, auf der Python Seite.

Capistrano kann auf der Seite Rubin helfen.

Leider habe ich wirklich nicht entweder mit Python oder Ruby so viel gearbeitet, so kann ich auf Profilometer oder Debugger nicht helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top