27
ArcGIS Runtime SDKs: Building .NET Apps Mike Branscomb Rich Zwaap

ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

ArcGIS Runtime SDKs:

Building .NET AppsMike Branscomb

Rich Zwaap

Page 2: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Agenda

• Overview

• ArcGIS Runtime Architecture

• Current Release Highlights

• Building an App

• Troubleshooting

• Road Ahead

Page 3: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

ArcGIS Runtime SDK for .NET

Overview

Page 4: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Overview

• Integrate ArcGIS capabilities into your .NET apps

• API

- Windows Presentation Foundation (WPF)

- Universal Windows Platform (UWP)

- Xamarin.Android

- Xamarin.iOS

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

• SDK

- Templates, Toolkit controls, Doc, Sample code, Tutorials, Open Source Apps, Community

• Cross-platform

- Share your .NET C# business logic code across Android, iOS, and Windows

- Share UI code across platforms with Xamarin.Forms on Android, iOS, and UWP

Page 5: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Installing ArcGIS Runtime SDK for .NET

• Add NuGet packages from NuGet.org within Visual Studio

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

- Toolkit

• Visual Studio extension (VSIX)

- developers.arcgis.com/downloads

- Project templates for each supported platform

- Local NuGet package source for offline development

Page 6: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

ArcGIS Runtime SDK for .NET

ArcGIS Runtime Architecture

Page 7: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Overview – ArcGIS RuntimeAn Architecture Designed to Maximize Performance and Reuse

C++ runtime core

WinLinux macOSAndroid iOS UWP

x86 x64 ARM64DirectX

OpenGL

OpenGL ES

Page 8: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Overview – ArcGIS Runtime SDK for .NETAn Architecture Designed to Maximize Performance and Reuse

C++ runtime core

x86 x64 ARM64DirectX

OpenGL

OpenGL ES

WPFUWPiOSAndroid

Xamarin.Forms

WinAndroid iOS UWP

Page 9: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

ArcGIS Runtime SDK for .NET

Current Release Highlights

Page 10: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

100.5 – April 2019

• Mobile scene packages

• Layers: Group, Point Cloud, Point scene, & Integrated Mesh

• Subsurface navigation

• 3D performance improvements

• KML Tours & Refresh overrides

• WFS

• Next generation raster tile packages (.TPKX) and locators (.LOZ)

• Enhanced symbology support and API for greater parity with ArcGIS Pro

• Reference scale for text and symbols

• Annotation layers

• UWP ARM64 Support

Page 11: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Sample Viewer Apps in App Stores

Page 12: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Current Release Highlights

Demo

Page 13: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

100.5 Enhancements – Documentation

• Search: Improved ranking of pages

• New and improved `…Offline…` topics

• Updated `Layer types described` topic

• Enhanced `Symbolize data` topic

• Updated `Essential vocabulary`

• Improved `Deploy your app` topic for Xamarin.Android

Page 14: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

100.5 .NET SDK-Specific Enhancements

• Serialize credentials for persisting between sessions

- As the developer you must store securely on the device

• Mouse / trackpad navigation improvements for WPF/UWP

• SketchEditor behavior enhancements

• Added ARM64 support to UWP

• WPF honors software rendering if set at a system-wide or app-wide level

- e.g. RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;

• WPF Higher default number of concurrent network requests for tiles

• Improved template discoverability in Visual Studio 2019 for Windows

Page 15: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Building a .NET app

Demo

Page 16: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Demo Summary

• Target all platforms from Visual Studio

• Share almost all code cross-platform

• Many great resources to draw from

- Guide doc

- Samples

- Tutorials

- GeoNet

- Open Source Apps

- Demos

- Toolkit

Page 17: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

ArcGIS Runtime SDK for .NET

Troubleshooting

Page 18: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Troubleshooting – ArcGIS Runtime Exceptions

• Check ArcGISRuntimeException errors

• Platform error codes in the Guide doc

• https://developers.arcgis.com/net/latest/wpf/guide/platform-error-codes.htm

Page 19: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Troubleshooting - Logging

• ArcGIS Runtime uses System.Diagnostics.Trace to provide errors and information

- ArcGISRuntime initialization info

- Rendering mode (if using Windows software rendering)

- DirectX rendering errors

• By default `DefaultTraceListener` will write to Visual Studio Output window

• If debugging

- Check the Visual Studio Output window

• If no debugger

- Add SystemDiagnostics.TraceListener

- EventLog TraceListener

- TextWriter TraceListener

Page 20: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Troubleshooting – Debugging Crashes

• ArcGIS Runtime debug symbols (.pdb files) available on Esri symbol server

- WPF & UWP

• Add the esri symbol server:

- In Visual Studio: Navigate to Tools > Options > Debugging > Symbols

- Add a `New Location` & specify the esri symbol server

- URL: http://downloads2.esri.com/support/symbols

- Ensure the checkbox is checked next to the new URL in the list of `Symbol file (.pdb) locations`

• Enable native code debugging:

- In Visual Studio: Navigate to Project > Properties > Debug

- Under the section `Debugger engines` check the box to `Enable native code debugging`

• When debugging the app or a crash dump file (.dmp) locate the following modules then

right click > Choose `Load Module`:

- RuntimeCoreNet.dll

- runtimecore.dll

Page 21: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

ArcGIS Runtime SDK for .NET

Road Ahead

Page 22: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Road AheadPlanned Features

• v100.6 – Late Summer

- New features

- Performance improvements

- Stability and quality

• v100.7 – Late 2019

- Support for building WPF apps with .NET Core

- Remove dependency on system-wide .NET Framework

- Create entirely self-contained applications

- Benefit from .NET Core performance improvements

Page 23: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

WPF & .NET Core 3

Demo

Page 24: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

ArcGIS Runtime SDK for .NET

Summary

Page 25: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

• ArcGIS Runtime 10.2.x retires in Dec 2019

- https://support.esri.com/en/Products/Developers/native-runtime-sdks/arcgis-runtime-sdk-for-dotNET

• Microsoft ends support for Windows 7 on January 14 2020

- https://support.microsoft.com/en-us/help/4057281

- Now is the time to upgrade to Windows 10!

- ArcGIS Runtime Q4 2019 release will be the last to support Windows 7

Lifecycle information

Page 26: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Summary

• ArcGIS for Developers site is your development dashboard

• Guide doc & API ref doc

• Sample code

• Open Source Apps

• Toolkit

• Plus

- .NET Team Demos repo

• Get involved with the community on Geonet!

Page 27: ArcGIS Runtime SDKs: Building .NET Apps€¦ · Overview • Integrate ArcGIS capabilities into your .NET apps • API-Windows Presentation Foundation (WPF)-Universal Windows Platform

Please Share Your Feedback in the App

Download the Esri

Events app and find

your event

Select the session

you attended

Scroll down to

“Survey”

Log in to access the

survey

Complete the survey

and select “Submit”