Presentation is loading. Please wait.

Presentation is loading. Please wait.

Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie.

Similar presentations


Presentation on theme: "Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie."— Presentation transcript:

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

3

4 Default Behavior

5

6

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

61

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

65

66 VIEW 1VIEW 2

67 One HTML page Multiple Views

68

69

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

91


Download ppt "Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie."

Similar presentations


Ads by Google