Muutke küpsiste eelistusi

Programming the Mobile Web 2nd edition [Pehme köide]

  • Formaat: Paperback / softback, 512 pages
  • Ilmumisaeg: 07-May-2013
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1449334970
  • ISBN-13: 9781449334970
Teised raamatud teemal:
  • Pehme köide
  • Hind: 48,27 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 56,79 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 512 pages
  • Ilmumisaeg: 07-May-2013
  • Kirjastus: O'Reilly Media
  • ISBN-10: 1449334970
  • ISBN-13: 9781449334970
Teised raamatud teemal:
Shows how to build HTML and CSS-based applications that can access GPS tools, calendars, and other mobile features and discusses the variations of such platforms as Symbian, BlackBerry, and Android.

With the second edition of this popular book, you’ll learn how to build HTML5 and CSS3-based apps that access geolocation, accelerometer, multi-touch screens, offline storage, and other features in today’s smartphones, tablets, and feature phones. The market for mobile apps continues to evolve at a breakneck pace, and this book is the most complete reference available for the mobile web.

Author and mobile development expert Maximiliano Firtman shows you how to develop a standard app core that you can extend to work with specific devices. This updated edition covers many recent advances in mobile development, including responsive web design techniques, offline storage, mobile design patterns, and new mobile browsers, platforms, and hardware APIs.

  • Learn the particulars and pitfalls of building mobile websites and apps with HTML5, CSS, JavaScript and responsive techniques
  • Create effective user interfaces for touch devices and different resolution displays
  • Understand variations among iOS, Android, Windows Phone, BlackBerry, Firefox OS, and other mobile platforms
  • Bypass the browser to create native web apps, ebooks, and PhoneGap applications
  • Build apps for browsers and online retailers such as the App Store, Google Play Store, Windows Store, and App World
