Python Framework Empfehlung für Web Projekt

Falc410

Vice Admiral
Registriert
Juni 2006
Beiträge
6.658
Ich muss in meinem Studium ein Web Projekt umsetzen. Im Prinzip soll es sich um eine Webseite handeln bei welcher Benutzer Audiodateien vorgespielt bekommen und diese bewerten können.

In der Vergangenheit habe ich viel mit Java EE (Spring + Hibernate) und Tomcat als Backend gearbeitet, Frontend war dann normales HTML mit CSS und JS.

Nun wollte ich mal etwas neues ausprobieren (habe von Tomcat und Java auch die Schnauze voll) und wollte eventuell auf Python setzen, da ich mich da sowieso weiter bilden muss (zusammen mit MongoDB statt MySQL).

Nun hab ich schon Django und Web2Py gefunden aber ich wollte einfach mal nachfragen ob jemand noch eine Empfehlung hat was ich mir noch anschauen kann. Gerne auch andere Sprachen / Frameworks. Hatte auch schon überlegt mir node.js näher anzuschauen.

Generell habe ich bis auf meine Java Kenntnisse, sehr wenig Erfahrung wenn es um Webentwicklung geht. Noch einmal die Anforderungen in Kürze:
- User Management (Registrierung / Verwaltung)
- Datenbank mit Audiodateien
- Auswahl und Bewerten von Audiodaten nach vorgegeben Kriterien - später muss ich auswerten können welcher User welche Datei wie bewertet hat

Für Empfehlungen bedanke ich mich schon mal.
 
Django ist relativ bekannt.
Alternativ vielleicht Ruby on Rails da man sich hier auch viel generieren lassen kann.
Ansonsten die gewohnten verdächtigen wie Symfony2 oder Phalcon für PHP.
 
PHP würde ich lieber nicht hernehmen - ich habe auch das Gefühl dass das auf dem absteigenden Ast ist.

Ruby hört sich gut an. Habe damit bis jetzt erst sehr wenig gemacht (Motorola benutzt das in RhoElements wenn man für die Mobilen Geräte entwickelt). Da könnte ich mich mal einarbeiten. Hast du da eine Empfehlung, ich will ja nicht alles von scratch schreiben müssen.
 
Falc410 schrieb:
... da ich mich da sowieso weiter bilden muss (zusammen mit MongoDB statt MySQL).
Wozu MongoDB? Weil du den Mist irgendwo aufgeschnappt hast? NoSQL-Ansätze sind schön und gut... wenn sie SINNVOLL sind. Aber du hast hier ein rein relationales Problem:
- n Audiodateien haben m Bewertungen
- n User verfassen diese m Bewertungen

- Datenbank mit Audiodateien
Definiere "Datenbank"...
Ich hoffe doch, du willst die Audiofiles nicht als BLOB in die Datenbank schreiben... Das fällt unter TU ES NICHT!

Falc410 schrieb:
PHP würde ich lieber nicht hernehmen - ich habe auch das Gefühl dass das auf dem absteigenden Ast ist.
Schwachsinn. Tatsächlich legt PHP eher noch zu. Es gibt fast keine nennenswerten CRM, Shopsysteme, CMS,... in anderen Sprachen. PHP dominiert heute, PHP wird auch in 10 Jahren noch dominieren.

Ruby hört sich gut an.
Pures Ruby ist Schwachsinn, nutzt kein Mensch. Man kommt um Rails kaum drumrum. Und wenn man schon die Wahl hat aus Sprache+Framework, dann doch bei ner Sprache, für die sich in unserem Wirtschaftsraum auch jemand interessiert.
In den USA mag RoR tatsächlich was bringen, im DACH-Raum hingegen dominieren PHP (kleine und mittlere Systeme) und Java (Enterprise-Niveau).
 
Falc410 schrieb:
PHP würde ich lieber nicht hernehmen - ich habe auch das Gefühl dass das auf dem absteigenden Ast ist.
Nope!
PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013), wird auf über 81 % aller Websites als serverseitige Programmiersprache verwendet (Stand: Oktober 2013) und ist damit die am häufigsten verwendete Sprache zum Erstellen von Websites, Tendenz steigend. Zudem ist sie bei den meisten Webhostern vorinstalliert.
http://de.wikipedia.org/wiki/PHP#Verbreitung

/Offtopic
 
Danke für die Infos.

Nein natürlich will ich keine BLOBs in die Datenbank legen, nur die Pfadangabe. Ich wollte aber die Möglichkeit eben gleich nutzen mich mit NoSQL zu beschäftigen. Ja, es ist eine relationales Problemstellung, aber es kann gut sein dass sich das Schema im laufe der Entwicklung ändert.

Das PHP immer noch so beliebt ist hätte ich nicht gedacht, bzw. mir kam es wirklich so vor wie wenn PHP gerade in Deutschland extrem beliebt ist aber z.B. in den USA sehr viel weniger.

Dennoch wollte ich PHP für mich persönlich ausschließen.
 
Ich finde Flask ganz gut. Das ist ein Micro-Framework, das eigentlich nur die notwendigsten Dinge mitbringt (Routing, Templates, …). Alles weitere wird durch Plugins nachgerüstet (z.B. Formulare, ORM (SQLAlchemy), etc.). Ich finde das ganz geschickt, weil man dann wirklich nur die Sachen im Projekt hat, die man auch wirklich braucht. Dokumentiert ist Flask übrigens hervorragend.

