Die JS-Pocket-Lib
Wozu das Ganze?
Diese Bibliothek ist ein Bündel von Javascript-Klassen, welche die Trennung von Javascript-Code und HTML-Markup erleichtern. Da es sich in den meisten Fällen bei Javascript-Code innerhalb des HTML-Markups um Code zur Event-Verarbeitung handelt (Stichwort "event handler"), ist die Event-Verarbeitung auch der Kern und der eigentliche Sinn der JS-Pocket-Lib.
Warum HTML und Javascript trennen?
Ähnlich wie bei der Software-Entwicklung ("Model View Controller-Prinzip") ist es auch bei der Planung und Erstellung von
Websites sinnvoll, Inhalt, Darstellung und Verhalten möglichst klar voneinander zu trennen.
Auf diese Weise lassen sich die Inhalte zum einen leichter lesen und warten (bei Pflege von Hand), sie lassen sich zum anderen
leichter in andere Umgebungen (z.B. in ein CMS) portieren, und schließlich ist es viel leichter möglich, Layout und
Verhalten der Seiten zu ändern, wenn die Steuerung über zentrale CSS-Stylesheets bzw. zentrale Javascript-Klassen
erfolgt.
- "JavaScript Triggers"
- Ein sehr interessanter Artikel von Peter-Paul Koch zur Trennung von Inhalt, Darstellung und Verhalten bei Websites (englisch).
- "Model View Controller"
- Der Wikipedia-Artikel zum Thema MVC.
Warum Klassen verwenden?
Grundsätzlich ließe sich die Funktionalität der JS-Pocket-Lib auch mit einfachen globalen Funktionen abbilden. Der Vorteil des Ansatzes mit Klassen ist, daß der globale Namensraum so freigehalten wird. Sprich: es kommt nicht zu einem Konflikt, wenn zum Beispiel zwei verschiedene Klassen jeweils eine Methode mit dem Namen machMal() haben, da diese beiden Methoden in getrennten Namensräumen existieren, nämlich innerhalb der jeweiligen Klasse.
Ein Controller muß her!
Beide Gedanken zusammen führten zur Idee einer Controller-Klasse, deren Instanz beliebige Events auf einer Seite überwachen und an andere Objekte weitergeben kann, die ihrerseits Methoden zur Verarbeitung bereitstellen.
Die Bibliothek in der Praxis
In der Praxis hat sich die JS-Pocket-Lib auf jeden Fall ausgezahlt. Eine ältere Version der Bibliothek wird zum Beispiel von der Agentur, für die ich arbeite, seit langem eingesetzt. Zum einen sind dort dadurch die HTML-Dateien mittlerweile völlig frei von Inline-Javascript und weitgehend frei von Javascript-Code im Head-Bereich. So können die Seiten zum einen leichter gepflegt werden, unsere Designer haben keine "Angst" mehr davor, Seiten mit Javascript-Features zu bearbeiten. Zum anderen ist es - wegen der Steuerung durch zentrale Klassen - leichter, das Verhalten aller Seiten mit denselben Features gleichzeitig zu verändern. Der Aufwand für die Implementierung von Javascript-Features ist insgesamt gesunken.
Und außerdem ist es cooler!
Kommentare zu dieser Seite
(Keine Kommentare vorhanden.)
Kommentarfunktion ausgeschaltet
Ich würde eigentlich gerne Benutzern der JS-Pocket-Lib und anderen Entwicklern die Möglichkeit bieten, schnell und bequem Kommentare und Anregungen hier zu hinterlassen, denn so ein Feedback ist sehr wichtig für die Verbesserung der Bibliothek. Da aber bereits nach wenigen Tagen die Kommentarfunktion, die ich eingebaut hatte, von zerstörungswütigen Vollidioten massivst zum Spamming mißbraucht wurde und ich auf der anderen Seite daraus auch keinen Hochsicherheitstrakt machen wollte, habe ich die Kommentarfunktion wieder entfernt. Sorry an alle normalen Besucher und fuck yourself, Spammers!