17
ArcGIS Runtime: Building .NET Apps Rex Hansen

ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

  • Upload
    others

  • View
    28

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

ArcGIS Runtime:

Building .NET AppsRex Hansen

Page 2: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

Agenda

• New in 2017-2018

• Architecture

• Resources

• Roadmap for 2018

Page 3: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

New in 2017-2018

Page 4: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

The road ahead…

• Improved support for Virtual Machines and software rendering

• Visual Studio 2017 integration

• Simpler callout API

• Upcoming features across the Runtime:

- Toolkit out of beta

- Take an entire map offline

- Improved raster support

- Full ArcGIS Server dynamic layer support

- Improved label support

- Coordinate notation formatter

- WMTS, WebTiledLayer, S57 layers

- Related tables and more…

DevSummit DC 2017

Page 5: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

What’s new

• v100.1 – June 2017

- Raster on Android and iOS

- Take a map offline

- Related tables

- Image Services

- OpenStreetMap

- Bing

- WMTS

- Camera controllers in 3D

- Labeling

- Service Area (online)

- Closest Facility (online)

- Coordinate Notation

- Map Service DynamicLayer

• v100.2 – December 2017

- Layers: ENC, WMS

- Tables: Shapefile, Geopackage

- Raster: Geopackage

- Export Vector Tile Packages

- Offline maps preplanned workflow

- Dynamic feature layer rendering

- Line of Sight

- Viewshed

- Service Area (local)

- Closest Facility (local)

- Statistics Queries

- Transformations

- Transactional editing

- SketchEditor enhancements

- Time

• v100.2.1 – February 2018

- Bug fixes

- Raster datasets and tile packages

in mobile map packages

- SceneView WGS84 basemaps

- WMS versions <1.3

• Patch – February 2018

- ArcGIS Runtime Local Geoprocessing

Service Startup Patch

- Windows 7 SP1

- Windows Server 2008 R2

- Patches:

- Local Server SDK v100.0 – v100.2

- .NET SDK v10.2.7

- Qt SDK 10.2.6

- Java SDK 10.2.4

- WPF SDK v10.2.5

Page 6: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

Architecture

Page 7: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

What is ArcGIS Runtime SDK for .NET

• Supports:

- WPF

- Windows Universal app (UWP)

- Xamarin Android

- Xamarin iOS

- Xamarin.Forms (Android, iOS, UWP)

• Exact same business logic code for all platforms.

- Use native platform UI framework

- Or use Xamarin.Forms abstraction to share UI logic as well

Page 8: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

Installing ArcGIS Runtime SDK for .NET

• NuGet packages

- Xamarin.Android, Xamarin.iOS, Xamarin.Forms (Android, iOS, UWP)

• Visual Studio installation (VSIX) – Windows only

- Templates for each supported platform

- Local NuGet package source

Page 9: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

ArcGIS Runtime SDK for .NETArchitecture Diagram

Win32Windows Runtime

iOS Android

ArcGIS Runtime Core (C++)

ArcGIS Runtime SDK for .NET (C#)

.NET Core.NET Framework

WPF UWP iOS Android

Internal

Public SDK

WPF UWP iOS Android Native UI

Common SDK

• Maps, scenes, layers, symbols,

feature data, geocoding, routing,

portal, rasters, offline/syncing,

geometry, geometry engine…

• MapView, SceneView

Common UI

Where all the magic happens

Mono / Xamarin

Interop

Xamarin Forms

OS

Page 10: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

ArcGIS Runtime SDK for .NETA simpler view…

Operating System

ArcGIS Runtime SDK for .NET (C#)

WPF UWP iOS

WPF Xamarin Forms

Android

Native UI

Common SDK

• Maps, scenes, layers, symbols,

feature data, geocoding, routing,

portal, rasters, offline/syncing,

geometry, geometry engine…

• MapView, SceneView

.NET

Page 11: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

1. Xamarin Forms: a lot of shared code, less control

- UI is defined with a Xamarin flavor of XAML

- Subset of UI elements

- Rendered as native controls for each platform

- Basic cross-platform functionality

2. Xamarin Native: less shared code, more control

- Each UI is created using platform-specific controls

- *.axml (Android), *.storyboard (iOS), *.xaml (UWP)

- User experience is true to the platform

- More platform-specific control

Two approaches for Xamarin development …

<TimePicker x:Name="StartTimePicker"/>

Page 12: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

Resources

Page 13: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

• ArcGIS for Developers - developers.arcgis.com

- Downloads for all ArcGIS Runtime SDKs

- Doc: Developers guide, API reference, Samples documentation

• Samples - github.com/esri/arcgis-runtime-samples-dotnet

- Source code for all supported platforms

- Xamarin projects: native and forms

• Toolkit - github.com/esri/arcgis-toolkit-dotnet

- UI controls to provide additional functionality

- Compass, Layer legend, Scale line, Symbol display

• Example apps - developers.arcgis.com/example-apps

- Indoor Routing

Page 14: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

Demo:

Resourcesdevelopers.arcgis.com

Page 15: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

Road Ahead for 2018

• Layers

- Annotation

- WFS

- MrSid

- Group

• Reference scale

• Utility network

• .NET Standard

• ARMv8 Android

• Web scene read/write

• Unified symbology model

- CIM, Web 3D

• Scene layer

- Selection, Identify

- Point cloud

• Scene analysis

- Measure Distance

- View Dome

Page 16: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,

Download the Esri Events

app and find your eventSelect the session

you attended

Scroll down to find the

feedback section

Complete answers

and select “Submit”

Please Take Our Survey in the Esri Events App

Page 17: ArcGIS Runtime: Building .NET Apps...WPF UWP iOS Android Internal Public SDK WPF UWP iOS Android Native UI Common SDK •Maps, scenes, layers, symbols, feature data, geocoding, routing,