Web-Apps mit jquery Mobile



Ähnliche Dokumente
Michael Kurz Martin Marinschek

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

Über die Herausgeber


Praxiswissen TYPO3 CMS 7 LTS

Software modular bauen

Cloud-Computing für Unternehmen

Die Computerwerkstatt

IT-Servicemanagement mit ITIL V3

IT-Service-Management mit ITIL 2011 Edition

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse

Praxisbuch BI Reporting

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth

VMware vrealize Automation Das Praxisbuch

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Professionell blitzen mit dem Nikon Creative Lighting System

IT-Servicemanagement mit ITIL V3

Konfigurationsmanagement mit Subversion, Ant und Maven

Basiswissen Medizinische Software

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

CNC-Fräsen für Maker und Modellbauer

Basiswissen Medizinische Software

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann

Dr. Carola Lilienthal

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

Dr. Michael Hahne

Prof. Dr. Matthias Knoll

Leitfaden Web-Usability

JavaScript kinderleicht!

Über die Autoren.

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen.

München 2014) und»uml2 glasklar«(carl Hanser Verlag München

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren

IT-Projektverträge: Erfolgreiches Management

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

Joachim Baumann Daniel Arndt Frank Engelen Frank Hardy Carsten Mjartan. Vaadin. Der kompakte Einstieg für Java-Entwickler

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

Basiswissen Software-Projektmanagement

Microsoft Office:mac 2011 Das Grundlagenbuch: Home and Student

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

IT-Controlling für die Praxis

Fotografieren lernen Band 2

Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel. Classroom. Eine Einführung in die objektorientierte Modellierung

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

Maik Schmidt

Jens Jacobsen. Website-Konzeption. Erfolgreiche Websites planen, umsetzen und betreiben. 7., überarbeitete und erweiterte Auflage

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO Eine Einführung für Manager und Projektleiter

Soft Skills für Softwareentwickler

Sebastian Springer, Testgetriebene Entwicklung mit JavaScript, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm

Managementsysteme für IT-Serviceorganisationen

IT-Unternehmensarchitektur

Datawarehousing mit SAP BW 7

Basiswissen Software- Projektmanagement

Philipp Friberg ist als SAP Development Consultant bei der itelligence Schweiz AG tätig. Seine dortigen Arbeitsschwerpunkte sind Architekturberatung

Ein mobiler Electronic Program Guide

Lebendige Webseiten mit Adobe Edge Animate

Elisabeth Hendrickson Übersetzerin: Meike Mertsch

Software entwickeln mit Verstand

Konfigurationsmanagement mit Subversion, Maven und Redmine

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung

Die Kunst der JavaScript- Programmierung

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

Grundmann Rathner Abschlussprüfungen Bankwirtschaft, Rechnungswesen und Steuerung, Wirtschafts- und Sozialkunde

Kennzahlen in der IT

Heinrich Hemme, Der Mathe-Jogger 2

InDesign automatisieren

Rüdiger Zarnekow Lutz Kolbe. Green IT. Erkenntnisse und Best Practices aus Fallstudien

Handlungshilfen für Bildungsberater. Leitfaden. für die Bildungspraxis. Band 25. Organisation betrieblicher Weiterbildung

Das Google Analytics-Buch. Cathrin Tusche

Social Media Analytics & Monitoring

SEO Strategie, Taktik und Technik

Texten fürs Web: Planen, schreiben, multimedial erzählen. Stefan Heijnk. dpunkt.verlag. Das Handbuch für Online-Journalisten

Nicholas C. Zakas, JavaScript objektorientiert, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm

Die Bilanzierung von Dividenden nach HGB, Steuerbilanzrecht und IFRS

Medizinische Grundlagen der Heilpädagogik

Jochen Bartlau. List & Label. schnell + kompakt

ipad Air und ipad mini Retina

Abenteuer Softwarequalität

Der Autor ist seit dem Jahr 2001 bei der Firma GeNUA mbh als Security Consultant und gegenwärtig als Koordinator für Intrusion Detection tätig.

Die schriftliche Arbeit

Geschichten vom Scrum

Vladimir Simovic Thordis Bonfranchi-Simovic. Werkzeuge fürs Web. Nützliche Tools für Webdesigner, Webentwickler, Blogger und Online-Redakteure

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

Michael Firnkes

Dipl.-Inform. Arno Becker ist bei der visionera GmbH verantwortlich für den Bereich»Mobile Lösungen«. Nach langjähriger Erfahrung mit Java ME

Agile Softwareentwicklung in großen Projekten

Dipl.-Inform. Arno Becker Dipl.-Inform. Marcus Pant

Der Einfluss von Product Placement in Fashion Blogs auf das Kaufverhalten

SharePoint 2013 Mobile Access

HTML5- Apps. für iphone und Android. HTML5, CSS3 und jquery Mobile: Design, Programmierung und Veröffentlichung plattformübergreifender Apps

Soft Skills für Softwareentwickler

Transkript:

Philipp Friberg Web-Apps mit jquery Mobile Mobile Multiplattform-Entwicklung mit HTML5 und JavaScript

Philipp Friberg jqm@xapps.ch Lektorat: René Schönfeldt Copy Editing: Christoph Ecken, Heidelberg Herstellung: Frank Heidt Umschlaggestaltung: Helmut Kraus, www.exclam.de Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. ISBN: Buch 978-3-86490-056-3 PDF 978-3-86491-302-0 epub 978-3-86491-303-7 1. Auflage 2013 Copyright 2013 dpunkt.verlag GmbH Ringstraße 19B 69115 Heidelberg Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen. 5 4 3 2 1 0

v Inhaltsverzeichnis 1 Die Whisky-App 7 1.1 Szenario............................................... 7 1.2 Der Ergonomie-Workshop................................. 8 1.2.1 Was macht eine gute App aus?........................ 8 1.2.2 Designelemente.................................... 9 1.2.3 Zusammenfassung................................. 16 1.3 Ein Story-Board für die Whisky-APP........................ 17 1.3.1 Anforderungen................................... 17 1.3.2 Use-Case-Diagramm............................... 19 1.3.3 Story-Board...................................... 19 1.4 Zusammenfassung...................................... 23 2 Mobile Entwicklung 25 2.1 Der Einfluss des Browsers................................. 25 2.2 Entwicklungsumgebungen................................ 29 2.2.1 Eclipse.......................................... 29 2.2.2 Aptana Studio.................................... 29 2.2.3 IntelliJ IDEA..................................... 30 2.2.4 Adobe Dreamweaver ab CS5.5....................... 31 2.2.5 Eclipse Orion..................................... 31 2.3 JavaScript minimieren.................................... 32 2.4 Simulatoren........................................... 33 2.4.1 Android-Simulator................................ 33 2.4.2 ios-simulator.................................... 34 2.4.3 ios-emulatoren................................... 34 2.4.4 BlackBerry-Simulator.............................. 35 2.5 Paralleler Test.......................................... 36 2.6 Zusammenfassung...................................... 38

vi Inhaltsverzeichnis 3 Architektur von Web-Apps 39 3.1 JavaScript............................................. 39 3.2 Das Problem der ID...................................... 46 3.3 Wie die Logik vom GUI unabhängig wird..................... 47 3.4 Die Whisky-App-Logik................................... 56 4 Von HTML5 bis jquery Mobile 63 4.1 HTML5 und CSS3...................................... 63 4.2 Test-Bibliothek......................................... 68 4.3 jquery-tutorial......................................... 68 4.4 jquery-mobile-tutorial................................... 77 4.4.1 Die erste Webseite................................. 79 4.4.2 Grundgerüst der Whisky-App........................ 85 4.4.3 Externe Webseiten................................. 87 4.5 Inside jquery Mobile..................................... 88 4.5.1 Stack........................................... 88 4.5.2 Formatierung..................................... 89 4.5.3 data-role-attribut.................................. 91 4.6 Zusammenfassung....................................... 92 5 Der Whisky-App ein Gesicht geben 93 5.1 Modell und Controller an die View anbinden.................. 93 5.2 Themen............................................... 98 5.3 Formular-Elemente gruppieren............................. 99 5.3.1 Collapsible Sets................................... 99 5.3.2 Grid-Darstellung................................. 102 5.4 Die Formular-Elemente.................................. 104 5.4.1 Field-Container.................................. 104 5.4.2 Mini-Elemente................................... 105 5.4.3 Texteingabe.................................... 105 5.4.4 Datumseingabe................................... 107 5.4.5 Slider.......................................... 109 5.4.6 Rangesliders..................................... 110 5.4.7 Flip Toggle Switch................................ 110 5.4.8 Radio-Buttons................................... 111 5.4.9 Sternen-Wertung................................. 112 5.4.10 Checkbox....................................... 114 5.4.11 Select Options................................... 115

Inhaltsverzeichnis vii 5.4.12 Native Forms.................................... 117 5.4.13 Tooltips/Pop-ups................................. 117 5.4.14 Buttons........................................ 119 5.5 Form-Elemente in der Whisky-App......................... 121 5.5.1 View.......................................... 121 5.5.2 Controller...................................... 121 5.5.3 Eingabeprüfung.................................. 125 5.6 Die Listview als Ausgangspunkt........................... 129 5.6.1 Definieren der Listenstruktur........................ 130 5.6.2 Weitere Eigenschaften der Listview.................. 134 5.6.3 Erstellen der View................................ 135 5.7 Die jqm-tabelle...................................... 139 5.7.1 Reflow-Tabelle.................................. 140 5.7.2 Column-toggle-Tabelle............................ 142 5.8 Panels............................................... 143 5.9 Tablet-Feeling......................................... 147 5.10 App-Feeling.......................................... 152 5.10.1 Home-Icon..................................... 152 5.10.2 Vollbildmodus................................... 153 5.10.3 Startgrafik...................................... 154 5.11 Zusammenfassung..................................... 155 6 Whisky-App und HTML5-APIs 157 6.1 Datenbanken auf dem Mobile............................ 157 6.1.1 Web SQL....................................... 158 6.1.2 Indexed DB..................................... 165 6.2 Die eigene Location ermitteln............................. 169 6.2.1 Das Geolocation-Objekt........................... 170 6.2.2 Anpassungen an der View.......................... 175 6.2.3 Anpassungen im Controller......................... 177 6.2.4 Fortlaufende Beobachtung.......................... 179 6.2.5 Unterstützung................................... 182 6.3 Diagramme zeichnen................................... 182 6.3.1 Canvas........................................ 183 6.3.2 Browser-Unterstützung............................ 185 6.3.3 Flot........................................... 185

viii Inhaltsverzeichnis 6.4 Offline gehen.......................................... 189 6.4.1 Caching........................................ 189 6.4.2 Dynamische Manifest-Datei......................... 191 6.5 Zusammenfassung...................................... 193 7 Weitere jqm-themen 195 7.1 Das $.mobile-objekt.................................... 195 7.2 Page Loading Message................................... 196 7.3 Placeholder-Kontrast.................................... 196 7.4 Performance.......................................... 197 7.4.1 Transition...................................... 197 7.4.2 ThemeRoller.................................... 198 7.4.3 jquery-selektoren einschränken...................... 198 7.4.4 Events......................................... 198 7.4.5 Page Cache...................................... 200 7.4.6 HTML-Seiten vorladen............................ 200 7.4.7 live() und bind().................................. 200 7.4.8 Performance bei vielen Daten........................ 200 7.5 jquery-mobile-widgets.................................. 203 7.5.1 jqm-widget am Beispiel des Input-Elementes........... 204 7.5.2 Ein eigenes jqm-widget........................... 207 7.6 Konfiguration......................................... 209 7.6.1 Standard-Texte................................... 209 7.6.2 jqm-attribut.................................... 210 7.7 Page-Content-Wechsel................................... 211 7.8 Download-Builder...................................... 211 7.9 Eingabe-Events........................................ 211 8 Cloud-Kommunikation 213 8.1 Distillery autocomplete.................................. 213 8.1.1 Autocomplete.................................... 214 8.1.2 Ajax........................................... 215 8.1.3 Serverseite...................................... 219 8.1.4 Twitter-Beispiel.................................. 220 8.1.5 Daten zwischenspeichern........................... 222 8.2 Facebook-Integration................................... 225 8.2.1 App registrieren.................................. 226 8.2.2 API in der App integrieren.......................... 227 8.2.3 Die App freischalten und Marketing betreiben........... 234

Inhaltsverzeichnis ix 8.3 Backup.............................................. 235 8.3.1 Backup und Restore.............................. 235 8.3.2 Web Sockets.................................... 240 8.3.3 Unterstützung für Web Sockets...................... 241 8.4 Pusher............................................... 241 8.5 Zusammenfassung..................................... 245 9 Die Hybrid-App 247 9.1 PhoneGap............................................ 247 9.2 Whisky-App für ios.................................... 248 9.3 Whisky-App für Android................................ 256 9.4 Schüttelgeste.......................................... 261 9.5 Ein wenig Hintergrund.................................. 263 9.6 Apps veröffentlichen.................................... 264 9.6.1 Eine ios-app veröffentlichen....................... 264 9.6.2 Eine Android-App veröffentlichen.................... 269 9.7 Zusammenfassung..................................... 273 Anhang Anhang 277 A Produktiv-Setzung, Abschlussarbeiten...................... 277 B Web-Page-Umleitungen................................. 278 B.1 Umleitung auf Server definieren...................... 278 B.2 Umleitung in der HTML-Seite definieren............... 279 C Diagramm der Objekte.................................. 280 D Abkürzungen......................................... 280 E Literatur............................................. 281 F Link-Liste............................................ 282 Index 285