Glow: JavaScript-Library der BBC wird Open Source

image

Die BBC hat ihre – bisher nur für eigene Zwecke genutzte – JavaScript-Library Glow als Open Source Software freigegeben und unter die Apache-Lizenz 2.0 gestellt. Als wichtiger Vorteil dieser Library wird die Unterstützung älterer Browser (namentlich Safari 1.3) genannt.

Persönlich hat mich vor allem das obige Beispiel einer grafischen Zeitleiste angesprochen, welche mit Glow erstellt wurde: Die Royal Timeline zeigt die Regentschaft der britischen Monarchen und bietet eine variable Vergrösserung sowie schnelles Anspringen von bestimmten Punkten auf der Zeitachse.

FLOW3: Das neue PHP-Framework für TYPO3 Version 5

image

Während die Entwicklung von TYPO3 Version 4.x kontinuierlich voranschreitet (gerade wurde die Version 4.2.0 beta 1a veröffentlicht), arbeitet ein Team um Robert Lemke schon seit einiger Zeit an der 5. Generation von TYPO3 (vgl. Auf dem Weg zu TYPO3 Version 5.0 „Phoenix“). Diese baut auf einem neu entwickelten PHP-Framework auf, das seit kurzem einen Namen hat: FLOW3.

Wie Robert Lemke in einem Interview darlegt, vermochte keines der existierenden PHP-Frameworks die Anforderungen der TYPO3-Core-Entwickler restlos zu befriedigen. Eine Vergleichstabelle zeigt, in welchen Punkten sich FLOW3 von anderen bekannten Frameworks wie dem Zend Framework, Symfony, cakePHP, eZ Components, Ruby on Rails oder dem Java-Framework Spring unterscheidet. FLOW3 ist aber nicht bloss die Basis von TYPO3 Version 5, sondern soll auch als eigenständiges Framework für andere Projekte zur Verfügung stehen – wenn es einmal fertig ist, denn im Moment gibt es weder fertige Packages noch eine vollständige Dokumentation. Die Version 1.0 ist für die zweite Hälfte 2008 geplant.

Zend lanciert PHP-Framework

image

Zend – das Unternehmen, das PHP massgeblich mitentwickelt hat und mit Zend Studio eine der wichtigsten Entwicklungsumgebungen bereitstellt – hat die Version 1.0 des Zend Framework freigegeben. Dieses objektorientierte Framework für PHP5 setzt das Model-View-Controller-Konzept um, das durch Ruby on Rails populär geworden ist und beispielsweise auch in den PHP-Frameworks Symfony oder CakePHP genutzt wird (vgl. „PHP on Rails“: PHP-Frameworks mit MVC-Modell). Das Zend Framework setzt mindestens PHP 5.1.4 voraus und untersteht der BSD-Lizenz.

"PHP on Rails": PHP-Frameworks mit MVC-Modell

Ruby on Rails scheint derzeit DAS Hype-Thema im Bereich der Web-Programmierung zu sein (vgl. auch diverse Artikel auf Open Mind). Dabei geht leicht vergessen, dass es leistungsfähige Frameworks mit MVC-Architektur und Scaffolding-Mechanismus auch anderswo gibt, beispielsweise im PHP-Umfeld.

Symfony wurde von der französischen Web-Agentur Sensio geschaffen. Es hiess deshalb zuerst Sensio Framework, die Klassenbezeichner wurden entsprechend mit dem Prefix sf gekennzeichnet. Wahrscheinlich um diese Prefixes nicht ändern zu müssen wurde die unorthodoxe Schreibweise von Symfony gewählt. Inzwischen setzen zahlreiche Web-Applikation auf diesem Framework auf, unter anderem auch Yahoo! Bookmarks. Einen knappen Überblick über Symfony gibt es auf der Projekt-Website und bei Wikipedia. Vielleicht nicht unwichtig: Symfony läuft nur mit PHP5.

CakePHP ist schlanker als Symfony und hat deshalb den Ruf, einfacher erlernbar zu sein. Es unterstützt auch PHP4, was je nach Hosting-Umgebung ein Kriterium darstellen könnte. Einen älteren, aber umfassenen und über CakePHP hinaus erhellenden Artikel gibt es im zZine Magazine: CakePHP – A „tasty“ solution for PHP programming.

P.S. Artikel über die drei PHP-Frameworks Symfony, CakePHP und eZ Components gibt es in der aktuellen Ausgabe des T3N-Magazins.

Ruby on Rails: Version 1.2 veröffentlicht