Preface xvii
1 The Mobile Jungle
1(34)
The Mobile Ecosystem
1(8)
What Is a Mobile Device?
1(2)
Mobile Device Categories
3(6)
Brands, Models, and Platforms
9(23)
Apple iOS
9(4)
Android
13(4)
Windows
17(3)
Nokia
20(4)
BlackBerry
24(2)
Samsung
26(1)
Sony Mobile
27(1)
Motorola Mobililty
27(1)
Amazon
28(1)
LG Mobile
28(1)
HTC
29(1)
HP and Palm
29(1)
Firefox OS
30(1)
Ubuntu for Phones
30(1)
Chinese Platforms
31(1)
Other Platforms
31(1)
Smart TV Platforms
31(1)
Technical Information
32(3)
2 Understanding the Mobile Web
35(28)
Myths of the Mobile Web
35(3)
It's Not the Mobile Web; It's Just the Web!
35(1)
You Don't Need to Do Anything Special About Your Desktop Website
36(1)
One Website Should Work for All Devices (Desktop, Mobile, TV)
36(1)
Just Create an HTML File with a Width of 320 Pixels, and You Have a Mobile Website
37(1)
Native Mobile Applications Will Kill the Mobile Web
37(1)
People Are Not Using Their Mobile Browsers
37(1)
What Is the Mobile Web?
38(1)
Differences
38(1)
Mobile Web Eras
39(4)
WAP 1
39(2)
WAP 2.0
41(2)
The Mobile Browsing Experience
43(7)
Navigation Methods
43(2)
Zoom Experience
45(1)
Reflow Layout Engines
46(1)
Direct Versus Cloud-Based Browsers
47(1)
Multipage Experience
48(1)
Web Engines
49(1)
Fragmentation
50(10)
Display
50(8)
Input Methods
58(2)
Other Features
60(1)
Market Statistics
60(3)
3 Browsers and Web Platforms
63(26)
Web Platforms That Are Not Browsers
64(9)
HTML5 Web Apps
64(3)
Web Views
67(1)
Pseudo-Browsers
68(1)
Native Web Apps, Packaged Apps, and Hybrids
69(3)
Ebooks
72(1)
Mobile Browsers
73(16)
Preinstalled Browsers
73(9)
User-Installable Browsers
82(5)
Browser Overview
87(2)
4 Tools for Mobile Web Development
89(38)
Working with Code
89(2)
Adobe Dreamweaver
89(1)
Adobe Edge Tools
90(1)
Microsoft Visual Studio and WebMatrix
91(1)
Eclipse
91(1)
Native Web IDEs
91(1)
Testing
91(33)
Emulators and Simulators
92(22)
Real Device Testing
114(2)
Remote Labs
116(8)
Production Environment
124(3)
Web Hosting
125(1)
Domain
125(1)
Error Management
125(1)
Statistics
126(1)
5 Architecture and Design
127(26)
Mobile Strategy
127(13)
When to Get Out of the Browser
127(3)
Context
130(1)
Server-Side Adaptation
131(1)
Progressive Enhancement
132(2)
Responsive Web Design
134(5)
RESS
139(1)
Navigation
140(1)
Design and User Experience
141(12)
Touch Design Patterns
145(3)
Tablet Patterns
148(1)
Official UI Guidelines
149(1)
What Not to Do
149(4)
6 Markups and Standards
153(28)
First, the Very Old Ones
153(5)
WML
154(4)
Current Standards
158(6)
Politics of the Mobile Web
159(1)
Delivering Markup
160(4)
XHTML Mobile Profile and Basic
164(5)
Available Tags
165(1)
Official Noncompatible Features
166(1)
Creating Our First Compatible Template
167(2)
Markup Additions
169(1)
Mobile HTML5
169(3)
Creating Our First HTML5 Template
170(1)
Syntax Rules
171(1)
New Elements
172(1)
CSS for Mobile
172(5)
WCSS Extensions
172(4)
CSS3
176(1)
HTML5 Compatibility Levels
177(4)
Testing Your Browser
177(4)
7 Basics of Mobile HTML5
181(54)
The Document Head
181(43)
Title
181(2)
Website Icons
183(4)
Home Screen Icons
187(13)
The Viewport
200(15)
Changing the Navigation Method
215(1)
Removing Automatic Links
216(1)
Metadata for Sharing
216(2)
Hiding the URL Address Bar
218(2)
Native App Integration
220(4)
The Document Body
224(3)
Main Structure
225(2)
HTML5 Mobile Boilerplate
227(1)
The Content
228(7)
Block Elements
228(1)
Lists
228(1)
Tables
229(1)
Frames
229(1)
Links
230(2)
Accessibility
232(3)
8 HTML5 Forms
235(44)
Form Design
235(3)
Form Elements
238(28)
Select Lists
238(3)
Radio Buttons and Checkboxes
241(1)
Buttons
242(1)
Hidden Fields
243(1)
Text Input Fields
243(11)
Range Slider Fields
254(1)
Date Input Fields
255(2)
File Selection Fields
257(7)
Noninteractive Form Elements
264(2)
Form Control Attributes
266(4)
Placeholder
266(1)
autofocus
267(1)
autocomplete
267(1)
readonly
268(1)
Input Validation Attributes
268(1)
Safari Extensions
268(1)
Firefox Extensions
268(1)
XHTML Mobile inputmode
269(1)
Additional Form Attributes
270(1)
Form Validation
270(9)
HTML5 Validation
271(4)
WAP CSS Validation
275(4)
9 Feature and Device Detection
279(52)
Possible Problems
279(2)
Possible Solutions
280(1)
Informational Websites
281(3)
Can I Use
282(1)
MobileHTML5.org
282(2)
WebPlatform.org
284(1)
Client-Side Detection
284(16)
HTML Fallbacks
284(1)
CSS Fallbacks
285(1)
Vendor Prefixes
286(4)
JavaScript Fallbacks
290(2)
Modernizr
292(5)
Polyfills
297(1)
Platform Detection
298(2)
Server-Side Detection
300(31)
HTTP
300(7)
Detecting the Context
307(2)
Cloud-Based Browsers
309(2)
Mobile Detection
311(1)
Transcoders
312(1)
Device Libraries
313(18)
10 Images and Media
331(52)
Images
331(11)
Image Formats
331(5)
Using the img Element
336(1)
Responsive Images
337(3)
Local Pictograms
340(2)
Dealing with Multiple Screen Densities
342(23)
Using Vector-Based Solutions
343(1)
Providing One Single Image
344(2)
Providing Image Alternatives
346(4)
SVG
350(7)
Canvas
357(8)
Adobe Flash
365(3)
Video
368(11)
Containers and Codecs
368(2)
Delivering Video
370(1)
The HTML5 video Element
370(6)
Streaming
376(2)
Embedding with object
378(1)
Video Compatibility
378(1)
Audio
379(4)
Invisible Audio Player
380(1)
Web Audio API
380(1)
Audio Compatibility
381(2)
11 CSS for Mobile Browsers
383(68)
Where to Insert the CSS
383(1)
Media Queries
384(8)
CSS3 Media Queries
385(7)
Selectors
392(1)
CSS Techniques
393(11)
Reset CSS Files
393(2)
Text Formatting
395(9)
Common Patterns
404(18)
Display Properties
404(4)
Rounded Corners
408(1)
Border Image
409(4)
Pseudoclasses
413(1)
Backgrounds
413(1)
Scrollable Areas
414(1)
Content
415(1)
Opacity
416(1)
Cursor Management
416(1)
Selection Management
417(3)
Touch Callout
420(1)
Highlight Color
421(1)
Appearance Override
421(1)
CSS Sprites
422(5)
Samples and Compatibility
422(5)
CSS Sprites Alternatives
427(1)
CSS3 Modules
427(24)
Gradients
428(3)
Reflection
431(1)
Masks
432(1)
Transforms
433(6)
Transitions
439(3)
Animations
442(4)
CSS Filter Effects
446(1)
CSS Regions and Exclusions
447(1)
New CSS Values and Units
448(3)
12 JavaScript Mobile
451(50)
Coding for Mobile Browsers
452(3)
HTML5 Script Extensions
453(1)
Code Execution
453(1)
Cloud-Based Browsers
454(1)
JavaScript Debugging and Profiling
455(1)
Battery Consumption
455(1)
Background Execution
456(7)
Status Detection
457(3)
Background Tab Notification Trick
460(1)
Background Execution Compatibility
461(1)
Push Notifications
462(1)
Supported Technologies
463(4)
The Document Object Model
463(1)
The Selectors API
463(1)
JSON
464(1)
Binary Data
464(1)
Web Workers
464(2)
HTML5 APIs
466(1)
Native Web App APIs
466(1)
Standard JavaScript Behavior
467(17)
Standard Dialogs
467(3)
History and URL Management
470(1)
Manipulating Windows
471(1)
Focus and Scroll Management
472(1)
Timers
473(3)
Changing the Title
476(1)
Cookie Management
476(1)
Event Handling
477(7)
JavaScript Libraries
484(3)
Mobile Libraries
485(2)
UI Frameworks
487(14)
Sencha Touch
488(1)
jQuery Mobile
489(1)
Enyo
490(1)
Montage
491(1)
iUI
492(1)
jQTouch
493(2)
JavaScript Mobile UI Patterns
495(6)
13 Offline Apps, Storage, and Networks
501(28)
Offline Web Apps
501(10)
The Manifest File
502(1)
Accessing Online Resources
503(1)
Updating the Package
504(1)
Deleting the Package
505(1)
The JavaScript API
506(2)
Compatibility and Limits
508(3)
Client-Side Storage
511(11)
Web Storage
511(3)
The Web SQL Database API
514(4)
The IndexedDB API
518(2)
The FileSystem API
520(1)
User Intervention
521(1)
Debugging Storage
521(1)
Network Communication
522(7)
Ajax
522(3)
Server Sent Events
525(2)
WebSockets
527(2)
14 Geolocation and Maps
529(24)
Location Techniques
529(5)
Accuracy
529(1)
Indoor Location
529(1)
Client Techniques
530(2)
Server Techniques
532(1)
Asking the User
533(1)
Detecting the Location
534(7)
The W3C Geolocation API
534(5)
Carrier Network Location APIs
539(1)
IP Geolocation
540(1)
Maps/Navigation App Integration
541(5)
Google Maps for Android
541(2)
iOS Maps
543(2)
Bing Maps
545(1)
Showing a Map
546(7)
Google Maps API v3
546(3)
Google Maps Static API
549(1)
Nokia Here
550(3)
15 Device Interaction
553(44)
Mobile-Specific URIs
553(11)
Making a Call
554(2)
Sending Email
556(1)
Sending an SMS
557(1)
Other Communication Apps
558(1)
Adding a Contact to the Phonebook
559(1)
Integrating with Other Applications
560(4)
JavaScript APIs
564(33)
Touch
564(8)
Gestures
572(7)
Sensors
579(4)
Network Information
583(2)
File Management
585(2)
Full Screen
587(1)
Web Notifications
588(2)
Camera
590(3)
Battery
593(1)
Vibration
593(1)
Other APIs
594(3)
16 Native and Installed Web Apps
597(58)
Web App Pros and Cons
598(1)
Architecture of a Web App
599(2)
Meta Configuration
599(1)
Platform Access
600(1)
Data Storage
600(1)
Network Access
600(1)
Logic
600(1)
User Interface
601(1)
Packaging
601(1)
Distribution
601(1)
Standards
601(1)
Packaging and Configuration Standards
601(1)
Official Platforms
602(42)
iOS Web Apps
602(10)
Symbian Standalone Web Apps
612(1)
Windows 8 Store Apps
613(6)
Mozilla Open Web Apps
619(5)
Chrome Apps
624(1)
Samsung Web Apps
624(1)
BlackBerry Web Works Apps
624(8)
Nokia S40 Web Apps
632(5)
Nokia Symbian Web Apps
637(7)
Apache Cordova/PhoneGap Apps
644(6)
Template Creation
646(1)
Cordova Web View
646(1)
CordovaJS
647(3)
Plug-ins
650(1)
Distribution
650(2)
iOS App Store
650(1)
Android Stores
651(1)
BlackBerry App World
651(1)
Microsoft Windows Store
651(1)
Microsoft Windows Phone Store
651(1)
Full-Screen App Patterns
652(3)
Multiple Views
652(1)
Layout
652(1)
Input Method
652(1)
One-View Widget
653(1)
Dynamic Application Engine
653(1)
Reload My Web App
653(2)
17 Content Delivery
655(16)
MIME Types
655(3)
Static Definition
655(2)
Dynamic Definition
657(1)
File Delivery
658(4)
Direct Linking
658(1)
Delayed Linking
658(1)
OMA Download
659(3)
Application and Games Delivery
662(5)
iOS Applications
663(2)
Android Applications
665(1)
Windows Applications
666(1)
Java ME
667(4)
18 Debugging and Performance
671(24)
Debugging
671(15)
Server-Side Debugging
671(5)
Markup Debugging
676(2)
Client-Side Debugging
678(8)
Performance Optimization
686(9)
Measurement
686(3)
Best Practices
689(6)
19 Distribution and Social Web 2.0
695(14)
Mobile SEO
695(3)
Spiders and Discoverability
696(1)
Mobile Sitemaps
696(2)
How Users Find You
698(3)
SMS Invitation
698(1)
Email Invitation
699(1)
Mobile Tiny URL
699(1)
QR Codes
699(2)
NFC Tags
701(1)
User Fidelizing
701(3)
Web Shortcuts
702(1)
RSS
702(1)
Open Search
702(1)
Apple Passbook
703(1)
Mobile Web Statistics
704(1)
Google Analytics for Mobile
704(1)
Yahoo! Web Analytics
705(1)
Mobilytics
705(1)
Monetizing Your Website
705(1)
Mobile Advertisements
705(1)
Mobile Web Social Features
706(3)
Authentication and Sharing APIs
706(1)
Sharing Content
707(2)
A MIME Types for Mobile Content 709(4)
Index 713
Maximiliano Firtman, @firt, is a developer focused on mobile and HTML5 development. He is a trainer in mobile technologies and founder of ITMaster Professional Training. He is the author of many books, including Programming the Mobile Web (O'Reilly). He has spoken at international conferences such as OSCON, Velocity, Breaking Development, GOTO Europe, Campus Party, QCon, and Adobe en Vivo. He has been an Adobe Community Professional since 2011 and a Nokia Developer Champion since 2006, and he has developed many mobile-related projects, such as MobileHTML5.org, MobileTinyURL.com, and iWebInspector.com. He maintains a mobile web development blog at MobileXweb.com. He is an expert in native and HTML5 web development, including iOS, Android, PhoneGap, and jQuery technologies.