Hier eine Liste mit Projekten, die Flask verwenden: http://flask.pocoo.org/community/poweredby/
 
mich würde eher interessieren, warum php so weit verbreitet ist...

weil es jeder in der schule lernt oder ausbildung lernt, es überall im einsatz ist.... etc.

das heist aber noch lange nicht das es mittlerweile nicht vielleicht bessere alternativen gibt...

es ist wohl eher zu teuer und aufwendig bestehende systeme um zu rüsten...

ist nur ne überlegung... für ne echte meinung kenn ich mich noch zu wenig aus...
 
Teisi schrieb:
mich würde eher interessieren, warum php so weit verbreitet ist...
riesige Community, gute Dokumentation, läuft auf jeder Umgebung,...
Versuch mal, ein Projekt in Perl, Python oder RoR irgendwo zu hosten. Da suchst du definitiv länger nach einem Hoster, der deine Anforderungen erfüllt...

das heist aber noch lange nicht das es mittlerweile nicht vielleicht bessere alternativen gibt...
Es gibt Alternativen, aber BESSER sind die allesamt nicht, nur ANDERS.
Manche sehen z.B. die schwache Typisierung von PHP als Schwäche, ich seh sie als Stärke.

Aber schau dir die Argumentation der Vertreter der Alternativen doch mal an. Da heißt es immer "Django ist so viel besser als PHP", "Rails ist so viel besser als PHP", "JEE ist so viel besser als PHP",...
Klasse... Was für ein Vergleich. Komisch, dass all diese Prolls immer sofort kleinlaut werden wenn man sie denn mal auffordert, nicht Sprache gegen Framework zu stellen sondern Sprache gegen Sprache oder Framework gegen Framework. Zend, Symfony2 und Co stehen Django oder Rails in nichts nach, Ruby bietet keinen Vorteil gegenüber PHP.

es ist wohl eher zu teuer und aufwendig bestehende systeme um zu rüsten...
Natürlich, aber muss man denn auch das Rad neu erfinden?
PHP ist performant genug, wenn der Server anständig konfiguriert ist. Wenn man natürlich ne FastCGI-Lösung auf Basis von Python gegen mod_suphp antreten lässt, dann ist der Sieger klar. Aber lass doch mal statt dessen PHP-FPM ins Rennen gehen, schon siehst du keinen nennenswerten Unterschied mehr zwischen realistischen Anwendungen. Und selbst wenn PHP mal DOCH nicht flink genug sein sollte... HipHop drüber und gut ist.

Die Welt ist voll mit alten aber gut abgehangenen Systemen. Quasi jedes auch nur halbwegs relevante CMS, Blog oder Shopsystem sowie einige große CRMs und Kollaborationssysteme setzen auf PHP. Viele von diesen Systemen sind abf dem neuesten Stand der Technik und sehr geil geschrieben.
Gegen Tools wie Kolab, Horde, vTiger, Roundcube, SquirrelMail, Contao, Drupal, Magento, osCommerce, vBulletin,... stinkt die Konkurrenz einfach nicht an, nicht im Traum. Irgendwo in der hintersten Bank findest du mal n CMS auf Django-Basis, ein Blog in Perl,... aber wirklich relevante Software in den Bereichen? Mir fällt da nur das Java-basierte Monster Open Xchange ein...
 
+1 für Flask.
Gerade bei kleinen Webanwendungen fand ich das bisher sehr gut.
 
Daaron schrieb:
Die Welt ist voll mit alten aber gut abgehangenen Systemen. Quasi jedes auch nur halbwegs relevante CMS, Blog oder Shopsystem sowie einige große CRMs und Kollaborationssysteme setzen auf PHP. Viele von diesen Systemen sind abf dem neuesten Stand der Technik und sehr geil geschrieben.
Gegen Tools wie Kolab, Horde, vTiger, Roundcube, SquirrelMail, Contao, Drupal, Magento, osCommerce, vBulletin,... stinkt die Konkurrenz einfach nicht an, nicht im Traum. Irgendwo in der hintersten Bank findest du mal n CMS auf Django-Basis, ein Blog in Perl,... aber wirklich relevante Software in den Bereichen? Mir fällt da nur das Java-basierte Monster Open Xchange ein...

Ach komm das sind die kleinen Sachen.
Opentext und Adobe Experience Manager ( CQ5 ) sind andere Kaliber als Drupal oder Contao.
Das selbe bei den Shopsystem. Man sieht die Versuche von Mangento sich gegen Hybris & Intershop zu behaupten.
Dann gibt es noch Lösung ala Elastic Path als Shop in Form einer Rest Schnittstelle oder Demandware.

Ansonsten scheint nach dem Nodejs Hype jetzt Go zu kommen.
 
Drupal ist als Kaliber immerhin groß genug, dass es von weiten Teilen der US-Regierung eingesetzt wird, z.B. für whitehouse.gov. Und auch TYPO3 ist keine Randerscheinung. Nicht grundlos wird es von Firmen wie HP oder der Bundesagentur für Arbeit eingesetzt.

Der Zaubertrick ist: Wenn du PHP beherrschst, dann kannst du dich in eine Vielzahl von Systemen einarbeiten. Zwar mag Drupal allein nicht so gewaltig sein, und auch TYPO3, Contao, Joomla oder Wordpress nicht. Gemeinsam bilden sie eine gewaltige Marktmacht.
http://trends.builtwith.com/cms *tüdelü*
 
Zurück
Oben