Das Open Source Web Framework Ruby on Rails steht neu in der Version 1.2 zur Verfügung. Die Verbesserungen betreffen primär REST-Architekturen, MIME Types, HTTP Status Codes und Unicode-Zeichensätze. Oder wie es in der Ankündigung im offiziellen RoR-Weblog Riding Rails etwas blumig heisst:

„We got the RESTful flavor with new encouragement for resource-oriented architectures. We’re taking mime types, HTTP status codes, and multiple representations of the same resource serious. And of course there’s the international pizzazz of multibyte-safe UTF-8 wrangling.

That’s just some of the headliner features. On top of that, there’s an absolutely staggering amount of polish being dished out. The CHANGELOG for Action Pack alone contains some two hundred entries. Active Record has another 170-something on top of that.“

An gleicher Stelle wird auch klargestellt, dass der Sprung von 1.1 auf 1.2 ein „massive upgrade“ darstellt, weil zentrale Teile des Frameworks neu geschrieben wurden. Die Version 1.2 soll zwar rückwärtskompatibel sein, trotzdem werden Entwickler ermahnt, ihre Applikationen nach dem Upgrade gründlich zu testen.

Was ist eigentlich Ruby on Rails?

Ruby on Rails (oder kurz: Rails) ist ein Framework für die Programmiersprache Ruby – vergleichbar mit PEAR für PHP. Während es Ruby schon seit Mitte der 90er Jahre gibt (und insbesondere in Japan verbreitet ist), ist das Rails-Framework noch jung: Es wurde Mitte 2004 erstmals der Öffentlichkeit vorgestellt. Spätestens nach dem Google/O’Reilly Open Source Award 2005 und dem Artikel im Wired Magazine („The Hottest Hacker on Earth“) wurde Ruby on Rails rasch populär. Es hat den Ruf, die Entwicklung von Web-Applikationen besonders einfach und elegant zu machen.

Die zentrale Person hinter Ruby on Rails ist der Däne David Heinemeier Hansson, einer der Partner von 37signals. Er ist der Entwickler der populären Web-2.0-Applikationen Basecamp, Backpack und Ta-da List. Heinemeier Hanson ist beispielsweise in diesem Promotion-Video zu sehen, das Apple über 37signals produziert hat:

Ruby on Rails ist für die Entwicklung von datenbank-basierten Web-Applikationen konzipiert und erleichtert Benutzeroberflächen mit AJAX. Um es zu nutzen benötigt man einen Webserver (Apache, lighttpd, Mongrel) und eine Datenbank (MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2, Firebird). Rails läuft grundsätzlich auf allen Betriebssystemen, ist aber primär in der Unix/Linux-Welt zuhause und wurde ursprünglich auf Mac OS X entwickelt.

Ruby on Rails besteht im Prinzip aus drei Komponenten: Der Sprache Ruby, dem Paket-Manager RubyGems und dem Rails-Framework. Wer möglichst rasch zu einer Testumgebung für Ruby on Rails kommen will, greift zu Locomotive (für Mac OS X) bzw. Instant Rails (für Windows), welche Webserver, Datenbank, Ruby und das Rails-Framework in einem einfach installierbaren Package bereitstellen. Als Entwicklungswerkzeug werden der kommerzielle TextMate (für Mac OS X) oder RadRails für Eclipse empfohlen.

AJAX ohne J(avaScript)

„ZK is an open-source AJAX Web framework that enables rich user interface for Web applications with no JavaScript and little programming.“

Über 130 AJAX-Frameworks gibt es gemäss einer Präsentation von Tom M. Yeh, dem Begründer des ZK-Projekts. Trotzdem hat er das 131. Framework entwickelt, denn er findet alle anderen zu kompliziert, was die Entwicklung von Web-Applikationen mit AJAX-Oberflächen unnötig teuer mache.

Tatsächlich ist die Notation mit ZK erstaunlich einfach und für jeden nachvollziehbar, der schon mit HMTL oder XML gearbeitet hat. Um beispielsweise ein Feld anzuzeigen, das ausschliesslich ein Datum als Eingabe akzeptiert und gleich auch noch einen praktischen Datumswähler mitbringt, genügt der folgende Code:

<window title=“Geburtsdatum“ border=“normal“ width=“150px“>
<datebox id=“db“/>
</window>

Ausprobieren kann man das ZK-Framework auch ohne vertiefte Programmierkenntnisse auf der sehr anschaulichen Demo-Seite. ZK ist derzeit eines der aktivsten Projekte auf SourceForge und wird unter der GNU General Public Licence (GPL) angeboten.

css.php