ArcGIS App Strategies
Ben Ramseth
@esriMapNinja
DevSummit DCFebruary 26, 2016 | Washington, DC
Copyright © Esri. All rights reserved.
Session overview
• Topics
• Understanding ArcGIS apps
• Defining strategies for building apps
• Applying app strategies to scenarios
Copyright © Esri. All rights reserved.
Understanding ArcGIS Apps
Copyright © Esri. All rights reserved.
ArcGIS apps: Part of a Web GIS
Web maps
Layers
Apps
Web scenesPortal
Copyright © Esri. All rights reserved.
ArcGIS apps for everyone
Apps for the field Apps for the community
Apps for the office
Copyright © Esri. All rights reserved.
ArcGIS Marketplace
• Apps and content
• Search filters
• Platform
• Industry
• Category
Apps Content
Copyright © Esri. All rights reserved.
Build your own apps
ArcGIS
apps
Configure
Extend
Develop
Copyright © Esri. All rights reserved.
Build your own apps
ArcGIS
apps
Configure
Extend
Develop
Copyright © Esri. All rights reserved.
Defining strategies for building apps
Copyright © Esri. All rights reserved.
App strategy #1: Configure
Build Apps using builders and templates
that:
• Work out of the box
• Can be configured without any developer
skills
Copyright © Esri. All rights reserved.
App builders
Web AppBuilder for ArcGISAppStudio for ArcGIS
Copyright © Esri. All rights reserved.
App templates
Story maps
Web application templates
Copyright © Esri. All rights reserved.
App configuration
Parameters
Branding
Layout
Style
Widgets
StreamBookmark Basemap
Copyright © Esri. All rights reserved.
Configure new app functionality
Community
resources
ArcGIS Marketplace
GeoNet
GitHub
Copyright © Esri. All rights reserved.
App strategy #2: Extend apps
Develop, package, and add custom functionality and
branding into existing apps.
Copyright © Esri. All rights reserved.
Extending app functionality
Web AppBuilder for ArcGIS
AppStudio for ArcGIS
Operations Dashboard
Write extensions
WidgetsWidgets
QML components
API SDK
Copyright © Esri. All rights reserved.
App strategy #3: Develop apps
Use developer tools, APIs, and SDKs to create
complete custom Apps from scratch.
http://developers.arcgis.com
API
SDK
Copyright © Esri. All rights reserved.
Developing web and native apps
Xamarin Qt
Mac OS X
JavaiOS
Android
.NET
JavaScript
REST
Esri Leaflet
ArcGIS runtime SDKs
ArcGIS Web APIs
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Start
Extend
Configure
Develop
Effort
Deployapp
Copyright © Esri. All rights reserved.
Identify app requirements
• Who will use the app?
• What functionality will the app need?
• What content will the app require?
• How will the app be accessed?
• What user experience will the app provide?
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Requirement #1
Requirement #2
Requirement #3
…
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Deployapp?
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Requirement #1
Requirement #2
Requirement #3
…
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Requirement #1
Requirement #2
Requirement #3
…
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Configure
Develop
Effort
Extend
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Configure
Develop
Effort
Extend
Deployapp?
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Requirement #1
Requirement #2
Requirement #3
…
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
App strategies
workflow
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Deployapp
Copyright © Esri. All rights reserved.
Review
• App strategies
• Configure
• Extend
• Develop
• App strategies workflow
Copyright © Esri. All rights reserved.
Applying app strategies to scenarios
Copyright © Esri. All rights reserved.
Scenario: Tell a map story
Usestrategy
Evaluate app
Identifyreqs
• Tell a map story
• Branding
• App store
• Cross platform
Extend
Configure
Develop
Effort
App requirements
Copyright © Esri. All rights reserved.
Scenario: Tell a map story
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
AppStudio for ArcGIS
Copyright © Esri. All rights reserved.
Scenario: Tell a map story
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
Scenario: Tell a map story
Tell a map story
Branding
App store
Cross platformUsestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
Scenario: Tell a map story
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Deployapp
Tell a map story
Branding
App store
Cross platform
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
• Maximize # of users
• Change basemap
• Image discovery
• Custom widget
Extend
Configure
Develop
Effort
App requirements
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Web AppBuilder for ArcGIS
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Maximum users
Change
basemap
Image discovery
Custom widget
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Maximum users
Change
basemap
Image discovery
Custom widget
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Maximum users
Change
basemap
Image discovery
Custom widget
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
define(['dojo/_base/declare', 'jimu/BaseWidget'], function(declare, BaseWidget) { //To create a widget, you need to derive from BaseWidget.return declare([BaseWidget], { // Custom widget code goes here baseClass: 'jimu-widget-mywidget' }); });
My widget
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Maximum users
Change
basemap
Image discovery
Custom widget
Copyright © Esri. All rights reserved.
Scenario: Image discovery
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Deployapp
Maximum users
Change
basemap
Image discovery
Custom widget
Copyright © Esri. All rights reserved.
Scenario: Go offline
Usestrategy
Evaluate app
Identifyreqs
• Offline
• Custom UIExtend
Configure
Develop
Effort
App requirements
Copyright © Esri. All rights reserved.
Scenario: Go offline
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Xamarin Qt
Mac OS X
JavaiOS
Android
.NET
ArcGIS runtime SDKs
Copyright © Esri. All rights reserved.
Scenario: Go offline
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Offline
Custom UI
Copyright © Esri. All rights reserved.
Scenario: Go offline
Usestrategy
Evaluate app
Identifyreqs
Extend
Configure
Develop
Effort
Offline
Custom UI
Deployapp
Copyright © Esri. All rights reserved.
What's nextTraining courses
http://www.esri.com/training
Power your Enterprise with ArcGIS Apps
Power your Organization with ArcGIS Online Maps, Apps, and
Analytics
Get Started with Web AppBuilder for ArcGIS
Creating Web Applications using Templates and Web AppBuilder for
ArcGIS
Developing Web Apps with ArcGIS API for JavaScript
Copyright © Esri. All rights reserved.
What's nextOther resourceshttp://www.arcgis.com
ArcGIS
http://developers.arcgis.com
ArcGIS for Developers
http://blogs.esri.com/esri/arcgis
ArcGIS Resources
http://geonet.esri.com
GeoNet
esri.github.io
Esri on GitHub
https://marketplace.arcgis.com
ArcGIS Marketplace