Top Banner
ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt English Fall 2016 [email protected] @MapEnglish
49

ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

May 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

ArcGIS for Developers:

Choosing the Right ApproachPresented to: Esri Canada User Conference

Presented by: Matt English

Fall 2016

[email protected] @MapEnglish

Page 2: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

http://bit.ly/2cR0PFE

Page 3: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Die by the code

colourbox.com

Page 4: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Reduce the codeReduce the code

cmatskas.com

Page 5: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Goals

• Understand what

ArcGIS provides

• Figure out what SDK

and API to use

a2ua.com

Page 6: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 7: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

ArcGIS Technology Stack – Workgroup GIS Pattern

ArcGIS Desktop & ArcObjects

Geodatabase

Professional GIS Authoring

Page 8: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

ArcGIS Technology Stack – Server GIS Pattern

ArcGIS

ServerWeb Services

ArcGIS Desktop & ArcObjects

Geodatabase

Professional GIS Authoring

Apps & SDK’s

Page 9: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

ArcGIS Technology Stack – Server GIS Pattern

Apps & SDK’s

ArcGIS

ServerWeb Services

ArcGIS Desktop & ArcObjects

Geodatabase

Professional GIS Authoring

Page 10: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 11: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 12: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 13: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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!

Page 14: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 15: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 16: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Remember the web map:

http://doc.arcgis.com/en/arcgis-online/reference/what-is-web-

map.htm

Content Mgmt

Page 17: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 18: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 19: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 20: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Anonymous access to your app

Identity Content Mgmt Apps Online Content

ArcGIS

Server

Web GIS

Web Services

ArcGIS Desktop

Geodatabase

Professional GIS Authoring

Page 21: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 22: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Anonymous access behind your firewall

Identity Content Mgmt Apps Online Content

ArcGIS

Server

Web GIS

Web Services

ArcGIS Desktop

Geodatabase

Professional GIS Authoring

Page 23: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 24: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Access to Premium Services

• Geocoding

• Routing and Directions

• Demographic Data (GeoEnrichment)

• Esri Premium Maps and Layers (e.g. Traffic)

• Elevation Analysis

Online Content

Page 25: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

ArcGIS Security and Authentication

• https://developers.arcgis.com/authentication/#named-user-

login-vs-app-login

Page 26: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 27: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Web GIS

Love

Disney

Identity

Content Mgmt

Apps & SDK’s

Online Content

Page 28: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Choosing the Right Platform – Native vs. Web?

https://developers.arcgis.com/documentation/guides/choosing-the-right-platform/

Page 29: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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.?

Page 30: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

ArcGIS

Capabilities

Compared

Page 31: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 32: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 33: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 34: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 35: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 36: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

https://www.arcgis.com/home/gallery.html#c=esri&o=modified&t=apps&f=configurable

Page 37: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 38: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Web AppBuilder for ArcGIS (Developer Edition)

Layout (positions)

Style (colour scheme)

Panel

Panel

Theme Widget

Page 39: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Add Custom Application as Template

• Customize the list of

configurable apps for

ArcGIS Online/Portal

for ArcGIS site

Page 40: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 41: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 42: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 43: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

1. Geoprocessing Model

2. Tasks

3. Python

4. ArcGIS Pro SDK for Microsoft .NET

Page 44: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Mobile Apps

Page 45: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

Cross-platform Development

Page 46: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt
Page 47: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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/

Page 48: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt

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

Page 49: ArcGIS for Developers: Choosing the Right Approach · 2016-11-24 · ArcGIS for Developers: Choosing the Right Approach Presented to: Esri Canada User Conference Presented by: Matt