tiny little gizmos

Rahmenwerk

Um Webapplikationen zu bauen ist die Programmiersprache meiner Wahl bereits seit einigen Jahren PHP. Daran hat auch der gegenwärtige Hype um Ruby on Rails nichts geändert. Warum auch? Ich habe vor einiger Zeit geguckt, was es mit dem tollen MVC-Pattern (Model-View-Controller) auf sich hat, von dem plötzlich alle reden um dann festzustellen, daß ich selbst seit Jahren auf diese Weise Webapplikationen baue. PHP hat zudem mittlerweile eine Reife erreicht, das es für Enterprise Applikationen einsetzbar macht. Ruby hat da noch einen längeren Weg vor sich. Ich hörte von Problemen bei Deployment und Skalierung. Ich sehe also zunächst keinen Grund für mich, zu wechseln und bleibe bei PHP.

Trotzdem ist es Zeit für Neues!

Nachdem vor kurzem angekündigt wurde, Weiterentwicklung und Support für PHP4 einzustellen kommt nun endlich Schwung in den längst überfälligen Wechsel zu PHP5. Meine bisherigen Anwendungen habe ich -widerwillig- immer noch in PHP4 programmiert, weil mein Hoster einfach nicht umgestellt hat und ich keine Lust hatte, mit allen Domains umzuziehen.

Jetzt ist Schluss – die Bude wird komplettsaniert!

Den Wechsel nehme ich gleich zum Anlaß, eine einheitliche Codebasis für meine Anwendungen zu schaffen. Sie sind zwar alle vom Aufbau sehr ähnlich, aber eben nicht identisch. Ein modernes Framework muss her. Nachdem ich mir in letzter Zeit u.a. Cake, Symfony oder das Zend Framework angeschaut und für recht interessant befunden habe, entschloss ich mich dennoch dazu, ein eigenes zu entwickeln. Eigentlich bin ich kein Freund davon, das Rad 100 mal neu zu erfinden, aber es gibt einen gewichtigen Punkte, der dafür spricht: Meine bestehenden Anwendungen! Ein Refactoring ist zwar sinnvoll und überfällig, aber ich habe weder Zeit noch Lust, alles von 0 an neu zu schreiben.

Meine Anforderungen

  • Wiederverwendbar, modular, objektorientiert
  • Konsequente Nutzung von PHP5 und bewährten Libraries wie PEAR
  • MVC-Pattern
  • Suchmaschinenoptimierte URLs mit Fallback, fall kein rewrite möglich ist
  • Browserausgabe mit XHTML und AJAX-Möglichkeit
  • Unterstützung mobiler Endgeräte
  • XML-basierte Ablaufsteuerung

Letzterem verdankt das Projekt seinen Arbeitstitel: Pipeline.
Bitte zu beachten: Das ist ein interner Projekttitel und steht somit keinesfalls irgendwie in Konkurenz zu evtl. bestehenden Namensrechten Dritter.

Auch wenn es sich vermutlich etwas hinziehen wird – ich werde in meinem Blog über den Fortgang des Projekts berichten.