building mobile web apps with arcgis api for javascript€¦ · mobile web app . mobile strategy...
TRANSCRIPT
![Page 1: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/1.jpg)
Building Mobile Web Apps with ArcGIS API for JavaScript
Kelly Hutchins, Lloyd Heberlie
![Page 2: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/2.jpg)
Agenda
•Mobile landscape • Setup, Development, and Deployment • Design considerations • Debugging and Testing
![Page 3: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/3.jpg)
Why are we here?
![Page 4: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/4.jpg)
Lloyd Heberlie
mobile web app
![Page 5: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/5.jpg)
Mobile strategy
• Web - You are here!
• Hybrid - Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and JQuery
• Native - Building iOS Apps with ArcGIS Runtime SDK - Building Android Apps with ArcGIS Runtime SDK - Building Windows Store and Windows Phone Apps with ArcGIS Runtime SDK
![Page 6: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/6.jpg)
Application comparison
Web
Development Cost Reasonable
Development Time Short
App Portability High
Performance Fast
Native Functionality No
App Store Distribution No
Extensible No
PhoneGap Day - IBM, PhoneGap and the Enterprise by Bryce Curtis
![Page 7: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/7.jpg)
Application comparison
Hybrid
Development Cost Reasonable
Development Time Short
App Portability High
Performance Native speed if needed
Native Functionality All
App Store Distribution Yes
Extensible Yes
PhoneGap Day - IBM, PhoneGap and the Enterprise by Bryce Curtis
![Page 8: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/8.jpg)
Application comparison
Native
Development Cost Expensive
Development Time Long
App Portability None
Performance Very Fast
Native Functionality All
App Store Distribution Yes
Extensible Yes
PhoneGap Day - IBM, PhoneGap and the Enterprise by Bryce Curtis
![Page 9: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/9.jpg)
Further reading
http://esriurl.com/7478
![Page 10: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/10.jpg)
Why you should care?
• Mobile was winning, it has already won • Sales: > • 2014: >
Pope Francis’ Debut
![Page 11: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/11.jpg)
Why is mobile different?
• Never assume anything • Interactions are often short and focused
- (~20 – 30 seconds) • Minimize typing and input • Often exclusively touch based
![Page 12: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/12.jpg)
Why is mobile different?
• Minimal screen real estate • Hardware and OS change rapidly • Mobile value chain • Many want same access as desktop • App life-span varies, must be easy and intuitive
![Page 13: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/13.jpg)
Know your geographic region
• Global device market is misleading • Each country is really its own device market • Demographics, cultural differences, disposable income
![Page 14: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/14.jpg)
Know your audience
• Web Analytics Software • Collect your own User/Agent data • Use collected data: StatCounter, NetMarketShare, Akamai
![Page 15: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/15.jpg)
North America Market Nov 2013 – Jan 2014
iPhone 47%
Android 30%
Chrome 10%
Browser Market Share
iPhoneAndroidChromeBlackBerryiPod TouchOperaIEMobileUC BrowserOther
iOS 52% Android
40%
BB OS 4%
OS Market Share
iOS
Android
BlackBerryOSWindowsPhoneSeries 40
UnknownStatCounter GlobalStats
![Page 17: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/17.jpg)
Form Factors
![Page 18: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/18.jpg)
Differentiation / Fragmentation
• Device lifecycle • Device default browser • OS updates • Mobile Value Chain
![Page 19: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/19.jpg)
Closing thoughts
• Never assume anything • Start testing today • Focus on trends rather than tiny stats • Start collecting your own data • Sales market share < install base < browser market share
![Page 20: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/20.jpg)
Agenda
• Mobile landscape
•Setup, Development, and Deployment • Design considerations • Debugging and Testing
![Page 21: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/21.jpg)
Setup a developer machine
Source Control
Code quality and verification
web server
![Page 22: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/22.jpg)
JavaScript toolkit / framework
![Page 23: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/23.jpg)
JavaScript toolkit / framework
Jan 2014
Jan 2012
Jan 2011
Jan 2013
![Page 24: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/24.jpg)
ArcGIS API for JavaScript
• Current options • Web Optimizer • Resource-proxy
![Page 25: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/25.jpg)
Deploying your code
• Minification • Uglify
![Page 26: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/26.jpg)
Agenda
• Mobile landscape • Setup, Development, and Deployment
•Design considerations • Debugging and Testing
![Page 27: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/27.jpg)
Design Guidelines
![Page 29: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/29.jpg)
Looking for Design Ideas? http://www.mobile-patterns.com
![Page 30: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/30.jpg)
Touch aware map
![Page 31: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/31.jpg)
Mobile specific widgets
![Page 32: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/32.jpg)
HTML 5 input types
•
![Page 34: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/34.jpg)
Device Access Beginning with the GeoLocation API Devices can present rich, device-aware features and experiences.
![Page 36: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/36.jpg)
When Can I Use ….
![Page 37: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/37.jpg)
Feature Detection
• Modernizer • Has
![Page 38: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/38.jpg)
Agenda
• Mobile landscape • Setup, Development, and Deployment • Design considerations
•Debugging and Testing
![Page 39: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/39.jpg)
Emulators / Simulators Opera Mobile Emulator iOS Simulator * Windows Phone Emulator * Android Emulator
![Page 40: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/40.jpg)
Physical devices
![Page 41: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/41.jpg)
Browser based testing
![Page 42: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/42.jpg)
Remote debugging
• Safari Web Inspector Remote • Google Chrome remote debugging • Adobe Edge Inspect
- Synchronized screen capture, device details - Node.js (weinre local)
• Web Inspector Remote (weinre)
![Page 43: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/43.jpg)
Enable Safari remote web inspection
![Page 44: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/44.jpg)
Safari remote debugging
![Page 45: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/45.jpg)
Safari remote debugging
![Page 46: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/46.jpg)
Chrome remote debugging
![Page 47: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/47.jpg)
Chrome remote debugging
![Page 48: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/48.jpg)
Adobe Edge Inspect
![Page 49: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/49.jpg)
Adobe Edge Inspect
![Page 50: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/50.jpg)
Adobe Edge Inspect
device_model = iPhone device_res = 1136x640 orientation = portrait os_name = iOS os_version = 7.0.4 pixel_density = 326 ppi
device_model = LGE Nexus 5 device_res = 1080x1776 orientation = portrait os_name = Android os_version = 4.4.2 pixel_density = 480 dpi
device_model = iPad device_res = 1024x768 orientation = landscape os_name = iOS os_version = 7.0.4 pixel_density = 132 ppi
![Page 51: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/51.jpg)
iOS network simulation
![Page 52: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/52.jpg)
Android network speed emulation
command Option <speed> kilobits/sec
emulator -netspeed <named value> emulator -netspeed <num> (both) emulator -netspeed <up>:<down> emulator -netspeed gsm emulator -netspeed 14.4 80 emulator -netspeed 40.0
![Page 53: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/53.jpg)
Other network simulation options
• Fiddler (Windows) • Charles Network Debugging proxy • Network Link Conditioner (Mac OS) • Dummynet
![Page 54: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/54.jpg)
Lloyd Heberlie
Remote Debugging
![Page 55: Building Mobile Web Apps with ArcGIS API for JavaScript€¦ · mobile web app . Mobile strategy • ... Hybrid -Building Native Apps with ArcGIS API for JavaScript Using PhoneGap](https://reader031.vdocuments.mx/reader031/viewer/2022012921/5eda54f7b3745412b57129a9/html5/thumbnails/55.jpg)
Questions?
esri.com/events/devsummit/session-rater