ArcGIS Runtime SDKs - Esri...Reasons for API Redesign •New internal architecture enabling a new...

Post on 09-Oct-2020

1 views 0 download

Transcript of ArcGIS Runtime SDKs - Esri...Reasons for API Redesign •New internal architecture enabling a new...

ArcGIS Runtime SDKsGetting StartedNick Furness

Eric Bader

Rex Hansen

Agenda

• What can I do with the Runtime SDKs?

• How do I get started?

• Architecture

• API Basics

• Licensing

Introduction

Resourcesdevelopers.arcgis.com

• Functionality

• Success Stories

• SDK Doc

- Guide

- Samples

- Reference

• DevLabs

• Example Apps

ArcGIS Runtime v100.0 “Quartz” Release

• New Architecture

- Based around an expanded C++ runtime core and common API

• New API

- Redesigned from the ground up

Reasons for API Redesign

• New internal architecture enabling a new way of doing things

• Allow new capabilities

• Ease of use

- Easy for new users, easier for existing users

- Better OO / use of established patterns

- Reduce areas of confusion

- E.g. Difference between a graphics layer vs a feature layer

- Consistency across the API

- E.g. standard pattern for asynchronous loading of resources

• Robustness and performance

• Opportunity to reflect on our evolving platform

ArcGIS Runtime Common API

• Common conceptual model across platforms

- Capabilities, names and parameters will be the same

• Not a generic API

- Leverage individual platform strengths

ArcGIS Runtime v100.0 Changes

• Internal architecture

• By reference semantics

• Mapping API

- Map and MapView

- Viewpoint

- Graphics Overlays

- Layers name and composition changes

- Advanced symbology

• Geometry API

• Portal API

• Authentication

• 3D API

ArcGIS Runtime Architecture

Qt / QML

Android iOSJava macOS .NET /Xamarin

C++ runtime core

WinLinux macOSAndroid iOS UWP

x86 x64 ARMDirectX

OpenGL ES

Runtime 10.2.x Architecture Internals

C++ runtime core

Mapping, GIS and Core Services

.NET iOS macOS Android JavaSE Qt QML

InteropInterop Interop

Interop InteropInterop

Runtime 100.0 Architecture Internals

.NET iOS macOS Android JavaSE Qt QML

InteropInterop Interop

C++ runtime core

Mapping GIS and Core Services

Runtime C++ API

C ABI

Mapping API

• API builds on what is already there

• Adds new capabilities

• Fully embraces The Map as a central component

Refreshed Mapping API to Accommodate New Functionality

Where Do Maps Come From?

• Portal (web maps)

- Create with a PortalItem or URL

• Pro (mobile maps)

- Access maps inside a Mobile Map Package

• You!

- Create a map in code

- Save to a portal

- Web maps and mobile maps will be different portal item types

- Save locally

Maps and Layers

MapView Map

Layer

FeatureLayer RasterLayer MapImageLayer TiledLayer

3D API

3D - Scenes

• Scenes are like maps, but for 3D

• Scenes created and published with ArcGIS Pro or ArcGIS Online

• Scenes can be viewed on the desktop, web or runtime apps

- WebScene support not present until v100.3

• 10.2.6 .Net SDK released the Quartz 3D API

MapView Map

Layer*

FeatureLayer RasterLayer MapImageLayer TiledLayer

SceneView Scene

Surface

SceneLayer

Runtime 2D Mapping APIRuntime 3D Mapping API

Geometry API

Geometry API

• Synchronized geometry model across all platforms

• Improved architecture and performance

- Immutable geometries

• Can support curves

Geometry

• Immutable

• Has a spatial reference

• Create new with Builders and Constructors

• Curves…

Geometry API

Geometry SpatialReference

Point Multipoint Envelope Multipart

PointCollection Polyline Polygon

Part PartCollection

Segment

LineSegment CubicBezierSegment CircularArcSegment

Runtime App Deployment License Model

Lite Basic Standard Advanced

Commonly used capabilities

found in most applications.

Allows a user to participate

in web GIS.

Lite• View maps, scenes and layers from the platform

• Use packages from the platform

• Simple routing and place finding

• Edit public data

• Support for Web GIS

• Viewing maps and items

• Participate in groups (Private and public)

I N C L U D E S :

ArcGIS Runtime Deployment Levels

For apps that need editing

and more advanced Web

GIS capabilities.

• All capabilities of Lite

• Simple feature editing (Feature Service)

• Connected or Disconnected

• Support for Web GIS contribution

• Map authoring, create groups, sharing

I N C L U D E S :

ArcGIS Runtime Deployment Levels

Basic

• All capabilities of Basic

• Local data Access

• Shapefiles, GeoPackage, J2K, CADRG, TIPP, GeoTIFF, DTED…

• Tools offered via local server technology

• Edit file Geodatabases

• Data conversion tools

• Data management tools (table and field manipulation)

• Analysis (Geometric operations, line of sight, viewshed)

I N C L U D E S :

O P T I O N A L :

• Analysis Extension

• Advanced 3D + advanced network + advanced spatial analysis

ArcGIS Runtime Deployment Levels

For apps that want to

leverage the full

capabilities of the device.

Standard

• All capabilities of Standard

• Tools offered via local server technology

• Direct connect to SDE

• Mosaic datasets

• Analysis (Frequency, near, split)

I N C L U D E S :

ArcGIS Runtime Deployment Levels

For apps performing

enterprise workflows that

require “GIS heavy lifting”.

Advanced

O P T I O N A L :

• Analysis Extension

• Advanced 3D + advanced network + advanced spatial analysis

Options to License Runtime Deployments

• Runtime is licensed depending on the type of app you build

1. Apps that extend or complement ArcGIS

- Licensed via named user

2. Standalone apps (ArcGIS Engine/MapObjects)

- Licensed via a deployment License (Purchased in packs)

Customers who build apps that extend the ArcGIS Platform

License Runtime levels with a named user• The end user brings their license

• App prompts user for credentials

• App is licensed per user

Lite

Level 1 or 2 Named user Level 2 Named user

Basic Standard Advanced

Level 2 Named user

With additional Standard License

Level 2 Named user

With additional Advanced License

Licensing Standard and Advanced with a named user will be coming in a subsequent release

Customers who build apps that stand alone from the platform

Lite

Unlock Runtime levels with a deployment license• Developer license the app

• Purchased by the pack

• Deployments are per app/per device

Deployment Pack

No-cost

Basic

Deployment Pack

50 deployments

Standard Advanced

Deployment Pack

25 deployments

Deployment Pack

5 deployments

Analysis

ExtensionDeployment Pack

5 deployments

Available with Standard

and Advanced

Summary

• Resources available at developers.arcgis.com

• Architecture

- Web GIS + Offline

- Consistency + Performance

• API Basics

- Map + MapView

- Geometry APIs: Immutability + GeometryBuilders

• Licensing

- Lite, Basic, Standard, Advanced