- TwoBirds
-
twoBirds Entwickler: Frank Thürigen Aktuelle Version: 2.4.x / 2.5.1b
(24. Mai 2008)Betriebssystem: plattformunabhängig Kategorie: Klassenbibliothek Lizenz: LGPL Deutschsprachig: nein www.two-birds.de twoBirds ist ein freies JavaScript-Framework, das Funktionen zum asynchronen on-demand laden von .JS-, .HTML.TPL und .CSS Dateien zur Verfügung stellt.
Inhaltsverzeichnis
Funktionsweise
twoBirds Applikationen bestehen aus einer Sammlung visueller Objekte, die rekursiv immer weitere Objekte enthalten können:
tb.element.show( <parameterObjekt>, <modulName>, <elementName> );
Solche Objekte können an beliebiger Stelle des Source Codes aufgerufen werden, also auch innerhalb der Anzeigefunktion übergeordneter Objekte. Beim Aufruf der Funktion wird zunächst die zugehörige .JS Datei geladen, welche sich in Ihrer Initialisierungsfunktion um das Nachladen weiterer Abhängigkeiten kümmern kann, deren Verfügbarkeit prüft und schließlich die entsprechende display() Funktion aufruft.
Da die Struktur solcher Objekte immer gleich ist, ist eine durchgängige Qualitätssicherung möglich. Wegen der Ausprägung als Webdesign-Framework (Templates / CSS) können Applikationen recht schnell entwickelt werden. twoBirds selbst ist cross-browser / cross-system fähig und hat kaum Backend Abhängigkeiten. Es läuft mit allen Server-Scriptsprachen, die Webservices zur Ausgabe haben können. Standard ist PHP. twoBirds läuft auch ohne Server, direkt aus dem Dateisystem.
Das Framework entstand 2002 in Antwort auf eine Intranet AJAX Anforderung, die ein komplexes Design einschloß, und wurde im April 2006 auf Ajaxian veröffentlicht. Es lässt sich durch Plugins an Funktionen erweitern, wobei eigentlich jedes twoBirds Objekt als Plugin verstanden werden kann. twoBirds enthält selbst keine DOM Methoden, hierzu wird typischerweise jQuery oder eine der anderen Bibliotheken transparent nachgeladen. twoBirds folgt dem MVC Pattern, derzeit in der Ausprägung VC-CM, s.h. es gibt korrespondierende Controller auf Client und auf Serverseite.
Funktionsumfang
twoBirds enthält das übliche xHr Objekt, das hier aber durch die Verzahnung mit einem komplexen timout-interval-wait-observe Objektstack auch auf älteren xHr-fähigen Browsern läuft. FW-seitig enthält es weiterhin Funktionen zur asynchronen Steuerung von Nachladeoperationen und Abhängigkeiten. Alle Operationen laufen entkoppelt ab, die Bibliothek vermeidet Überschneidungen in Nachladeoperationen. Hierzu nutzt twoBirds auch einen eigenen template cache und Prüfoperationen auf JS Objekte und CSS Code. Es können Nachladeoperation auf alle anderen Bibliotheken transparent im System ausgeführt werden, inclusive proprietärer Test- und Callback Routinen. Timeouts, Intervalle und Wait Zyklen sind nicht nur für Nachladeoperationen implementiert, sondern grundsätzliches Programmierprinzip. Durch den observer Mechanismus eignet sich twoBirds eingeschränkt zur Darstellung von Zustandsmaschinen, bei denen Funktionen nicht durch direkten Aufruf gestartet werden sondern durch Änderung definierter beobachteter Elemente in DOM oder Datenobjekten.
Besonderheit
twoBirds füllt aufgrund seiner Konzeption die Lücke zwischen GUI Frameworks und Webdesign. Während man bei ersterem stilistisch festgelegt oder zumindest eingeschränkt ist, erlaubt twoBirds alle Mittel des Browsers auszuschöpfen. Als on-demand Loader ist es in der Usererfahrung sehr responsiv.
Abgrenzung zu vergleichbaren Frameworks
twoBirds ist ein Versuch, komplexe JS Programmierung für one-page Applikation nach den Grundsätzen des Webdesigns zu vereinfachen. Das heißt dass zur Erstellung einer solchen one-page Anwendung nicht nur Javascript-Programmierer sondern eben auch HTML/CSS Spezialisten gebraucht werden. Siehe "Beyond DOM" Essay und Diskussion, englisch. Insofern ist twoBirds eher ein generelles Programmier-Konzept. Herleitung, englisch, daraus abgeleitete Grobbeschreibung, englisch
Verbreitung
twoBirds wird als on-demand Lader in komplexen Intranet Anwendungen hauptsächlich zur Datenhaltung eingesetzt. Grund für den Einsatz ist hier die Strukturiertheit und Verständlichkeit des entstehenden Codes und die Lauffähigkeit auch auf veralteten Browsern wie IE5.5. Weiterhin wird twoBirds in öffentlichen one-page Webapplikationen eingesetzt, wenn das Design nach Webkriterien frei erstellbar sein muß, was den Einsatz von standardisierten GUI Komponenten verbietet.
twoBirds hat derzeit etwa (Stand Aug. 2008) 4-5000 downloads. Die Anzahl der Seiten, die twoBirds weltweit nutzen, ist unbekannt.
Kritikpunkte
- Derzeit (Stand 3. August 2008) existieren nur wenige Möglichkeiten, Fehler in dynamisch erzeugten JS Funktionen zu debuggen. Daher kann das debuggen von tB Applikationen fallweise mühsam sein. Es existieren Workarounds für dieses Problem.
- Über die Verwendung der innerHTML Eigenschaft zur nachträglichen Darstellung von Seitenelementen herrschen in Fachkreisen geteilte Meinungen. Die meisten Bibliotheken verwenden stattdessen JavaScript DOM Operationen. Diskussion, englisch, Artikel, englisch. Eben dieser Unterschied ist das twoBirds zugrundeliegende Merkmal, so dass man es als Vertreter einer möglichen Meinung begreifen kann.
Status / Ziele
Die Bibliothek ist soweit abgeschlossen, derzeit wird an der Dokumentation gearbeitet.
Weblinks
Wikimedia Foundation.