Frage

Ich weiß, ich werde tausend "Hängt davon ab, was Sie zu tun versuchen" Antworten, aber im ernst, gibt es wirklich keine zuverlässigen Daten über dieses online-noch.Hier sind meine Annahmen - ich denke, Sie sind ähnlich wie die für eine Menge Leute jetzt:

  1. Es ist jetzt Oktober 2008.Beginnen möchte ich eine Anwendung schreiben, die für Januar 2009.Ich bin bereit zu verwenden beta-code und so, aber im Januar, ich möchte eine Website, die nicht 'seltsam' Probleme.Mit, dass sagte, wenn Sie eine Sprache einfach 10% langsamer als die anderen, ich Sorge mich über diese Dinge so lange wie die Ausgabe ist linear.Mein Hauptanliegen ist die Produktivität der Entwickler.
  2. Ich werde mit Linux, Apache, MySQL für die Anwendung.
  3. Ich will die macht, Dinge zu tun, wie laufen, scp und ftp-client-Funktionen mit stabilen Bibliotheken (die ich nur nahm diese beiden, weil Sie nicht web-verwandten, aber zur gleichen Zeit stellen ziemlich üblich, Netzwerk-Protokolle, jede größere app verwenden könnte).Technologien wie OpenID und Oauth verwendet werden als gut.
  4. Erfahrener web-Entwickler, die leicht verfügbar sind (D. H.Ich nicht haben, um Leute zu finden, die aus finanziellen Unternehmen und so).
  5. Was auch immer die Wahl ist, ist weit verbreitet und wird für eine Weile herum.
  6. Hier ist ein kicker.Ich möchte in der Lage sein zu verwenden Sie die erweiterte Präsentations-layer-Werkzeuge/Sprachen ähnlich HAML, SASS.Ich definitiv JQuery verwenden möchten.
  7. Ich werden erstellen Sie eine Facebook-app, und irgendwann die Dinge, wie den Umgang mit SMS-Nachrichten, iPhone apps etc...

An diesem Punkt, die Auswahlmöglichkeiten für die Sprache PHP (Cake,Symfony,Zend), Python (Django), Ruby (Merb).Ich bin wirklich zwischen Django und Merb an dieser Stelle vor allem, weil jeder andere scheint zu gehen, dass Art und Weise.

Bitte setzen Sie nicht alle Technologien, die in hier, die nicht für den mainstream.Ich weiß Merb ungetestet ist meist, aber Ihr erklärtes Ziel ist es eine solide Plattform, und es hat eine Menge Kraft, so dass ich bin zuversichtlich, dass es machbar.Bitte nicht Antworten wie groß ist Perl oder .Net.

Für Zukünftige Referenzen - diese Entscheidungen wurden bereits getroffen:

  • Debian (Lenny) - Für die Umwandlung von CPU-Zyklen in etwas nützliches.Trac
  • 0.11 - Für-Projekt-Management Gliffy - Für wireframes-und Z
  • Google Docs/Apps - Für die Dokumentation, der gehostete E-Mail, etc...
  • Amazon ec2/S3 - Für-hosting -, Speicher.

Cheers, Adam

War es hilfreich?

Lösung

es hängt davon ab.

php - symfony ist ein Idealer Rahmen.Nachteile:php, wortreich und Verzeichnis schwer.treiben lästig wird, zu verwenden.upsides:php ist überall und Arbeit Billig ist.gut gemacht, framework, und eine gute Unterstützung.viele plugins, um Ihr Leben einfacher machen

python - django ist auch ein hervorragender Rahmen.Nachteile:python-Programmierer kann schwieriger sein, zu finden, django noch härter.änderung der db-schema kann etwas schwierig da es keine offizielle Migrationen.nicht ganz tun, mvc, wie Sie es erwarten.upsides:tut alles, was Sie brauchen, und hat die große python-std-Bibliothek und die community dahinter.

ruby - habe ich noch nie genutzt merb, so werde ich die Adresse Schienen.upsides:es gibt ein plugin, gem, oder das Rezept für fast alles, was Sie könnte wollen.einfach zu bedienen.Nachteile:die plugins, Edelsteine, Rezepte und manchmal nicht, arbeiten auf mysteriöse Weise.monkey-patching ist oft übel.die Gemeinschaft ist..vocal.rechthaberisch-software, und manchmal sind diese Meinungen sind falsch (fehlende Fremdschlüssel).rails selbst scheint wie ein Turm aus Karten, die warten, um zu explodieren und nehmen Sie Stunden von Ihrem Leben entfernt.

mit all dem sagte, ich bin ein freiberuflicher php/symfony und ruby/rails developer.Ich arbeitete an mehreren Projekten, die in beiden Sprachen und frameworks.Mein neuestes Projekt ist in Rails allein wegen ActiveMerchant.Ich habe auf der Suche nach einem Grund für die Entwicklung einer django-app für eine Weile.Wenn es ein ActiveMerchant wie Bibliothek für django, wahrscheinlich hätte ich es benutzt haben.

