Django oder CodeIgniter für Turn-Key-Anwendung
Werde ich bauen, eine turn-key-Lösung für einen vertikalen Markt, und würde gerne beide Optionen anbieten: software-as-a-service und geben Sie Ihnen die Möglichkeit zum hosten der Anwendung auf Ihre eigene. In anderen Worten, ich bin mit dem Ziel, ähnliche Optionen für die Bereitstellung als Joel FogBugz.
Ich bin ein Python-Programmierer, und ich konnte Fliegen über das Projekt mit Django. Es gibt mehrere Gründe, warum ich lieber PHP wenn:
1) Django-installation und Konfiguration vorausgesetzt, Sie haben Zugriff auf eine shell (mein Ziel ist nicht der Programmierer-Typ). Ich könnte zwar bieten Installations-service, aber nicht auf deren Servern.
2) Django läuft nur auf bestimmten hosts, muss Besondere Sorgfalt walten, um es zu aktivieren. Die Installation von mod_python/mod_wsgi, und die meisten wahrscheinlich die Minderheit der meine potentiellen Kunden haben root-Zugriff, oder auch ein cpanel.
3) Mit Hilfe von PHP würde bedeuten, ich könnte führen Sie es auf Ihrem vorhandenen server. Ich würde ohne zu müssen, um Sie zu bewegen, um eine Django-fähigen server, und keine Ausfallzeiten für Ihre E-Mails, während die DNS-updates.
Auf der anderen Seite habe ich sehr wenig Erfahrung mit PHP. Smarty als templating-Sprache sieht nett aus und funktioniert ähnlich wie Django templates. Es bietet keine template-Vererbung jedoch, außer in einem sehr hackish Weg, in denen ich wünschte, Sie nicht zu verwenden, wie es könnte brechen Sie die Anwendung, wenn der designer patzt Sie. Was denkst du? Vielen Dank im Voraus!
- Sicher, PHP wird einfacher zu installieren als eine Python-app aber Sie öffnen eine ganze Dose Würmer über webserver-Konfiguration (Apache, IIS, andere?), PHP-Versionen (PHP4 und veraltet, buggy PHP5s) nachdem der Benutzer eigentlich auf dem server für PHP. Dann haben Sie die Datenbank...
- Klingt wie das gleiche Probleme plagt WordPress...
- Sie nicht brauchen, Smarty, wenn Sie mit CodeIgniter, tun Sie? Es schon trennt sich die view vom controller. Und es enthält ein caching-Mechanismus.
- Dwoo unterstützt template-Vererbung.
- Ich habe Herumspielen mit CodeIgniter für eine Woche jetzt, was ich vermisse, kommt von Django ist: - die Dokumentation: django ' s eigenen ist faaar superior - REPL - out-of-the-box verbessert die Sicherheit, php-Dateien "callable" sofern nicht anders angegeben.
- Ich arbeite für eine Codeigniter-shop und wechseln wir zu django, weil CI saugt. Kein ORM, wirklich schlechte OOP (alles $this->), Arme Formen. Django hat einfach viel bessere Pakete wie apps auch. Der Django-admin-Oberfläche ist die beste, die ich gesehen habe, keinen Rahmen. Django hat viel bessere Dokumentation zur Verfügung. Wenn Sie wirklich das Gefühl, wie das schreiben von PHP (igitt) versuchen symphony.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bereitstellung ist eindeutig ein problem für alle nicht-PHP-basierte web-apps, aber ich denke, dass die Dinge besser werden mit dem DreamHost/Engineyard Typ ISP ' s, die Ruby/Python etc. out of the box. Es sieht so aus, es gibt eine Menge Diskussion auf PyCon in dieser Woche über die Möglichkeiten zur Bereitstellung der Problembehebung Probleme. Das Wachstum in der Popularität von Django, Turbogears und Pylons ist die Nachfrage für eine bessere Bereitstellung von Lösungen.
Sagte, dass, wenn Ihre Zielgruppe sind Menschen, die hosting auf dem sehr niedrigen Ende 12 $pro Jahr Typ ISP dann ich glaube, Sie haben nicht viel andere Wahl, als PHP.
Schließlich eine Sache, die ich nicht einverstanden mit Ihnen läuft, PHP und Django auf dem gleichen server. Ich bin mit ein paar PHP-apps auf meinem server mit Apache und Dutzende von Django Websites mit mod_wsgi im daemon-Modus. Läuft es auf diese Weise bedeutet, dass der Python-interpreter nicht mit ram in der Apache Arbeitnehmer und Umgekehrt, der PHP-interpreter nicht verunreinigen mein mod_wsgi-Dämonen 🙂
Wenn Sie möchten, dass Ihre Anwendung zu mainstream, dann Ihre fast gezwungen zu gehen mit PHP. Gehen von Django-PHP ist viel einfacher, als wenn man von PHP, Django. Sie kennen die standards, die Sie gerade brauchen, um lernen Sie die PHP-syntax und-Funktionen.
Ich würde auf jeden Fall verwenden Sie ein PHP-framework. Symfony und akelos sind sehr ähnlich Schienen (in der Nähe von Django). Auf der anderen, als theres Code Igniter, die tut, was es soll - organisieren Sie Ihren code.
Basierend auf Ihren eigenen Schlussfolgerungen, würde ich mit CodeIgniter. Es scheint, wie es wäre eine Menge Arbeit zu helfen, Ihre Kunden installieren Ihre web-app, und ich nehme an, Sie wollen das nicht.
Bauen einen einfach zu installierenden web-app, so dass Sie sich darauf konzentrieren können, Ihre Anstrengungen besser zu machen und zu verkaufen, statt zu arbeiten, zusätzlich als ein sysadmin oder schreiben umfangreiche Installations-tutorials.
(Mit sagte, dass, FogBugz war nicht einfach zu installieren auf unserem Linux-server, obwohl es in PHP geschrieben ist. Es war für mich und meine Kollegen (Programmierer!) mehr als einen ganzen Arbeitstag zu installieren. Also ich finde es immer Probleme mit der installation von self-hosted-web-apps.)