Sie sind hier
E-Book

jQuery Mobile

Einfach mobile Web-Apps entwickeln

AutorMarco Dierenfeldt
Verlagentwickler.press
Erscheinungsjahr2014
Seitenanzahl184 Seiten
ISBN9783868022988
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis19,99 EUR
Mobile Web-Apps sind mittlerweile keine Seltenheit mehr, jedoch gibt es unterschiedlichste Ansätze, sie zu entwickeln. Eine sehr einfache und schnelle Möglichkeit, um einen Einstieg in die Web-App-Programmierung zu finden, ist die Verwendung eines Frameworks. So bietet jQuery Mobile aus der bekannten jQuery-'Familie' einen reichen Schatz an vordefinierten Widgets, die sich dank Mechanismen wie Progressive Enhancement und variabler Themes sehr einfach auf die eigenen Anforderungen anpassen lassen. Anhand geeigneter und getesteter Beispiele wird dem Leser die Funktionsweise und Vielschichtigkeit des Frameworks vermittelt. Schritt für Schritt werden ihm Werkzeuge an die Hand gegeben, um eigene Anwendungen mit jQuery Mobile zu entwickeln. Im Verlauf des Buches werden aufbauend auf den Grundlagen auch komplexere Themen wie Responsive Design im Kontext des Frameworks angesprochen und komplexere Widgets eingeführt. Das Erstellen eigener Farbschemata wird ebenso behandelt wie das Nachladen von Seiteninhalten über AJAX. Das im Verlauf des Buchs aufgebaute Wissen über das Framework jQuery Mobile wird durch die Ausführungen zu Unit Tests und testgetriebener Entwicklung im Kontext von jQuery Mobile abgerundet.

Marco Dierenfeldt ist Senior Consultant und Coach bei der Saxonia Systems AG. Seine Schwerpunkte sind agile Softwareentwicklung und Webtechnologien. Neben der Arbeit in Kundenprojekten konzipiert er als Coach Workshops, Coding-Dojos und Schulungen und führt diese durch. Seit Mitte der 1990er-Jahre beschäftigt er sich regelmäßig mit HTML, JavaScript und anderen Webtechnologien. Darüber hinaus veröffentlicht er als Fachautor zu den Themen Clean Code, Test-driven Development und Webtechnologien.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

1 Einführung in jQuery Mobile

1.1 Was ist jQuery Mobile?

Wenn man sich die beiden Bestandteile des Namens „jQuery“ und „Mobile“ einmal getrennt ansieht, wird ziemlich schnell deutlich, worum es sich bei jQuery Mobile handelt. jQuery benötigt vermutlich keine gesonderte Vorstellung, es ist eines der bekanntesten JavaScript-Frameworks und jedem Entwickler von Webseiten, bewusst oder unbewusst, schon einmal begegnet. Falls Sie mit jQuery nichts anfangen können, oder es zwar dem Namen nach kennen, es aber noch nie aktiv verwendet haben, müssen Sie jetzt nicht verzweifeln. jQuery Mobile verwendet zwar jQuery, aber an den Stellen in diesem Buch, an denen wir es bewusst einsetzen, werden die verwendeten Teile erklärt.

„Mobile“ ist eines der Schlagwörter unserer Zeit. Alles muss heutzutage mobil sein, auch Webseiten, und mehr noch die Webapplikationen. jQuery Mobile unterstützt Sie also als JavaScript-Framework bei der Entwicklung von mobilen Webapplikationen.

Wozu benötigt man mobile Webapplikationen oder gar ein eigenes Framework dafür? Diese Frage ist berechtigt, gibt es doch eine unermessliche Flut an Apps für alle mobilen Plattformen. Da haben wir aber auch schon eine mögliche Antwort: Die Vielzahl der Applikationsplattformen. Schon wenn wir uns allein auf die beiden führenden Plattformen (iOS und Android) beschränken würden, hätten wir dennoch eine sehr große Vielfalt an Endgeräten mit unterschiedlichsten Auflösungen, Farbtiefen, UI-Elementen und Bedienkonzepten.

Was alle diese Endgeräte gemein haben, ist ein Browser, der Webseiten (und damit auch Webapplikationen) verarbeiten kann. Hier ist der Ansatzpunkt für mobile Webseiten und Webapplikationen. jQuery Mobile ist nicht das einzige Framework für mobile Webanwendungen, es ist nur eines unter vielen, aber durch seine leicht verständliche Funktionsweise und saubere Trennung zwischen UI und Funktion eines der beliebtesten.

