Download presentation
Presentation is loading. Please wait.
Published byJohnathan Shelton Modified over 9 years ago
1
Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie
2
Agenda Mobile web has differences 5 Steps for building awesome mobile apps Bootstrap jQuery Mobile Geolocation Offline
4
Default Behavior
7
Apps specifically built for mobile
8
Field data collection Deploy to App Store, Google Play Citizen 411 Finder apps Offline maps
9
Demo
10
Touch-aware map
11
esri/dijit/PopupMobile
12
Custom basemap switcher
13
Geolocation
14
Mobile devices are different Physical device Screen size Button sizes
15
User interactions are different Touch Orientation Onscreen keyboard Voice
16
Design pattern are different Fits smaller screens Screen orientation can rotate Mobile popups and overlays Touch-based navigation
17
Think mobile first! 320px
18
Mobile in 5 Steps
19
STEP 1 Get your data in order
20
STEP 2 Sketch, mockup, UI design
21
STEP 3 Choose web, hybrid or native
22
STEP 4 Choose a UX framework Single page, multiple page?
23
STEP 5 Iterate/Collaborate Build > Test > Repeat
24
Step #1 Get your data in order
25
Get your data in order Develop a schema Design tables and relationships Clean the data Test, test, test
26
Mobile ready data? Test query payload size Simplify polygons! Remove unneeded attributes Gzip-enabled web server
27
Step #2 Sketch, mockup, design
28
Sketch, mockup, UI design
29
Think mobile first Simplified menus Smaller map Map primary or secondary?
30
Step #3 Web, hybrid or native?
31
Web, hybrid or native? Native = Objective C, Java or C# Compiled to run on device OS Accesses device directly via native API
32
Web JavaScript, CSS skills Cross-browser, cross-device No special access needed to sensors No special storage needs
33
Web Web = Browser-based only HTML, CSS, JavaScript Access device via browser APIs
34
Hybrid Hybrid = Native Chrome-less browser plus HTML, CSS, JavaScript Example: PhoneGap/Cordova Compiled as a native application Accesses device via browser APIs & plug-ins
35
Hybrid JavaScript, CSS skills Cross-browser, cross-device Some special access needed to sensors Some special storage needs App Store and/or Google Play
36
Native Native = Objective C, Java or C# Compiled to run on device OS Accesses device directly via native API
37
Native Objective C, Java and/or C# skills High-performance requirements Special access needed to sensors Special storage needs Offline related tables, domains and subtypes
38
Native Better memory management Control over battery life App Store and/or Google Play
39
Step #4 Choose a UI framework
40
Choose a UI framework Single view Responsive design pattern Multiple views Fixed layout design pattern
41
Responsive Design Single web app that works well across a variety of devices/screen sizes Re-use content and software Considers –Device limitations –User’s behavior
42
1.Fluid Grid System 2.CSS Media Queries 3.HTML5, CSS & JavaScript Responsive Design
43
Fluid Grid System Layout adapts to different screen sizes Based on percentages 12 column / 960px
44
Demo Bootstrap Fluid Grid Bootstrap Fluid Grid
45
CSS Media Queries Detect device screen size and orientation Apply CSS at specific break points Typical: 480px, 768px, 1024px, 1280px
46
CSS Media Queries
47
http://getbootstrap.com/css/
48
Bootstrap Fluid Grid CSS Define Column Device Size Number of Columns
49
Responsive Grid Layouts
50
Large: 3 Rows - 3 Columns >= 1280px
51
Medium: 2 Columns 1024 - 1280px
52
Small: Single Column 768 - 1024px
53
Extra Small: 1 Column, Minimized =< 768px
54
Responsive Application
55
How-to Build a responsive app
56
Get bootstrap-map-js github.com/Esri/bootstrap-map-js
57
Hello World
58
Add package path
59
Add jQuery & bootstrap.js
60
Add JS API and BootstrapMap
62
How-to Build a Multiple-view app
63
Multiple-View Design Framework for single page apps with multiple views Similar to native look, feel and behavior Cross-browser
64
Desktop vs. Device
66
VIEW 1VIEW 2
67
One HTML page Multiple Views
70
Get jquery-mobile-map-js https://github.com/Esri/jquery-mobile-map-js
71
Add Some CSS
72
Add a little more CSS
73
Add 2 pages
74
Add jQuery & bootstrap.js
75
Add jQuery & ArcGIS JS API
76
Add the map
77
VIEW 1 VIEW 2
78
Step #5 Build > test > repeat
79
Build > test > repeat Optimize CSS Concatenate JS files Use ArcGIS Web Optimizer Minify & gzip
80
Geolocation
81
Works online and offline Approximate location Always requires user opt-in
82
Offline JS
83
Intermittent or no internet Ability to reload or restart app offline Lightweight cross-browser functionality Github.com/esri/Offline-editor-js
84
Offline JS Offline tiled maps for small areas Offline editing and basic attachments Offline TPKs (Tile Packages) Github.com/esri/Offline-editor-js
85
Offline JS Need a full features, robust offline solution? ArcGIS Runtime SDKs Integrated offline support for editing and sync Support for related tables, domains, subtypes and more.
86
Wrap-up Mobile web has differences 5 Steps for building awesome mobile apps Bootstrap jQuery Mobile Geolocation Offline
87
Resources github.com/lheberlie/mobile-webapps- js/blob/develop/Resources.md github.com/lheberlie/phonegap-jquerym-js
88
Related Sessions Optimizing your JavaScript App for Performance Demo Theater 7 Wed. 4:30pm
89
Andy Gup agup@esri.com @agup Lloyd Heberlie lheberlie@esri.com @lheberlie
90
Thank you… Please fill out the session survey in your mobile app Select Strategies for Building Mobile Apps Using ArcGIS API for JavaScript in the Mobile App - Use the Search Feature to quickly find this title Click “Technical Workshop Survey” Answer a few short questions and enter any comments
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.