arcgis runtime sdks: building .net apps€¦ · overview • integrate arcgis capabilities into...
TRANSCRIPT
ArcGIS Runtime SDKs:
Building .NET AppsMike Branscomb
Rich Zwaap
Agenda
• Overview
• ArcGIS Runtime Architecture
• Current Release Highlights
• Building an App
• Troubleshooting
• Road Ahead
ArcGIS Runtime SDK for .NET
Overview
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
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
ArcGIS Runtime SDK for .NET
ArcGIS Runtime Architecture
Overview – ArcGIS RuntimeAn Architecture Designed to Maximize Performance and Reuse
C++ runtime core
WinLinux macOSAndroid iOS UWP
x86 x64 ARM64DirectX
OpenGL
OpenGL ES
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
ArcGIS Runtime SDK for .NET
Current Release Highlights
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
Sample Viewer Apps in App Stores
Current Release Highlights
Demo
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
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
Building a .NET app
Demo
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
ArcGIS Runtime SDK for .NET
Troubleshooting
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
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
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
ArcGIS Runtime SDK for .NET
Road Ahead
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
WPF & .NET Core 3
Demo
ArcGIS Runtime SDK for .NET
Summary
• 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
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!
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”