Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich...

38
Developing Mobile Apps with the ArcGIS Runtime SDK for .NET Rich Zwaap Morten Nielsen

Transcript of Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich...

Page 1: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Developing Mobile Apps with the ArcGIS Runtime SDK for .NETRich Zwaap

Morten Nielsen

Page 2: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Agenda

• The ArcGIS Runtime• Getting started with .NET• Mapping• Editing• Going offline• Geocoding and routing• Using Native Device Capabilities

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 3: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

The ArcGIS Runtime

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 4: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Page 5: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Page 6: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Runtime Platforms

QT

OS X

JavaSE

WindowsMobile

iOS

Android

Mobile

Desktop

Embedded

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

.NET

Windows Store

Windows Phone

WindowsDesktop

A

Page 7: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Runtime Architecture• Platform API wraps C++ core

• You write code in the language of the platform (C#, VB, Java, Objective-C, etc)

• No need to be concerned with details of Core

QtQtAndroidAndroid WPFWPFiOSiOSJavaJava OS X

OS X

ArcGIS Runtime API

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

.NET.NET

C++ ‘C++ ‘Runtime CoreRuntime Core’’C++ ‘C++ ‘Runtime CoreRuntime Core’’

x86 x64 ARMx86 x64 ARM

A

Page 8: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Runtime SDK for .NET

.NET.NETArcGIS Runtime API

C++ ‘C++ ‘Runtime CoreRuntime Core’’C++ ‘C++ ‘Runtime CoreRuntime Core’’

WindowsDesktop

API

Windows PhoneAPI

WindowsStore app

API

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

• APIs for three platforms

• Desktop, Store (tablet), Phone

• One common API surface

Page 9: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Page 10: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Page 11: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Devices devices devices…

Type Presentation Title Here

Page 12: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

Getting started with the .NET Runtime

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

where do I get started?

Page 13: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

ArcGIS Runtime SDK• Conceptual doc, API reference, samples, and the developer community- Start here: http://developers.arcgis.com/net- Beta community: https://betacommunity.esri.com

• GitHub: Samples, Toolkit, Offline app, Portal Viewer app

GuideGuide API RefAPI Ref SamplesSamples Community

Community

ArcGISRuntime

SDK

ArcGIS Runtime API

C++ ‘C++ ‘Runtime CoreRuntime Core’’C++ ‘C++ ‘Runtime CoreRuntime Core’’

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET A

Page 14: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

ArcGIS for Developershttp://developers.arcgis.com

• SDK Content – Documentation, API Reference, Samples

• Register for a developer account (free)- Register applications

- ClientID for licensing Runtime apps at Basic level

- Create cloud-hosted services- Receive 50 credits per month for

development and testing- Download ArcGIS Runtime SDKs

• Can also log in with an ArcGIS Online account

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 15: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

ArcGIS Runtime SDK for .NET Developer’s Guide

• Getting started- System requirements- Installation

• Tutorials

• High-level concepts

• Platform-specific content- Desktop- Store- Phone

• Sign up for beta at https://betacommunity.esri.com/

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

http://developers.arcgis.com/net/desktop/guide

Page 16: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

developers.arcgis.com

Developer Resources

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 17: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

Mapping

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

I can haz map in my appz?

Page 18: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Adding a map• Map class

- Defines layers to be shown- Also specifies initial extent and spatial reference- Data object – not rendered directly

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 19: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Adding a map• Different layer types for different data sources

- ArcGISTiledMapServiceLayer – tiled ArcGIS for Server map services

- ArcGISDynamicMapServiceLayer – dynamic ArcGIS for Server map services

- ArcGISImageServiceLayer – ArcGIS for Server image services

- FeatureLayer – layers within map services and geodatabases

- ArcGISLocalTiledLayer – tile packages

- More classes for non-ArcGIS data sources (Bing, OpenStreetMap, GeoRSS, CSV, etc)

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 20: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

• MapView class- Control that defines appearance of map within application (position on page, width, height, etc)

- Takes Map as a property

- Also specifies:- Display of user location (GPS)

- Editing behavior via the Editor class

- Map navigation methods and events

Adding a map

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 21: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

let’s try it…

Mapping

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 22: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

and MVVM, and location display, and…

Editing

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 23: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

pulling the plugGoing Offline

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 24: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Taking Data Offline – Tiled Map Services

• Use ExportTileCacheTask to take tiled map services offline- GenerateTileCacheAsync – creates a tile package (.tpk) or compact cache

- DownloadTileCacheAsync – downloads a .tpk or compact cache

- GenerateTileCacheAndDownloadAsync – does both in one call

• Feature services – use GeodatabaseSyncTask- GenerateGeodatabaseAsync – creates a geodatabase

- Use ArcGISHttpClient to download the result

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 25: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Taking Data Offline – Feature Services

• GeodatabaseSyncTask – take feature services offline- GenerateGeodatabaseAsync – creates a geodatabase

- Use ArcGISHttpClient to download the result

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 26: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

let’s pull the plug…

Going Offline

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 27: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Sync – Reconnecting with the Data Source

• GeodatabaseSyncTask.SyncGeodatabaseAsync- Push updates from the client and download changes from the service

- Only changes (deltas) are downloaded/uploaded

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 28: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

plugging back in

Sync

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 29: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Fully Disconnected Workflows

• Create Runtime Content from ArcMap and include in application

• ArcGISLocalTiledLayer – tile packages• FeatureLayer – geodatabases and shapefiles (coming soon)

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 30: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

Disconnected Workflows:Using Runtime Content

Demo

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 31: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

Routing & Geocoding

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 32: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

extending your device with your devices

Native Device Capabilities

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 33: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

What’s coming…

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 34: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

• Raster layers – create from local raster data (GDAL)

• New vector layers – create from local vector data (geopackage, shapefile, kml)

• Analysis functions - add to your layers

• 3D viewing

• More offline capabilities- Feature service table – equivalence with ArcGISFeatureLayer- Versioned data support

• Better support for authoring/reading maps• @ Next release: Some APIs will release items before others…• @ Next, Next release: APIs will be back in sync

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Future Releases

Page 35: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |Esri UC 2014 | Technical Workshop |

UC Runtime Sessions

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 36: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

ArcGIS Runtime SDK Sessions – Thursday

Session Name Time Location

ArcGIS Runtime SDKs: The Road Ahead

1:30pm – 2:45pm Room 07 A/B

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 37: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop |

Thank you…

• Please fill out the session survey:

Offering ID: 1665

Online – www.esri.com/ucsessionsurveys

Paper – pick up and put in drop box

Developing Mobile Apps with the ArcGIS Runtime SDK for .NET

Page 38: Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for.NET Rich Zwaap Morten Nielsen.

Esri UC 2014 | Technical Workshop | Developing Mobile Apps with the ArcGIS Runtime SDK for .NET