HTML 5 Appsfür iPhone und Android
von: Markus Spiering, Sven Haiges
Franzis, 2010
ISBN: 9783645200523
Sprache: Deutsch
361 Seiten, Download: 9207 KB
Format: PDF, auch als Online-Lesen
Cover | 1 | ||
Einführung | 5 | ||
Inhaltsverzeichnis | 17 | ||
1 Mobile Designprinzipien | 21 | ||
1.1 Mobiles Web- und Anwendungsdesign | 22 | ||
1.1.1 Application Prototyping mit Photoshop | 23 | ||
1.1.2 Interface Builder und andere Programme | 24 | ||
1.2 iPhone-typisches Design in der Praxis | 24 | ||
1.3 Erkennung von mobilen Browsern und Desktop-Browsern | 33 | ||
1.3.1 User-Agent mit JavaScript abfragen | 35 | ||
1.3.2 User-Agent mittels der .htaccess-Datei abfragen | 37 | ||
1.3.3 Geltungsbereiche der .htaccess-Datei auf dem Webserver | 37 | ||
1.3.4 Einen falschen User-Agent vorgeben | 40 | ||
1.4 CSS- und JavaScript-Frameworks | 41 | ||
1.4.1 iWebKit 5 | 41 | ||
1.4.2 Verwendete Ressourcen speichern | 46 | ||
1.4.3 Form-Elemente mit iWebKit 5 | 49 | ||
1.4.4 jQuery und jQTouch | 53 | ||
1.4.5 Formulare mit jQTouch | 63 | ||
1.4.6 jQTouch-Fehler für Radiobuttons | 66 | ||
1.4.7 Dynamische Inhalte | 66 | ||
1.5 HTML und Telefonfunktionen | 67 | ||
1.5.1 Telefonnummer benutzen | 68 | ||
1.5.2 SMS-Anwendung aufrufen | 69 | ||
1.5.3 E-Mails versenden | 69 | ||
1.5.4 Google Maps aufrufen | 71 | ||
1.6 iPhone-spezifisch: Web Apps, die den Browser verbergen | 75 | ||
1.6.1 Startup-Bildschirm und App-Icon mit jQTouch | 79 | ||
1.6.2 CSS-Gestaltung für Hoch- und Querformat | 80 | ||
2 HTML5 in der mobilen Webentwicklung | 83 | ||
2.1 Von HTML 4 nach HTML5 | 83 | ||
2.1.1 Syntaktische Unterschiede | 83 | ||
2.1.2 Character Encoding | 85 | ||
2.1.3 Der !doctype html | 85 | ||
2.2 Sprachliche Unterschiede | 85 | ||
2.2.1 Neue APIs | 87 | ||
2.2.2 Neue Input-Typen, Auto-Korrektur und Auto-Großschreibung | 87 | ||
2.3 Das canvas-Element | 91 | ||
2.3.1 Formen und Pfade | 96 | ||
2.3.2 Bilder | 101 | ||
2.3.3 Text | 104 | ||
2.3.4 Füllstil, Strichstil, Linienstil | 106 | ||
2.3.5 Verläufe, Muster, Schatten | 110 | ||
2.3.6 Transformationen | 114 | ||
2.3.7 Anordnung | 116 | ||
2.3.8 Diagramme mit Flot | 117 | ||
2.4 Audio und Video | 122 | ||
2.4.1 Audiowiedergabe | 123 | ||
2.4.2 MIME-Types | 125 | ||
2.4.3 Aufbau einer Videodatei | 126 | ||
2.4.4 Videocodecs | 127 | ||
2.4.5 Fehlerbehandlung | 135 | ||
2.4.6 Videoimplementierung mittels JavaScript-API | 137 | ||
2.4.7 2-pass Encoding – was ist das? | 140 | ||
2.5 Geolocation-API | 148 | ||
2.5.1 Privatsphäre und Sicherheit | 149 | ||
2.5.2 Feature Detection: Geolocation-API | 152 | ||
2.5.3 Arten der Positionsbestimmung | 155 | ||
2.5.4 Google Maps-API | 155 | ||
2.5.5 One-Shot-Positionsanfragen | 156 | ||
2.5.6 Ortungsmethoden | 160 | ||
2.5.7 PositionOptions genauer betrachtet | 162 | ||
2.5.8 Error-Callbacks | 166 | ||
2.5.9 WatchPosition – ständige Positionsupdates | 167 | ||
2.5.10 Reverse Geocoding mit Google Maps-API | 172 | ||
2.5.11 Georeferenzierte Fotos von Flickr einbinden | 176 | ||
2.5.12 Weitere georelevante API-Methoden bei Flickr | 184 | ||
2.5.13 Geolocation mit jQTouch einbinden | 185 | ||
2.5.14 Zusammenfassung und Ausblick | 187 | ||
2.6 Web Storage | 188 | ||
2.6.1 Feature Detection: Darf Web Storage benutzt werden? | 189 | ||
2.6.2 sessionStorage und localStorage | 190 | ||
2.6.3 Beispiele zu localStorage und sessionStorage | 192 | ||
2.6.4 Storage-Event | 199 | ||
2.7 Web SQL Database | 202 | ||
2.7.1 Grundlagen relationaler Datenbanken | 203 | ||
2.7.2 SQL-Basics | 203 | ||
2.7.3 Transaktionen | 206 | ||
2.7.4 Database-API | 206 | ||
2.7.5 Neue Datenbank in den iPhone-Einstellungen | 207 | ||
2.7.6 Daten speichern | 209 | ||
2.7.7 SQL Injection | 210 | ||
2.7.8 Daten aktualisieren | 211 | ||
2.7.9 Datenbank-Queries | 212 | ||
2.7.10 Daten löschen | 213 | ||
2.7.11 Schemamigration | 213 | ||
2.7.12 Web-SQL-Database: Notes-Beispielanwendung | 218 | ||
2.7.13 Datenbanken im Safari Web Inspector und in Google Chrome | 226 | ||
2.8 Offline Web Applications | 227 | ||
2.8.1 Grundlagen der Cache-Manifestdatei | 227 | ||
2.8.2 Feststellen, ob der Browser online ist | 229 | ||
2.8.3 Online-Whitelist und Fallback-Sektion | 229 | ||
2.8.4 Dynamische Erzeugung des Cache-Manifests | 231 | ||
2.9 Zusammenfassung | 237 | ||
3 Native Anwendungen erstellen | 239 | ||
3.1 Titanium vs. PhoneGap | 239 | ||
3.2 SDKs, IDEs und ADTs | 241 | ||
3.2.1 Entwicklungsumgebung für iOS-Entwicklung einrichten | 241 | ||
3.2.2 Entwicklungsumgebung für Android-Entwicklung einrichten | 243 | ||
3.2.3 PhoneGap installieren | 248 | ||
3.3 iOS-Apps mit PhoneGap entwickeln | 259 | ||
3.3.1 Eine Anwendung für iOS erstellen | 259 | ||
3.3.2 Einstellungen in der Info.plist-Datei | 273 | ||
3.3.3 Mit PhoneGap und Xcode direkt auf einem iOS-Gerät testen | 279 | ||
3.3.4 Native iOS-Systemfunktionen in PhoneGap einbinden | 283 | ||
3.3.5 Lokalisierte Button-Bezeichnungen | 288 | ||
3.3.6 Ladeanzeige in der Statusleiste | 296 | ||
3.3.7 Adressbucheinträge neu anlegen und abrufen | 296 | ||
3.3.8 Kamera und Fotobibliothek | 304 | ||
3.3.9 Geolocation | 308 | ||
3.3.10 Bewegungssensoren | 311 | ||
3.3.11 iPad-Apps mit PhoneGap erstellen | 314 | ||
3.4 Android Apps mit PhoneGap entwickeln | 319 | ||
3.4.1 Mit PhoneGap und Eclipse direkt auf einem Android-Gerät testen | 322 | ||
3.4.2 Eigene Programmsymbole erstellen und verwenden | 323 | ||
3.4.3 Einstellungen in der Datei AndroidManifest.xml | 326 | ||
3.4.4 Android-App mit Menüfunktionen versehen | 327 | ||
3.4.5 Original-Android-Grafiken in Ihren Projekten verwenden | 330 | ||
3.4.6 Native Android-Systemfunktionen integrieren | 330 | ||
3.4.7 Android und Kameraanwendungen | 332 | ||
3.4.8 Zusammenfassung | 334 | ||
4 Webanwendungen und native Apps veröffentlichen | 335 | ||
4.1 Apple Web Apps-Katalog | 335 | ||
4.1.1 Andere Vertriebsmöglichkeiten für Web Apps | 337 | ||
4.2 iTunes App Store | 338 | ||
4.3 Android Market | 347 | ||
4.3.1 App an Betatester schicken oder außerhalb des Android Market vertreiben | 352 | ||
4.3.2 App im Android Market veröffentlichen | 353 | ||
4.3.3 App im Android Market verkaufen | 354 | ||
Stichwortverzeichnis | 357 |