Juli 11 2008

Qooxdoo – Ein Web-Entwicklungsframework aus Deutschland

Tag: Ajax FrameworksPatrick @ 10:45 pm

Die vor allem als Internet Service Provider bekannte 1&1 Internet AG, Tochterunternehmen des Riesenkonzerns United Internet AG, arbeitet seit über 4 Jahren an einem aufregendem Ajax-Framework namens Qooxdoo. Dieses soll ein neues Zeitalter der dynamischen Web-Entwicklung einläuten.

Qooxdoo, ausgesprochen „kucksdu“, ist ein allumfassendes und innovatives Gerüst für Ajax-Anwendungen. Durch den wirkungsvollen Einsatz von objektorientiertem Javascript können Web-Entwickler mit diesem Framework schnell eindrucksvolle und browserübergreifende Anwendungen erstellen. Weder HTML, CSS oder DOM werden hierzu benötigt.

Qooxdoo beinhaltet eine Reihe von plattformunabhängigen Entwicklungswerkzeugen, ein modernes Interface-Toolkit und einen fortschrittlichen Client-Server-Communication-Layer.

Das gesamte Framework ist durchgehend klassenbasiert (über 300 Klassen existieren) und versucht alle Vorteile des objektorientierten JS effizient einzusetzen. Da alle grundlegenden Javascript-Funktionen, -Klassen und -Objekte unangetastet bleiben, sprich: nicht erweitert worden, ist es problemlos und leicht möglich, Qooxdoo in bestehenden Code einzubetten oder noch andere Bibliotheken mit einzubinden.

Unterstützt werden alle modernen Browser: Firefox (1.5, 2.0, 3.0), Internet Explorer (6, 7), Opera (8, 9) und WebKit / Safari 3.0.

Der schnelle und zuverlässige Javascriptparser ist ein fester Bestandteil des automatischen Erstellprozesses, der das Optimieren, Komprimieren, Verlinken und Verwalten von benutzerspezifischen Anwendungen sehr bedienerfreundlich gestaltet.

Zudem wurde großer Wert auf die Internationalisierung und Lokalisierung für eine Vielzahl von Ländern und Sprachen gelegt.

Obwohl Qooxdoo ein reines Javascript-Framework ist, befindet es sich auf gleicher Augenhöhe mit anderen Toolkits wie QT oder SWT zum Erstellen graphischer Benutzeroberflächen (GUI).

Die vielen internen Minianwendungen (Widgets) sind in Aussehen und Bedienung sehr an bestehende Desktopapplikationen angelehnt. Die dargestellten Elemente verhalten sich wie gewöhnliche Fenster. Das heißt, sie lassen sich in Größe und Aussehen den Vorlieben anpassen.

Alle Widgets beruhen auf mächtigen und äußerst flexiblen Layout-Managern, die der Schlüssel zu den nahezu unbegrenzten Anwendungsmöglichkeiten sind. Die Definition eines Interfaces geschieht aus Leistungsgründen in Javascript.

Um eine graphische Oberfläche zu beschreiben wird weder HTML verwendet noch muss man sich Gedanken über CSS  machen. Durchdachte und leicht anpassbare Vorlagen für das Erscheinungsbild, Farben, Rahmen, Schriftarten und Icons nehmen viel Arbeit ab und erlauben nebenbei das Ändern der Themen zur Laufzeit.

Als klientseitige und serveragnostische Anwendung beherrscht Qooxdoo vollen RPC-Server-Support (aktuell Java, PHP, Perl) um etwa seine fortschrittlichen Client-Server-Kommunikation aufzuzeigen.

Eine abstrakte Transportschicht unterstützt Abfragen, Timeouts und Implementierungen via XMLHttpRequest, Iframes und Scripts. Wie im ganzen Framework wird hierbei auch eventorientiertes Programmieren vollkommen unterstützt, wodurch die asynchrone Kommunikation sehr vereinfacht wird.

Neben Unmengen an Demos und Anwendungsbeispielen existiert auch eine umfangreiche Dokumentation.

Und das beste zuletzt: Qooydoo ist als Open Source frei verfügbar.

Qooxdoo - klassische Fensteransicht Qooxdoo - Demoanwendung


Juli 02 2008

CSS-Selektoren und die Browser

Tag: AllgemeinesPatrick @ 11:34 pm

In den Javascript-Bibliotheken werden sie sehr großzügig unterstützt, doch in ihrer Heimat, den Browsern selbst, besteht, vor allem bei Microsofts Internet Explorer, noch Handlungsbedarf. Die Rede ist von CSS-Selektoren.

Auf Grundlage der Test-Suite von www.css3.info habe ich eine Übersicht über die Unterstützung der einzelnen Selektoren in verschiedenen Browsern erstellt.

Die nachstehene Tabelle ist eine kurze Zusammenfassung der Testergebnisse.

Browser
bestandene Tests
bestandene Einzeltests
Internet Explorer 6 10 / 43 246 / 578
Internet Explorer 7 13 / 43 329 / 578
Internet Explorer 8 Beta 1 14 / 43 334 / 578
Firefox 2.0.0.15 26 / 43 357 / 578
Firefox 3.0 36 / 43 373 / 578
Firefox 3.1 Alpha 1 pre 43 / 43 578 / 578
Opera 9.51 43 / 43 578 / 578
Safari 3.1 43 / 43 578 / 578
WebKit R34936 43 / 43 578 / 578

Der komplette Ergebnis kann man dieser Übersicht entnehmen.

Schaut man sich die Tabelle an, erkennt man auch den sofort den Grund, warum Web-Entwickler bisher nur sehr zögerlich Gebrauch der CSS-Selektoren machen. Sie werden schlicht weg von den bisherigen IE-Browsern unzureichend unterstützt.

Bleibt zu hoffen, dass Microsoft noch kräftig am IE8 arbeitet. Vielleicht kann man zur nächsten Beta im August sich selbst schon ein Bild der Fortschritte machen.


« Vorherige Seite