jQuery Mobile und Variablenräume

14.11.2016 04:30 Uhr

jQuery Mobile geht einen für uns sehr angenehmen Weg. Die Tatsache, dass Seiten als „Pages“ innerhalb eines Dokuments gespeichert werden, lässt einen tieferen Blick auf die Variablenräume von Javascript lohnen. Denn im Gegensatz zu anderen traditionellen Frameworks mit HTML-Seitenwechseln sind unsere Möglichkeiten hier deutlich größer.

Verschiedene Seiten – nicht für JavaScript

Ein kurzer Test hat es während der Sitzung bereits gezeigt: Auf einer jQuery Mobile Seite haben wir ein Textfeld eröffnet mit einem Wert gefüllt. Das Textfeld werten wir nicht aus, wir speichern den Wert auch nicht, sondern wechseln zu einer zweiten jQuery Mobile Seite. Von hier aus greifen wir auf das Feld der ersten Seite zu. Der Zugriff gelingt mithilfe der ID des Felds. Warum ist das möglich?

Für Javascript existieren keine „mehreren Seiten“, alle Seiten werden in einem HTML-Dokument geladen und lediglich ein- und ausgeblendet. Das bedeutet aber auch, dass die Variablenräume nicht unterschiedlich sind, alle Javascript-Variablen und HTML-Elemente, auf die wir per Javascript zugreifen, sind immer gültig. Das bringt uns enorme Vorteile, aber auch Pflichten.

Zum einen brauchen wir nicht mehr darauf zu achten, Variablen per URL oder POST zu übergeben. Das ist eine Technik, die wir ohnehin zum jetzigen Zeitpunkt des Kurses noch nicht beherrschen. Stattdessen können wir beim Wechsel einer Seite „einfach“ auf die Variablen der vorhergegangenen zugreifen. Wir werden Techniken erlernen, wie wir diese Variablen benennen (Stichpunkt Objekte), so dass sich die Namen nicht in die Quere kommen und die Variablenräume zumindest gefühlt ein wenig voneinander getrennt sind.

Nachteile der identischen Variablenräume

Es gibt auch Nachteile, wenn wir nicht über getrennte Variablenräume verfügen. Es ist deutlich schwieriger, mehrere Entwickler an einem Projekt arbeiten zu lassen. Die Absprachen müssen drastisch erhöht werden. Das mag für uns irrelevant sein, Sie sollten dies aber im Hinterkopf behalten. Zum anderen wird das Bug-Tracking, also das Auffinden von Fehlern, unter Umständen deutlich erhöht. Und da Sie bereits gelernt haben, dass Javascript nicht immer zwingend synchron läuft, sondern auf Events reagiert, müssen Sie sicherstellen, dass Events anderer Seiten nicht plötzlich stören können.

Fazit – Besser oder Schlechter?

Die Antwort, ob das Vorhandensein mehrerer Variablenräume Nachteil oder Vorteil ist, lässt sich pauschal nicht beantworten. Für kleinere Projekte mag es eine Vereinfachung sein, bei größeren Projekten kann es anstrengend werden, den Überblick zu behalten. Für unser Projekt wird es auf jeden Fall eine deutliche Vereinfachung bringen.