jQuery Mobile bietet durch seine „klassenbasierte Unterstützung von Browsern“(Graded Browser Support)die Möglichkeit, die Anwendungen auf einer Vielzahl von Endgeräten zur Verfügung zu stellen. So werden in jQuery Mobile drei unterschiedliche Klassen von Endgeräten/Browsern definiert. In Abbildung 1.1 sehen Sie eine Übersicht dieser Klassen.

Abbildung 1.1: Klassen der Browserunterstützung in jQuery Mobile

Klasse A ist die höchstmögliche Klasse, sie bietet alle Features von jQuery Mobile, inklusive animierter Seitenwechsel, AJAX und HTML5-Erweiterungen. In dieser Klasse befinden sich annähernd alle modernen Smartphones, Smartphone- und Desktopbrowser.

Klasse B verzichtet auf AJAX-Navigationsfeatures, benutzt aber weiterhin die HTML5-Erweiterungen und das CSS-Layout. Sie beinhaltet ein paar ältere Smartphone-Plattformen.

Klasse C letztlich verzichtet auf das CSS-Layout, auf AJAX und HTML5-Erweiterungen und stellt den Inhalt in klassischer Weboptik dar. In dieser Kategorie befinden sich vor allem ältere Feature Phones. Eine komplette Liste finden Sie unter: http://jquerymobile.com/gbs/

1.2 Getting Started

Im Folgenden werden wir die Grundlagen für die Entwicklung von Anwendungen mit jQuery Mobile und JavaScript schaffen. Wir werden uns die Themen Entwicklungsumgebung, Browser und benötigte Frameworks/Frameworkdateien ansehen.

Entwicklungsumgebung

Wie in vielen anderen Publikationen zum Thema JavaScript, auch hier der Hinweis, dass man zum Entwickeln von Webapplikationen nicht unbedingt eine Entwicklungsumgebung benötigt und auch ein normaler Texteditor ausreichen würde. Allerdings sprechen viele Gründe für ein IDE (Integrated Development Environment). Man bekommt nicht nur Syntax-Highlighting für HTML und JavaScript, sondern in der Regel auch Unterstützung in Dingen wie Projektaufbau und Debugging-Tools. Meine derzeit favorisierte Entwicklungsumgebung ist NetBeans, das unter http://www.netbeans.org heruntergeladen werden kann. Den Quellcode zu diesem Buch habe ich mit Version 7.4 entwickelt.

Browser

Da wir mobile Apps für das Web entwickeln wollen, benötigen wir auf unserem Entwicklungsrechner zumindest einen Browser. Im Prinzip ist der gewählte Browser gleichgültig, wenn man jedoch das JavaScript-Debugging-Feature von NetBeans nutzen möchte, muss man Google Chrome installiert haben. Hierfür verwende ich Chrome in der Version 32.0.1700.102m.

Frameworks

Wie wir in Kapitel 1.1 erfahren haben, benötigt jQuery Mobile, um korrekt arbeiten zu können, jQuery. Dieses Framework kann man unter http://www.jquery.com herunterladen. Es gibt zwei unterschiedliche Downloads, eine „minifizierte“(engl. minified) und eine normale Variante des Frameworks. Dies ist für JavaScript-Frameworks üblich, zumindest dann, wenn es sich um freien Quellcode handelt wie hier.

Die „minifizierte“ Datei ist für den produktiven Einsatz gedacht, doch da sie auf möglichst geringe Größe gebracht wurde, ist sie zum Entwickeln und ggf. zur Fehlersuche nicht so gut geeignet. Die andere Variante ist im Klartext und gut lesbar formatiert, sodass man beim Debuggen auch die Entwicklerkommentare und die Funktionsweise der Bibliothek nachvollziehen kann.

Das Framework wird in zwei Varianten zur Verfügung gestellt, einer Version 1.x.y und einer 2.x. Diese unterscheiden sich darin, dass sie unterschiedliche Browserversionen unterstützen. Version 2.x unterstützt lediglich aktuelle Browser, wohingegen Version 1.x.y auch ältere Browser wie beispielsweise Internet Explorer 6 unterstützt. Um möglichst viele Browser zu unterstützen, verwende ich für dieses Buch die Version 1.10.2.

Das Kernframework ist natürlich jQuery Mobile. Auch hier gibt es eine „minifizierte“ und eine normale Version. Es besteht auch die Möglichkeit, sich eine persönliche Version mit ausgewählten Komponenten zusammenzustellen, was dann sinnvoll ist, wenn man die Größe der mobilen Webanwendung optimieren möchte. Nicht benötigte Bestandteile lassen sich hier sehr gut aus dem Framework herausnehmen, dadurch werden die Größe der zu ladenden Frameworkdatei und damit auch die Ladezeit verringert.

