Webapplikation: Shop in welcher Sprache/Framework?
Verfasst: Dienstag 20. Mai 2008, 12:39
Hallo zusammen,
ich habe folgendes Anliegen, welches ich nun gerne einmal in die Runde werfen würde, um eure Meinungen dazu zuhören. Beruflich bin ich als Programmierer im Bereich PHP und MySQL täglich tätig und hatte nun mal das Bedürfnis mich etwas über den Tellerrand zu bewegen und mal in eine andere Sprache im Webbereich zu schnuppern.
Daher habe ich vor, dass ich mir ein kleines Funprojekt aufziehe: Es soll ein Shop werden. Ich gehe am Ende soweit, dass ich das Teil irgendwann mal online sehen möchte - und wenn es nur als Demo ist! Nun stellt sich für mich jedoch die Frage, in welche Richtung in schnuppern möchte und hab mir da mal einige Gedanken gemacht:
Eigenes Framework in PHP 5
Ich ziehe mir ein eigenes Framework nach MCV auf um etwas mehr mich mit der Erstellung (und nicht nur der Nutzung) eines solchen Systems auseinanderzusetzen. Eine neue Sprache würde dann natürlich nicht einspielen, jedoch wäre es sicherlich ein Erfahrungsgewinn - denke ich zumindest. Dazu ist mir PHP dann nicht neu, da ich es ja schon aus dem täglichen gebrauch kenne.
Vorteile:
- Keine neue Sprache lernen
- Gewohntes Umfeld mit all seinen Tücken und Vorzügen
- Freie Gestaltbarkeit
Nachteil:
- Gerade diese Tücken (schlechter Unicode support, nur schleppend OOP-fähig, keine Namespaces, etc.)
- Viel viel Arbeit
Zend-Framework in PHP 5
Alternativ könnte man auch noch das Zend-Framework in PHP verwenden. Dort versucht man ja etwas das MCV-Konzept umzusetzen und bietet schon eine gute Reihe an Funktionen, welche einem das leben leichter machen. Was ich persönlich nicht so doll finde, dass das Framework den Weg vertritt, dass das Model nicht genauer spezifiziert ist. Man hat es sich hier einfach gemacht und gesagt: Jedes Projekt setzt sein Model anders um, daher können wir dazu auch nix genaues sagen. Ermöglicht einem jedoch auch wieder mehr Freiheit.
Vorteile:
- Solide Basis an Grundfunktionen
- Erste Vorzüge von MCV
Nachteile:
- Schlechter Model-Konzept (meiner Meinung nach)
- Immernoch PHP als Basis, also bleiben auch die Tücken
Ruby on Rails 2.x
In letzter Zeit habe ich mich dann noch etwas mit Ruby on Rails und Ruby allgemein beschäftigt. Persönlich finde ich es eine sehr nette Sprache, auch wenn man sich an einigen Stellen noch etwas umgewöhnen muss. Es wäre bei diesem Weg sicherlich ein Mehrgewinn für mich, weil ich dadurch eine komplett neue Sprache nutze, welche auch vollkommen OO arbeitet. Mein persönlicher Nachteil, so wie ich finde, dass Ruby und RoR derzeit noch eher schlecht verbreitet ist. Einen eigenen Root finde ich eher unpassend und Hoster sind halt nicht so verbreitet.
Vorteile:
- Strikte OO Sprache
- Komplettes MCV-Konzept
- Klare Konzeption bzw. Namen
Nachteile:
- Eher schleppende Verbreitung
Python mit Django
Und dann bin ich gestern auf Python gestoßen. Grundsätzlich habe ich mich noch nie mit der Sprache beschäftigt, außer das ich gestern mal einige Sachen zu Django und Python quergelesen habe. An sich ist es ja auch eine schöne OO Sprache, welche - und das find ich sehr nett - seine Einrückung zur Syntax macht. Somit ist das komplette Projekt am Ende einheitlich vom Style. Ansonsten soll mit Django ein sehr nettes Framework für das Web geboten sein, welcher auch nach dem MCV-Konzept arbeite, jedoch nicht so strikt wie RoR, aber auch weitaus besser als PHP bzw. das Zend-Framework. Dazu ist Django ein eines Python-Framework, d.h. es benötigt keiner eigenen Installation, und Python ist schon verbreiteter als RoR 2.x
Vorteile:
- Schöne OO Sprache
- MCV-Konzept, wenn auch nicht so strikt
- Stärker verbreitet als RoR
Nachteile:
- Fallen mir derzeit keine ein?!
So und nun seid ihr gefragt, jedoch: Ich möchte hier keine Fanatiker und Glaubenskriege haben. Ich möchte nur eine sachliche Argumentation und ein sachliches Gespräch. Wer nun meint, dass seine Sprache die Beste ist und den anderen erstmal ein Flame verpassen möchte, der soll bitte woanders rumtrollen.
Was haltet ihr von meinen Aufführungen? Selbst habe ich, wie schon erwähnt, habe ich keine sehr tiefen Erfahrungen mit RoR oder Python, daher möchte man es mir verzeihen, wenn ich hier und da doch etwas falsch interpretiert habe. Ich bin jedoch gerne für eine Korrektur offen
Nachtrag:
Weil ich darauf angesprochen wurde: Ich habe den Beitrag noch in den entsprechenden Fachforen gepostet, damit jede Partei mal ihre Meinung aufführen kann. Solltet ihr also daran Interesse haben:
http://forum.ruby-portal.de/viewtopic.php?p=48128#48128
http://forum.ubuntuusers.de/topic/17637 ... 76#1416676
http://www.python-forum.de/topic-14731.html
ich habe folgendes Anliegen, welches ich nun gerne einmal in die Runde werfen würde, um eure Meinungen dazu zuhören. Beruflich bin ich als Programmierer im Bereich PHP und MySQL täglich tätig und hatte nun mal das Bedürfnis mich etwas über den Tellerrand zu bewegen und mal in eine andere Sprache im Webbereich zu schnuppern.
Daher habe ich vor, dass ich mir ein kleines Funprojekt aufziehe: Es soll ein Shop werden. Ich gehe am Ende soweit, dass ich das Teil irgendwann mal online sehen möchte - und wenn es nur als Demo ist! Nun stellt sich für mich jedoch die Frage, in welche Richtung in schnuppern möchte und hab mir da mal einige Gedanken gemacht:
Eigenes Framework in PHP 5
Ich ziehe mir ein eigenes Framework nach MCV auf um etwas mehr mich mit der Erstellung (und nicht nur der Nutzung) eines solchen Systems auseinanderzusetzen. Eine neue Sprache würde dann natürlich nicht einspielen, jedoch wäre es sicherlich ein Erfahrungsgewinn - denke ich zumindest. Dazu ist mir PHP dann nicht neu, da ich es ja schon aus dem täglichen gebrauch kenne.
Vorteile:
- Keine neue Sprache lernen
- Gewohntes Umfeld mit all seinen Tücken und Vorzügen
- Freie Gestaltbarkeit
Nachteil:
- Gerade diese Tücken (schlechter Unicode support, nur schleppend OOP-fähig, keine Namespaces, etc.)
- Viel viel Arbeit
Zend-Framework in PHP 5
Alternativ könnte man auch noch das Zend-Framework in PHP verwenden. Dort versucht man ja etwas das MCV-Konzept umzusetzen und bietet schon eine gute Reihe an Funktionen, welche einem das leben leichter machen. Was ich persönlich nicht so doll finde, dass das Framework den Weg vertritt, dass das Model nicht genauer spezifiziert ist. Man hat es sich hier einfach gemacht und gesagt: Jedes Projekt setzt sein Model anders um, daher können wir dazu auch nix genaues sagen. Ermöglicht einem jedoch auch wieder mehr Freiheit.
Vorteile:
- Solide Basis an Grundfunktionen
- Erste Vorzüge von MCV
Nachteile:
- Schlechter Model-Konzept (meiner Meinung nach)
- Immernoch PHP als Basis, also bleiben auch die Tücken
Ruby on Rails 2.x
In letzter Zeit habe ich mich dann noch etwas mit Ruby on Rails und Ruby allgemein beschäftigt. Persönlich finde ich es eine sehr nette Sprache, auch wenn man sich an einigen Stellen noch etwas umgewöhnen muss. Es wäre bei diesem Weg sicherlich ein Mehrgewinn für mich, weil ich dadurch eine komplett neue Sprache nutze, welche auch vollkommen OO arbeitet. Mein persönlicher Nachteil, so wie ich finde, dass Ruby und RoR derzeit noch eher schlecht verbreitet ist. Einen eigenen Root finde ich eher unpassend und Hoster sind halt nicht so verbreitet.
Vorteile:
- Strikte OO Sprache
- Komplettes MCV-Konzept
- Klare Konzeption bzw. Namen
Nachteile:
- Eher schleppende Verbreitung
Python mit Django
Und dann bin ich gestern auf Python gestoßen. Grundsätzlich habe ich mich noch nie mit der Sprache beschäftigt, außer das ich gestern mal einige Sachen zu Django und Python quergelesen habe. An sich ist es ja auch eine schöne OO Sprache, welche - und das find ich sehr nett - seine Einrückung zur Syntax macht. Somit ist das komplette Projekt am Ende einheitlich vom Style. Ansonsten soll mit Django ein sehr nettes Framework für das Web geboten sein, welcher auch nach dem MCV-Konzept arbeite, jedoch nicht so strikt wie RoR, aber auch weitaus besser als PHP bzw. das Zend-Framework. Dazu ist Django ein eines Python-Framework, d.h. es benötigt keiner eigenen Installation, und Python ist schon verbreiteter als RoR 2.x
Vorteile:
- Schöne OO Sprache
- MCV-Konzept, wenn auch nicht so strikt
- Stärker verbreitet als RoR
Nachteile:
- Fallen mir derzeit keine ein?!
So und nun seid ihr gefragt, jedoch: Ich möchte hier keine Fanatiker und Glaubenskriege haben. Ich möchte nur eine sachliche Argumentation und ein sachliches Gespräch. Wer nun meint, dass seine Sprache die Beste ist und den anderen erstmal ein Flame verpassen möchte, der soll bitte woanders rumtrollen.
Was haltet ihr von meinen Aufführungen? Selbst habe ich, wie schon erwähnt, habe ich keine sehr tiefen Erfahrungen mit RoR oder Python, daher möchte man es mir verzeihen, wenn ich hier und da doch etwas falsch interpretiert habe. Ich bin jedoch gerne für eine Korrektur offen
Nachtrag:
Weil ich darauf angesprochen wurde: Ich habe den Beitrag noch in den entsprechenden Fachforen gepostet, damit jede Partei mal ihre Meinung aufführen kann. Solltet ihr also daran Interesse haben:
http://forum.ruby-portal.de/viewtopic.php?p=48128#48128
http://forum.ubuntuusers.de/topic/17637 ... 76#1416676
http://www.python-forum.de/topic-14731.html