In den letzten Tagen ist’s hier etwas ruhiger. Das liegt daran, dass ich mich (wie beschrieben) etwas mit der Programmierung auseinandersetze. Vor ein paar Tagen habe ich zu dem Zweck eine kleine Applikation in Ruby und Rails gebastelt. Nichts wildes und ich werde auch nicht veröffentlichen. Nur ein kleines Spielzeug mit Daten eingeben, bearbeiten, löschen etc. Einfach um mal zu sehen wie das Handling mit RoR so läuft, wie schwer es für mich ist in die unbekannte Syntax reinzufinden etc.
Ein für mich sehr wichtiger Punkt dabei ist: Ich bin kein Programmierer, war nie einer und werde wohl auch nie einer werden. Programmieren (bisher schon in PHP) ist für mich immer nur Mittel zum Zweck für einfache Projekte oder zur Modifikation bestehender Anwendungen gewesen. Nichts desto trotz werden die Ansprüche größer und manchmal will man statt irgendwelchen Mini-Scripts auch mal eine etwas größere Applikation von Grund auf selbst schreiben. Klingt irgendwie nach Widerspruch oder?
Nicht ganz, denn ich denke dass ein MVC-Framework dies Grundsätzlich ermöglichen kann. Für mich entscheidende Problemstellungen bei der Programmierung einer Webapplikation sind z.B. in RubyOnRails schon gelöst. Dazu gehören z.B. Coding Guidelines, Conventions, Sicherheitsvorkehrungen (Stichwort SQL-Injections) etc.
Mein erster Versuch mit RoR ist also durch und mein Elan ist eher verhalten. Grundsätzlich gibt es viele Elemente an RoR die mich begeistern. Es gibt aber auch zwei Probleme die mich von Anfang an etwas zögern haben lassen und die ich auch bisher nicht ausräumen konnte. Die Unterstützung von RoR durch Webhoster ist da so ein Punkt. Allinkl. z.B. hat auf Nachfrage bestätigt RoR in nächster Zeit nicht anbieten zu wollen, Dreamhost bietet es zwar an, ich bin jedoch bei Google auf viele „Spezialanleitungen“ für Dreamhost/RoR gestoßen, da die Nutzung dort wohl nur sehr eingeschränkt möglich ist.
Ein weiterer Punkt ist die Lernkurve bzgl. der neuen Syntax und anderer „Neuerungen“ (verglichen mit PHP). Wie schon erwähnt will ich mit programmieren eigentlich nicht meine Brötchen verdienen. Daher ist meine Motivation diesbgzl. etwas geschwächt.
PHP kann ich (zumindest in Grundzügen) nun seit einigen Jahren und es hat mir immer mal ermöglicht Kleinigkeiten selbst zu machen. Bei RoR sehe ich für diese Kleinigkeiten überhaupt keinen Platz, da die technische Basis sehr aufwändig ist – gerade für kleine Spielereien scheint es daher eher ungeeignet. Als Folge aus diesen Gedanken werde ich mich nun nochmal einmal detaillierter den zur Verfügung stehenden PHP-MVC-Frameworks widmen. Das aussichtsreichste dabei scheint mir cakePHP zu sein. Das Zend-Framework scheint zwar schon im frühen Stadium einiges an Popularität zu bekommen, ist aber offenbar noch ziemlich wenig ausgereift.
Bei einem PHP-Framework entfallen auf jeden Fall die beiden oben genannten Nachteile und verwandeln sich in Vorteile: Ich kenne die Sprache und jeder meiner Hoster unterstützt sie – mit eher wenigen Einschränkungen. Ich könnte mit einer PHP-Lösung weiterhin kleine Sachen ohne Framework und ganz unkompliziert wie bisher lösen und dennoch die Erfahrung daraus indirekt auch für größere Projekte nutzen – ebenso wie die technische Basis.
Ein erster Blick auf cakePHP ist schon passiert – ein zweiter (und ggfs. mehr) wird folgen. Für Tipps und Links meiner Leser bin ich natürlich immer dankbar.
Auf ein cakePHP-Blog von Dirk Olbertz (Blogscout) bin ich schon gestoßen. Leider ein derzeit nicht sonderlich aktives Blog, aber das wird sich ja vielleicht wieder ändern ;). Mein Rails-Blog bleibt erstmal noch bestehen. Allerdings werde ich es wohl nur weiterführen, wenn es auch für Rails und mich eine Zukunft gibt. Ob ich über cakePHP noch ausführlicher bloggen werde, mache ich erstmal von den weiteren Versuchen abhängig.
Genau zu dem gleichen Schluß bin ich auch gekommen. Rubby ist problematich beim hosting. Wären die Hosting Probleme nicht da, dann würde ich alle Seiten gleich mit java frameworks geschtalten. Gute Java Hoster sind aber vergleichsweise teuer, lohnt sich also für poppelige Projekte überhaupt nicht. :(
Du hast aber meiner meinung nach schon die beiden zur zeit aussischtsreichsten PHP Framwork genannt. CakePHP, und Zend Framewokr. Die habe ich mir auch ausgewählt und werde ab April mich intensiv damit ausseinander setzen.
Ist echt spannend, dass wir unabhängig von einenander bezüglich der PHP Frameworks zum gleichem Schluß kommen. ;)
Ich mache derzeit erste Schritte mit CodeIgniter – kommt von den Machern der ExpressionEngine. Ist ein eher kleines Framework, aber mit durchaus Power. Die Lernkurve halte ich für kleiner als bei meinen ersten Versuchen mit CakePHP, die Community ist aber ähnlich aktiv (wenn auch nicht so groß).
Man muss aber auch sagen, dass CodeIgniter eher etwas „bloggig“ ist, man bekommt z.bsp. eine XML-RPC-Schnittstelle gleich von Haus aus mit, ähnlich wie Captach-Plugins und dergleichen. Auf der anderen Seite ist bspw. das aufteilen von DB-Ergebnissen auf mehrere Seiten ebenso etwas, das von Haus aus mitkommt. Bei cakePHP braucht es dafür erst noch ein Plugin …
Und Plugins lassen sich sehr einfach installieren: Exteren Scripte wie bspw. SimplePie (RSS-Parser) einfach in den Plugin-Ordner packen und in Deinem Script aufrufen und nutzen. Sehr bequem …
Scaffolding kann es auch …
Ist durchaus einen Blick wert, auch wenn es nicht ganz so „RoR“y ist, wie cakePHP.
Danke für den Tipp, Thomas. Werde bei Gelegenheit mal einen Blick drauf werfen. Im Moment bindet mich cakePHP voll und ganz ;)