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

Slides:



Advertisements
Similar presentations
What is jQuery Mobile? How to use it? Doncho Minkov Telerik Corporation Technical Trainer.
Advertisements

SharePoint Mobile Improving efficiency of the mobile workforce Anthony Pham Product Support Manager KWizCom
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Mobile Overview.
Creation of hybrid portlet application for file download using IBM Worklight and IBM Rational Application Developer v9 Gaurav Bhattacharjee Lakshmi Priya.
Batch Geocoding Online Bruce Harold
Tips for working with disconnected web mapping apps Andy Gup, Javier Abadia.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
Branding in SharePoint #SPcincy2013 on Twitter Open wireless access is available. Feel free to Tweet (#SPcincy2013) and.
Best Design Practices Using the Qt Runtime SDK (using QML)
| imodules.com Making Your Site Mobile-Ready Presented by Chris Smith and Mark Werner.
Developing Windows Desktop and Device Apps with the ArcGIS Runtime SDK for.NET Rex Hansen Thad Tilton.
Building Native Mapping Apps with PhoneGap: Advanced Techniques
Building Offline Apps With the ArcGIS Runtime SDKs
Copyright 2012 Adobe Systems Incorporated. All rights reserved. ® Copyright 2010 Adobe Systems Incorporated. All rights reserved. ® Copyright 2012 Adobe.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Web Going Foward.
Don Kuehne, Product Manager CAD/AEC Karen Hodge, CAD Lead Developer
Data Interoperability Basics Bruce Harold & Dale Lutz.
Enabling High-Quality Printing in Web Applications
Leveraging ArcGIS Online Elevation and Hydrology Services
Working with Metadata in ArcGIS Aleta Vienneau. Working with metadata in ArcGIS View metadata Edit metadata Set your metadata style Leverage metadata.
ArcGIS Pro: Mapping and Visualization Craig Williams, Edie Punt, &
Esri Roads and Highways: An Introduction to Roadway Reporter
Preparing and Deploying Data to ArcPad Juan Luera.
Getting the most out of ArcGIS Web Application Templates
ArcGIS Runtime SDK for iOS: Debugging Offline Feature Editing Garima Bradley &)&) &)&)
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
Drive Your Order Management with GIS Optimizing Delivery of Service to Location Rodney Conger – Dave Lewis.
Tips & Tricks using Mobile Devices with ArcPad and ArcGIS for Windows Mobile Kevin Burke and Juan Luera.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
Esri UC 2014 | Demo Theater | Using ArcPad in the Field Juan Luera.
Using Enterprise Logins in Portal for ArcGIS via SAML Greg Ponto & Tom Shippee.
Navigator for ArcGIS – Tech Preview Mark Bockenhauer Scott Sandusky.
Using the Operations Dashboard for ArcGIS Jay Chen / Tif Pun.
Trimble GeoCollector for ArcGIS: An Introduction Morgan Zhang (Esri), Matthew Morris (Trimble)
Network Analyst in ArcGIS Pro Scott Sandusky. Network Analyst in ArcGIS Pro This session covers how to use Network Analyst in ArcGIS Pro. It will also.
ArcGIS Workflow Manager: Getting Started with Out-of-the-Box Templates Michael Broadbent.
Esri UC 2014 | Technical Workshop | Developing Offline Apps with ArcGIS Runtime SDKs Euan Cameron Justin Colville Will Crick.
Extend the Operations Dashboard with Custom Widgets (and more)
Working with Feature Services Gary MacDougall Russell Brennan.
Getting the most out of ArcMap Jack Horton & Jorge Ruiz-Valdepeña.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
ArcGIS Editor for OpenStreetMap: Contributing Data Christine White.
Extending the Operations Dashboard
Road Ahead for Vector Mapping
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and jQuery Andy Gup, Lloyd Heberlie.
Collector for ArcGIS: Tips and Tricks Morgan Zhang Li Lin.
ArcGIS Online: Sharing your Content Ben Ramseth John Thieling.
Introduction to Bootstrap
Advanced workflows for creating 3D Web Scenes in ArcGIS Online Javier Gutierrez and Janett Baresel.
Optimizing Your JavaScript App for Performance Lloyd Heberlie Dasa Paddock Rene Rubalcava.
Developing Cross Platform Apps with the ArcGIS Runtime SDK for Qt
LESSON 15 – UNIT 0 ADAPTING YOUR WEB SITE FOR MOBILE DEVICES.
Make Mobile Work For You Dave Lewis. Why Mobile GIS? Key Business Drivers for Field Operations Empowering Field Operations with Data Replace paper maps.
François Briard GS-AIS-HR Database Developers Forum, APEX 6th May 2014 APEX Mobile Application Development 101.
GeoPlanner for ArcGIS Configuring for Use in Your Organization Robert Stauder / Joe Liao.
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
If you are thinking about developing mobile application for your customer, this is an important aspect to consider the platform.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
Implementing Responsive Design
Administering Your ArcGIS Organization Through Scripting
Enhancing Web Map Performance in ArcGIS Online
Shankar Chandrasekaran
Making Your Site Mobile-Ready
Best Practices: Authoring Maps for Field Use
ModelBuilder – Getting Started
Authoring Effective Maps For Collector
Esri Roads and Highways An Introduction
Presentation transcript:

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