Das Framework besteht grundsätzlich aus drei Teilen: einer JavaScript-Datei (jquery.mobile.[Version].js), einem Stylesheet (jquery.mobile.[Version].css) und einem Verzeichnis, das die für die Komponenten benötigten Bilddateien beinhaltet (images). Das komplette Framework lässt sich in Form einer Zip-Datei hier herunterladen: http://jquerymobile.com/

Ebenfalls in dem Archiv enthalten ist ein Verzeichnis mit Demos. Diese beinhalten keinerlei aufbereitete Darstellung des verwendeten Quellcodes, können aber gute Anregungen für die Verwendung der einzelnen Widgets geben. In diesem Buch wird jQuery Mobile in der Version 1.4.1 verwendet.

Projektsetup

Für die in diesem Buch beschriebenen Projekte verwende ich grundlegend immer das gleiche Setup. Da ich in Kapitel 1.4 noch Schritt für Schritt zeigen werde, was ich bei den einzelnen Schritten mache, hier nur ein kurzer Überblick:

  1. Projektanlage in NetBeans als HTML5-Webprojekt
  2. Anlage der Verzeichnisstruktur
  3. Kopieren der Frameworkdateien in das Projekt

1.3 HTML5, CSS und jQuery Mobile

Grundsätzlich gibt es drei Möglichkeiten, wie man Benutzeroberflächen für JavaScript-basierte Webapplikationen aufbauen kann:

  1. Man kann das komplette User Interface (UI) in HTML erstellen und über Stylesheets das Aussehen konfigurieren
  2. Man kann das UI komplett in JavaScript definieren und zur Laufzeit im Browser rendern lassen
  3. Man kann ein Grundgerüst der Applikation in HTML erstellen, und durch bestimmte Parameter im HTML erkennt die JavaScript-Bibliothek bestimmte Widgets (UI-Bestandteile).

Nummer 3 ist die von jQuery Mobile genutzte Variante, die „Progressive Enhancement“ genannt wird. Mit Standard-HTML-Tags wird ein Dokument aufgebaut, in dem über data-Attribute in den Tags eine zusätzliche Schicht definiert ist, die das User Interface der mobilen Anwendung definiert. Beispielsweise kann über das Attribut data role den einzelnen Tags eine Rolle bzw. ein Widget zugewiesen werden.

So wird aus einem einfachen Hyperlink durch die Benutzung des data-role-Attributs data-role=button bei voller Unterstützung des Browsers (Klasse A) ein UI-Button mit der Aufschrift „Seite Zwei“.

...
<a href="#page2">Seite Zwei</a>
<a href="#page2" data-role="button">Seite Zwei</a>
...

Listing 1.1: Hyperlink und Button-Link

Wie dies dann im Browser aussieht, ist in Abbildung 1.2 zu sehen.

Abbildung 1.2: Hyperlink und Button-Link

In der folgenden Tabelle finden sich einige der wichtigsten und gebräuchlichsten data-Attributevon jQuery Mobile und deren Bedeutung.

Data-Attribut

Bedeutung

data-role

Die Rolle des Elements, in der Regel der Name des Widgets, z. B. button

data-icon

Falls das Widget ein Icon...

Blick ins Buch

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

BEHINDERTEPÄDAGOGIK

BEHINDERTEPÄDAGOGIK

Für diese Fachzeitschrift arbeiten namhafte Persönlichkeiten aus den verschiedenen Fotschungs-, Lehr- und Praxisbereichen zusammen. Zu ihren Aufgaben gehören Prävention, Früherkennung, ...

caritas

caritas

mitteilungen für die Erzdiözese FreiburgUm Kindern aus armen Familien gute Perspektiven für eine eigenständige Lebensführung zu ermöglichen, muss die Kinderarmut in Deutschland nachhaltig ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

rfe-Elektrohändler

rfe-Elektrohändler

rfe-Elektrohändler ist die Fachzeitschrift für die CE- und Hausgeräte-Branche. Wichtige Themen sind: Aktuelle Entwicklungen in beiden Branchen, Waren- und Verkaufskunde, Reportagen über ...

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...

F- 40

F- 40

Die Flugzeuge der Bundeswehr, Die F-40 Reihe behandelt das eingesetzte Fluggerät der Bundeswehr seit dem Aufbau von Luftwaffe, Heer und Marine. Jede Ausgabe befasst sich mit der genaue Entwicklungs- ...