Andere Tipps

Django!

Sehen Sie die DjangoCon Gespräche über Google / Youtube - vor allem "Wiederverwendbare Apps" (www.youtube.com/watch?v=A-S0tqpPga4)

Ich habe seit einiger Zeit Django wurde unter Verwendung von nach Ruby / Rails zu starten. Ich fand die Django Gemeinschaft leichter in (schöner) zu erhalten, die Sprache dokumentiert mit sehr gut Beispiele, und es ist Modularität ist genial, vor allem, wenn Sie benutzerdefinierte Komponenten in den Mix werfen wollen, sind, und nicht sein gezwungen, bestimmte Dinge hier und dort zu verwenden.

Ich bin sicher, es gibt wahrscheinlich Möglichkeiten, um mit Rails oder so einfach wie flexibel zu sein, aber ich sehr empfehlen Ihnen, einen langen Blick auf die Django Einführungen zu nehmen, etc, unter http://www.djangoproject.com/

Eugene erwähnt, es ist jetzt bei 1,0 - und damit wird auch durch Januar 2009 eine stabile und rückwärtskompatibel bleibt Code-Basis

Auch das automatische Admin-Interfaces es baut ist Produktion bereit und extrem flexibel.

Sorry, aber Ihre Frage ist falsch. Die Menschen sind wahrscheinlich für diese wird mich überstimmen, aber ich möchte es trotzdem sagen:

Ich würde nicht erwarten, dass eine objektive Antwort zu bekommen! Warum? Das ist einfach:

  • Alle werden Ruby-Befürworter sagen, Ruby zu verwenden.
  • Alle Python Befürworter werden sagen, Python zu verwenden.
  • Alle PHP Befürworter werden sagen, PHP zu verwenden.
  • Fügen Sie weitere Sprachen hier.

Haben Sie die Idee?

Ich empfehle Ihnen, jede der Sprachen, um zu versuchen Sie selbst erwähnt. Wenigstens ein paar Tage jeweils. Danach sollten Sie eine viel bessere Grundlage, um Ihre endgültige Entscheidung zu treffen.

Das heißt, ich würde Rubin wählen (weil ich einen Ruby-Anwalt bin).

Sie alle werden den Job erledigen.

Verwenden Sie die eine, die Sie und Ihr Team am besten vertraut sind mit

Dies wird einen viel größeren Einfluss auf die Lieferzeiten und Stabilität Ihrer Anwendung als eine der anderen Variablen haben.

Ich würde mit Django gehen, wenn Sie mit einer Python-Lösung vertraut sind. Es ist in der Version 1.0 jetzt und reift schön, mit einer großen Nutzerbasis und vielen Mitwirkenden. Die Integration von jQuery ist kein Problem, und ich habe es ohne Probleme getan.

Die einzige Sache ist, soweit ich das beurteilen kann, Rubin für Web-Entwicklung heute viel populärer ist, so ist es einfacher, Ruby-Entwickler zu finden. Ich diesen Eindruck von gerade den letzten Stellenanzeigen - es gibt nicht so viele für Python oder Django. Ich weiß nicht viel über Merb, so kann ich nicht einen fairen Vergleich geben.

Ich habe genug PHP getan nicht zu empfehlen, ein neues Projekt mit ihm zu starten.

In Ihren Gründen, würde ich mit Ruby.Ich sehe, dass Sie einige administration tools (scp, ftp-client) und Ruby hat es (net/sftp-und Netz - /ftp-Bibliotheken).

Auch gibt es tolle Edelsteine wie Gott für die überwachung Ihres Systems, Vlad der Deployer for deploying, etc.Und eine Menge von alternativen, die in Merb ' s Feld, nur verwenden, was Sie finden, ist es besser für Ihre Bedürfnisse (Dünne, Mongrel, ebb, etc).

Um ein Gefühl davon, wo das Django Ökosystem derzeit ist, möchten Sie vielleicht prüfen,

Ich muss das Vorwort mit meinem mit Orion Edwards zustimmen, wählen Sie das ein Ihr Team am besten kennen.

Allerdings habe ich auch den merkwürdigen Mangel an ASP.NET Sprachen in Ihrer Liste zu beachten. Nicht die großen Eiferer Armee zu provozieren, aber wo ist das Rindfleisch? .NET ist eine stabile, schnelle Entwicklungsplattform und die Arbeitskräfte wächst täglich. VB.NET und C # sind transportierbar Fähigkeiten, und das kann viel bedeuten, wenn Sie bauen ein Team von Entwicklern, sich auf eine vielfältige Reihe von Aufgaben zu arbeiten. .NET können Sie auch Ihre Präsentationsschicht von Ihrem Backend-Code trennen, wie andere Sprachen, sondern auch ermöglicht es Ihnen, für Dinge wie iPhone und Facebook-Anwendungen, dass die Back-End-Code als Web Service verfügbar zu machen.