Agenda Mobile web has differences 5 Steps for building awesome mobile apps Bootstrap jQuery Mobile Geolocation Offline

Default Behavior

Apps specifically built for mobile

Field data collection Deploy to App Store, Google Play Citizen 411 Finder apps Offline maps

Demo

Touch-aware map

esri/dijit/PopupMobile

Custom basemap switcher

Geolocation

Mobile devices are different Physical device Screen size Button sizes

User interactions are different Touch Orientation Onscreen keyboard Voice

Design pattern are different Fits smaller screens Screen orientation can rotate Mobile popups and overlays Touch-based navigation

Think mobile first! 320px

Mobile in 5 Steps

STEP 1 Get your data in order

STEP 2 Sketch, mockup, UI design

STEP 3 Choose web, hybrid or native

STEP 4 Choose a UX framework Single page, multiple page?

STEP 5 Iterate/Collaborate Build > Test > Repeat

Step #1 Get your data in order

Get your data in order Develop a schema Design tables and relationships Clean the data Test, test, test

Mobile ready data? Test query payload size Simplify polygons! Remove unneeded attributes Gzip-enabled web server

Step #2 Sketch, mockup, design

Sketch, mockup, UI design

Think mobile first Simplified menus Smaller map Map primary or secondary?

Step #3 Web, hybrid or native?

Web, hybrid or native? Native = Objective C, Java or C# Compiled to run on device OS Accesses device directly via native API

Web JavaScript, CSS skills Cross-browser, cross-device No special access needed to sensors No special storage needs

Web Web = Browser-based only HTML, CSS, JavaScript Access device via browser APIs

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

Hybrid JavaScript, CSS skills Cross-browser, cross-device Some special access needed to sensors Some special storage needs App Store and/or Google Play

Native Native = Objective C, Java or C# Compiled to run on device OS Accesses device directly via native API

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

Native Better memory management Control over battery life App Store and/or Google Play

Step #4 Choose a UI framework

Choose a UI framework Single view Responsive design pattern Multiple views Fixed layout design pattern

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

1.Fluid Grid System 2.CSS Media Queries 3.HTML5, CSS & JavaScript Responsive Design

Fluid Grid System Layout adapts to different screen sizes Based on percentages 12 column / 960px

Demo Bootstrap Fluid Grid Bootstrap Fluid Grid

CSS Media Queries Detect device screen size and orientation Apply CSS at specific break points Typical: 480px, 768px, 1024px, 1280px

CSS Media Queries

Bootstrap Fluid Grid CSS Define Column Device Size Number of Columns

Responsive Grid Layouts

Large: 3 Rows - 3 Columns >= 1280px

Medium: 2 Columns px

Small: Single Column px

Extra Small: 1 Column, Minimized =< 768px

Responsive Application

How-to Build a responsive app

Get bootstrap-map-js github.com/Esri/bootstrap-map-js

Hello World

Add package path

Add jQuery & bootstrap.js

Add JS API and BootstrapMap

How-to Build a Multiple-view app

Multiple-View Design Framework for single page apps with multiple views Similar to native look, feel and behavior Cross-browser

Desktop vs. Device

VIEW 1VIEW 2

One HTML page Multiple Views

Get jquery-mobile-map-js

Add Some CSS

Add a little more CSS

Add 2 pages

Add jQuery & bootstrap.js

Add jQuery & ArcGIS JS API

Add the map

VIEW 1 VIEW 2

Step #5 Build > test > repeat

Build > test > repeat Optimize CSS Concatenate JS files Use ArcGIS Web Optimizer Minify & gzip

Geolocation

Works online and offline Approximate location Always requires user opt-in

Offline JS

Intermittent or no internet Ability to reload or restart app offline Lightweight cross-browser functionality Github.com/esri/Offline-editor-js

Offline JS Offline tiled maps for small areas Offline editing and basic attachments Offline TPKs (Tile Packages) Github.com/esri/Offline-editor-js

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.

Wrap-up Mobile web has differences 5 Steps for building awesome mobile apps Bootstrap jQuery Mobile Geolocation Offline

Resources github.com/lheberlie/mobile-webapps- js/blob/develop/Resources.md github.com/lheberlie/phonegap-jquerym-js

Related Sessions Optimizing your JavaScript App for Performance Demo Theater 7 Wed. 4:30pm

Andy Lloyd

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