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

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

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

ArcGIS for Developers:

Choosing the Right ApproachPresented to: Esri Canada User Conference

Presented by: Matt English

Fall 2016

[email protected] @MapEnglish

http://bit.ly/2cR0PFE

Die by the code

colourbox.com

Reduce the codeReduce the code

cmatskas.com

Goals

• Understand what

ArcGIS provides

• Figure out what SDK

and API to use

a2ua.com

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

Web GIS

Love

Disney

Identity

Content Mgmt

Apps & SDK’s

Online Content

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

ArcGIS

Capabilities

Compared

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

1. Geoprocessing Model

2. Tasks

3. Python

4. ArcGIS Pro SDK for Microsoft .NET

Mobile Apps

Cross-platform Development

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