ECMAScript-Praktikum 2011: Problemstellung 4 (Bibliohekssammlung aufbauen, Tool für RegExp)

Diese praktische Aufgabe zur Veranstaltung beinhaltet die Erstellung einer Sammlung von ECMAScript-Bibliotheken, die dann für ein Tool benutzt werden sollen, das RegExp-Ausdrücke und RegExp-Funktionen simulieren kann. Die Funktionen der Bibliotheken sind kurz und übersichtlich zu dokumentieren. Dieses Tool soll sowohl für Informatik-Anfänger als auch für Fortgeschrittene gut bedienbar und gut verwendbar sein und als Teil der eigenen Homepage eingestellt werden.

Einstieg Wie fange ich an?

Es wurden bereits Funktionen geschrieben, die Sichtbarkeiten von DOM-Elementen und Sub-Node-Bäumen behandeln. Hier ist diese Zusammenstellung visuell.js Bitte darauf achten, daß der "Datei-BOM wirkt" und die Unicode-Zeichen bei toggle_texte = [.../\−/, "+", /\+/, "−", /⨉/, "⌻", /⌻/, "⨉"]; nicht "verbeult" sind.

Orthogonalität von Bibliotheken Sollte visuell-Bibliothek auf dom basieren?

Wenn eine grundlegende Bibliothek oft von anderen Bibliotheken benutzt wird, dann hängen diese voneinander ab. Abhängigkeiten können Vor- und Nachteile haben.

Hier ist für die Funktionalität die "hochgradige Dynamisierung" der DOM-Objekte zu beachten. Es macht oft wenig Sinn, Objekte "schön statisch" in einer DOM-Bibliothek zu managen und zu verwalten, wenn in der Zwischenzeit infolge von Ereignissen (System- und User-Interaktion) das Objekt "ungewollt" verändert wurde. Die hier gewählte Aufteilung von visuell-Bibliothek und dom-Bibliothek zielt auf Robustheit, leichte Erweiterbarkeit und leicht Verwendbarkeit. Hier ist eine unfertige, fehlerhafte Zusammenstellung von dom.js, die wohl leicht angepaßt werden kann.

n-Bibliotheken erstellen Wieviele?

Das "Design" von Bibliotheken ist unterschiedlich. Es kann z.B. eine einzige, umfangreiche Bibliotheken konzipiert werden, die alle Teile aufnimmt. Es können aber auch z.B. viele kleine Bibliotheken konzipiert werden, die nur bei Bedarf includiert werden.

Unter Berücksichtigung der bisherigen Arbeiten wird das folgende Verfahren vorgeschlagen. Jede Bibliothek soll klein, robust, leicht erweiterbar und leicht verwendbar sein.

Wie geht das? Der Objektname (Namespace) wird als Dateiname verwendet. Die folgenden "Includes" würden dann auf die Nutzung hinweisen.

Wie wird ein localStorage-Bibliothek erstellt Hier auch für IE < 9

Das localStorage-Interface wird heute (2011) bei den "gängigen" Browsern bei online-Seiten unterstützt. Warum beschränkt sich lokal.js auf ein "umständliches localStorage-Teil-Interface"?

Hier lediglich einige Hinweise: Der Firefox-Browser (derzeit Vers. 4) hat bei der offline-Verwendung des localStorage-Interface einen bekannten Bug: bei einer neuen Browser-Sitzung sind die vorher gespeicherten localStorage-Daten weg.

IE9 kennt online das localStorage-Interface. IE9 kennt offline nicht das localStorage-Interface. lokal.js unterstützt offline und online IE6, IE7, IE8, IE9. Dies erklärt den beträchtlichen "Workarround".

Hier ist eine unfertige, fehlerhafte Zusammenstellung von local.js, die wegen der IE < 9 Kompatibilität das "klare, einfache" localStorage von HTML 5 nur unvollständig unterstützt (aber dennoch funktioniert).

Hinweise zu Regulären Ausdrücken RegExp und ECMAScript

Natürlich ist es für die Konzeption und Erstellung eines geeignet RegExp-Tools günstig ein hinreichendes Wissen und ausreichende RegExp-Erfahrungen zu haben. Hier 3 Hinweise aus des Script: Reguläre Ausdrücke , Kurzreferenz Beispiele.

RegExp-Tool erstellen Wie wird ein RegExp-Tool gemacht?

Hier ist eine unfertige, fehlerhafte Zusammenstellung von find_repl.js,

Viel Freude bei der Ausarbeitung!