TwoBirds
twoBirds
| |
---|---|
Basisdaten
| |
Entwickler | Frank Thürigen
|
Aktuelle Version | 2.4.x / 2.5.1b (24. Mai 2008)
|
Betriebssystem | plattformunabhängig
|
Kategorie | Klassenbibliothek
|
Lizenz | LGPL
|
deutschsprachig | ja |
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
Übrigens: Die PlusPedia ist NICHT die Wikipedia. Wir sind ein gemeinnütziger Verein, PlusPedia ist werbefrei. Wir freuen uns daher über eine kleine Spende! |
1 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.
Das Framework entstand 2002 in Antwort auf eine Intranet AJAX Anforderung, die ein komplexes Design einschloss, 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.
2 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, inklusive 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.
3 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.
4 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
5 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 muss, was den Einsatz von standardisierten GUI Komponenten verbietet.
twoBirds hat derzeit etwa (Stand Aug. 2008) 4-5000 downloads.
6 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.
7 Status / Ziele
Die Bibliothek ist soweit abgeschlossen, derzeit wird an der Dokumentation gearbeitet.
8 Weblinks
- Die twoBirds-Testseite
- verstreute Dokumentation, englisch
- ajaxpatterns.org, englisch
- ajaxpatterns.org, englisch
- typische auf twoBirds basierte Webseite, Ladevorgang beachten
9 Init-Quelle
Entnommen aus der:
Erster Autor: FrankThuerigen angelegt am 03.08.2008 um 11:53,
Alle Autoren: Nightfly85, Krd, Fast.ch, GiordanoBruno, Λx.x, Koenraad, Itti, Bebbe, YMS, FrankThuerigen, Goldzahn
10 Andere Lexika
- Dieser Artikel wurde in der Wikipedia gelöscht.
Hast du einen Löschwunsch oder ein anderes Anliegen? Dann nutze bitte unser Kontaktformular
PlusPedia Impressum
Bitte Beachte:
Sämtliche Aussagen auf dieser Seite sind ohne Gewähr.
Für die Richtigkeit der Aussagen übernimmt die Betreiberin keine Verantwortung.
Nach Kenntnissnahme von Fehlern und Rechtsverstößens ist die Betreiberin selbstverständlich bereit,
diese zu beheben.
Verantwortlich für jede einzelne Aussage ist der jeweilige Erstautor dieser Aussage.
Mit dem Ergänzen und Weiterschreiben eines Artikels durch einen anderen Autor
werden die vorhergehenden Aussagen und Inhalte nicht zu eigenen.
Die Weiternutzung und Glaubhaftigkeit der Inhalte ist selbst gegenzurecherchieren.