ArcGIS for Developers: Choosing the Right Approach 2016-11-24آ  ArcGIS for Developers: Choosing the

Embed Size (px)

Text of ArcGIS for Developers: Choosing the Right Approach 2016-11-24آ  ArcGIS for Developers: Choosing...

  • ArcGIS for Developers:

    Choosing the Right Approach Presented to: Esri Canada User Conference

    Presented by: Matt English

    Fall 2016

    menglish@esri.ca @MapEnglish

    mailto:menglish@esri.ca

  • http://bit.ly/2cR0PFE

    http://bit.ly/2cR0PFE

  • Die by the code

    colourbox.com

  • Reduce the code Reduce 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

    Server Web Services

    ArcGIS Desktop & ArcObjects

    Geodatabase

    Professional GIS Authoring

    Apps & SDK’s

  • ArcGIS Technology Stack – Server GIS Pattern

    Apps & SDK’s

    ArcGIS

    Server Web 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!

    https://developers.arcgis.com/plans/

  • 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

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

  • 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

    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/

    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

    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/

    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