ArcGIS for Developers:
Choosing the Right ApproachPresented to: Esri Canada User Conference
Presented by: Matt English
Fall 2016
[email protected] @MapEnglish
ArcGIS Technology Stack – Workgroup GIS Pattern
ArcGIS Desktop & ArcObjects
Geodatabase
Professional GIS Authoring
ArcGIS Technology Stack – Server GIS Pattern
ArcGIS
ServerWeb Services
ArcGIS Desktop & ArcObjects
Geodatabase
Professional GIS Authoring
Apps & SDK’s
ArcGIS Technology Stack – Server GIS Pattern
Apps & SDK’s
ArcGIS
ServerWeb Services
ArcGIS Desktop & ArcObjects
Geodatabase
Professional GIS Authoring
ArcGIS Technology Stack – Web GIS Pattern
Identity Content Mgmt Apps & SDK’s Online Content
ArcGIS
Server
Web GIS
Web Services
ArcGIS Desktop & ArcObjects
Geodatabase
Professional GIS Authoring
How Do I Get Started?
• Developer Plan – free for dev and testing, upgrade to paid plan
when ready for production
- https://developers.arcgis.com/plans/
• Already have an ArcGIS identity – you’re good to go!
ArcGIS Technology Stack – Developer Plan
Identity Content Mgmt Apps & SDK’s Online Content
• Free for development and testing
• Minimum of $20/month when deployed
ArcGIS
Online
ArcGIS Technology Stack – Web GIS Pattern
Identity Content Mgmt Apps & SDK’s Online Content
ArcGIS
Server
Web GIS
Web Services
ArcGIS Desktop
Geodatabase
Professional GIS Authoring
Remember the web map:
http://doc.arcgis.com/en/arcgis-online/reference/what-is-web-
map.htm
Content Mgmt
A large user base becomes available. These users BYOL to your
app.
- End users spend a lot of time a resources on their building content an
managing who can access their data.
- Their identity is plug and play into the app
• Security
• In addition, unlocks standard level capability for Runtime apps
• Credits consumed paid by the user
Identity
Authentication in ArcGIS
• OAuth 2.0 – let the platform handle user authenticity
• Token-based
• Public Key Infrastructure (PKI)
• HTTP/Windows Authentication
Work with your server administrator to determine the type of
authentication
Open access to your Web GIS
• Public facing app backed by public facing data
• App and data behind your firewall accessible to everyone in
your organization
Anonymous access to your app
Identity Content Mgmt Apps Online Content
ArcGIS
Server
Web GIS
Web Services
ArcGIS Desktop
Geodatabase
Professional GIS Authoring
Anonymous access behind your firewall
Identity Content Mgmt Apps Online Content
ArcGIS
Server
Web GIS
Web Services
ArcGIS Desktop
Geodatabase
Professional GIS Authoring
ArcGIS Technology Stack – Web GIS Pattern
Identity Content Mgmt Apps & SDK’s Online Content
ArcGIS
Server
Web GIS
Web Services
ArcGIS Desktop & ArcObjects
Geodatabase
Professional GIS Authoring
Access to Premium Services
• Geocoding
• Routing and Directions
• Demographic Data (GeoEnrichment)
• Esri Premium Maps and Layers (e.g. Traffic)
• Elevation Analysis
Online Content
ArcGIS Security and Authentication
• https://developers.arcgis.com/authentication/#named-user-
login-vs-app-login
Choosing the Right Platform – Native vs. Web?
https://developers.arcgis.com/documentation/guides/choosing-the-right-platform/
Comparison Points
• Who is the target audience (internal or consumer public) and what
functionality (mapping, advanced analysis, and so on) is required to
support the application?
• Are your users sometimes disconnected and need the app to run offline?
• What skills does your current development team have?
• What data and web services are required to support the application?
• Are there requirements for device integration, such as use of the device's
GPS, compass, media, calendar, contacts, text messaging (SMS),
notifications, etc.?
Native vs Web
• Web:
- HTML, JavaScript, and CSS hosted on a web server delivered to a
browser
- Need to reach a wide audience
- Don’t know the devices of your users
- ArcGIS API for JavaScript
Web
Hosted:
1. Configurable Templates
2. Web AppBuilder (hosted)
You need a web server:
1. Downloadable Configurable Templates
2. Solutions Templates
3. JavaScript API
4. Web AppBuilder for ArcGIS (Developer Edition)
Apps
https://www.arcgis.com/home/gallery.html#c=esri&o=modified&t=apps&f=configurable
Web AppBuilder for ArcGIS (Developer Edition)
Layout (positions)
Style (colour scheme)
Panel
Panel
Theme Widget
Add Custom Application as Template
• Customize the list of
configurable apps for
ArcGIS Online/Portal
for ArcGIS site
Native
- Offers the best device integration
- Has the most out-of-the-box functionality for connected and offline
workflows
- Requires native development skills
- ArcGIS Runtime SDKs
- ArcGIS Pro SDK
Native
Out-of-the-box:
1. Workforce, Navigator, Collector, Survey 123, Operations Dashboard
2. ArcGIS Maps for Office
3. ArcGIS Pro
Builders
1. AppStudio
SDK’s
1. ArcGIS Runtime SDK’s
2. ArcGIS Pro SDK for Microsoft .NET
Apps
License your App
1. Sign in with your Identity
2. No cost and no need to authorize
your dev machine
3. Basic level license
Associate to a Client ID
Standard level license
1. Users sign in with their identity
2. Purchase Standard level
deployment packs
https://developers.arcgis.com/arcgis-
runtime/licensing/
Hybrid Strategies
• JavaScript API with PhoneGap, Apache Cordova, Intel XDK,
Trigger.io, Electron, Ionic
• Esri’s SDKs and APIs are designed for and address pure web
and pure native development patterns
• Esri does not provide specific frameworks for hybrid
application architecures