Nehmen Sie jeden Vorschlag mit einem Körnchen Salz, und wählen, was die Anwendung am besten geeignet ist. Haben Ihre Forschung und Design für die Funktion und nicht die Zeloten.

Hinweis: Einmal PHP, Coldfusion und Perl-Entwickler. Flex Eiferer und Adobe Liebhaber. Jetzt Schreiben Enterprise .NET-Anwendungen. ;)

Sie Mono nicht vergessen, die Sie .NET unter * nix laufen lassen. Nicht, dass ich sage, es wird perfekt sein, nur Advocatus spielen Teufel.

Sie in den Köpfen der serverseitigen Seitenlayout nicht stecken. Betrachten wir Technologien wie SproutCore, GWT oder ExtJS, die das Layouten Code auf dem Client voll setzen, so dass der Server nur verantwortlich für die Daten Rangier- und Verarbeitung (und leicht ersetzt).

Und Sie wirklich, wirklich brauchen, zu wissen, welche Server-Plattform Sie wollen. ein Pick nicht, weil es der Geschmack des Monats ist, wählen Sie ein, weil Sie mit ihm vertraut sind. Aromen nicht zuletzt, eine solide gebaut Codebasis Willen.

Mit eingebauten Apps in Django, ich kann ihre Nützlichkeit bestätigen. Wenn nur alle Gerüste so elegant waren (ja Frühling, ich bin bei dir suchen).

Jedoch in Bezug auf die Farm auf Django Wetten, eine Sache, die Sie benötigen, um zu Faktor ist, dass Python 3 wird in Kürze veröffentlicht werden. Python 3 ist nicht rückwärtskompatibel und es gibt ein Risiko, dass es die Sprache Gabel und Dynamik für alle Pythons Projekte Verlangsamung am Ende, während sie mit den Folgen umgehen. Um fair zu sein, Rubin 2.0 ist bald auch durch, aber ich glaube nicht, wird es als störend sein.

Meine Erfahrung mit verschiedenen neuen Technologien in den letzten zehn Jahren führt mich zu empfehlen, dass Sie die Stabilität der Plattform ein ernsthaftes Kriterium machen. Es ist alles schön und gut mit den neuesten und besten Rahmenbedingungen zu entwickeln, aber wenn man es vorwärts bewegte einen Punkt Version und plötzlich so, wie Sie alles getan haben, zu finden ist veraltet, die in zusätzlicher unnötiger Arbeit führen ausfallen. Dies war vor allem meine Erfahrung mit Schienen ein wenig voraus Version arbeiten 1. Allein aus diesem Grund würde ich jede Plattform vermeiden, die nicht mindestens bei 1,0 war, wenn man Arbeit daran beginnen.

Ruby ist groß, mit zu arbeiten und Ihre Produktivität der Entwickler hoch halten, aber wenn Django die stabilere Plattform ist, würde ich bevorzugen ist sicher.

Es lohnt sich nicht um Ihre Server-Konfiguration vorgespannt werden. Jeder moderner Web-Framework ist es wert Gewicht im Quellcode eine SQL-Abstraktionsschicht von einer Art hat. PostgreSQL wird eine deutlich bessere Leistung, und dies kommt aus einer früheren MySQL parteiisch.

Apache ist ein Tier, sowohl die Ressourcen des Servers zu konfigurieren und auf. Warum nicht mit etwas leicht, wie nginx oder lighttpd ?

(Für das Protokoll, sie ist ein großer Nutzer Django, aber als die akzeptierte Antwort sagte, gehe mit dem, was Ihrem Team kennt. Schneller Turn-arounds ist nicht die Zeit, um neue Rahmenbedingungen zu lernen. Wenn Sie eine suchen Mitarbeiter Team von Grund auf, gehen mit Django.)

Update: Ich landete mit und lieben, Django. tut mir leid, dass - ich bin total mit PHP gemacht. Zukünftige Leser versuchen, eine neue Web-2.0-Site zu erstellen (vorausgesetzt, sie einen Programmier Hintergrund haben), sollte diese Einstellung stark berücksichtigen:

Amazon EC2 für das Hosting ($ 80 / Monat - nicht billig, aber es lohnt sich, wenn Sie es sich leisten können) Django / Python (Python ist die stärkste Skriptsprache auf dem Planeten - und Django macht es nur Arbeit auf dem Netz)

Entwicklung sollte mit SQLlite und dem Entwicklungs-Server durchgeführt werden, die mit Django kommt. Verschwenden Sie keine Zeit mit Nginx, Apache, MySQL, bis Sie ein paar Wochen von einer Beta-withing.

Oh, und ich entwickeln jetzt auf einem Mac, die für die lokale Django Entwicklung funktioniert gut.

Schließlich Pinax ist ein guter Start für Django Entwicklung.

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