Post on 13-Oct-2020
ArcGIS Runtime SDKs: Getting StartedEric Bader@ECBader
DevSummit DCFebruary 26, 2016 | Washington, DC
Agenda
• Why native app development?
• What is ArcGIS Runtime SDK?
• What can you do with the runtime SDKs
• Getting started – demos
• What’s ahead
Why Native?
• Performance – Native apps are faster
• It’s all about the user experience
• Full access to the resources and services of the device
• Offline
• But also has some trade-offs
Why Native?
• Over 75 Billion downloads – App store
• Over 50 Billion downloads – Google Play
• Expected to grow by 24% in 2016, $51 billion in revenue
• Internet growth is down: <10% year-to-year and slowing -http://www.kpcb.com/internet-trends
Runtime platforms
Mobile
Desktop
Embedded
Runtime platforms
Qt / QML
OS X
Windows Store
Java SE
WindowsMobile
iOS
Android
Windows Phone
Mobile
Desktop
Embedded
.NET
DesktopClient
Xamarin
Runtime platforms
Qt / QML
OS X
Windows Store
Java SE
WindowsMobile
iOS
Android
Windows Phone
Mobile
Desktop
Embedded
.NET
DesktopClient
Xamarin
Runtime SDKs
• Native APIs for building focused applications
• Embed ArcGIS into existing applications
• Common conceptual framework across platforms
• Powered by a Runtime
The ArcGIS RuntimeSupports Native Application Development
• Runtime Core- C++- Small - High performance- Exploits the Platform
• Client APIs Expose Functionality to Developers
- DotNet- Java- Objective C / Swift- QML / Qt C++
• Common Conceptual Model
Runtime Architecture
Qt / QML
Android iOSJavaSE
OS X .NET
C++ runtime core
x86 x64 ARM
WinLinux OS XAndroid iOS WinRT
DirectX
OpenGL
Runtime API Architecture
Application
Desktops
Tablets
Smartphones
API Core
APICore
ArcGIS Runtime SDKs
Guide API Ref Samples Community
ArcGIS Runtime
APIs
ArcGISRuntime
SDKs
Qt / QML
Android iOSJavaSE
OS X .NET
C++ runtime core
x86 x64 ARM
WinLinux OS XAndroid iOS WinRT
DirectX
OpenGL
What can you do with the Runtime SDKs?Maps and layers
Map Layers• Tiled
- ArcGIS Server, ArcGIS Online, Bing, OSM, Imagery
• Dynamic- ArcGIS Server, ArcGIS ImageServer, WMS
• Graphics Layer• Feature Layer
- ArcGIS Server, ArcGIS Online (hosted)- KML, shapefile, geopackage
Web maps• Feature collections• Pop-ups
What can you do with the Runtime SDKs?Graphics – Display information
Graphics
• Arbitrary objects added to a Graphics Layer- Point, Lines, Polygon, Text- Geometry + Symbol + Attributes
• Commonly used- Sketching- Display query results
Callouts- Anchored ‘view’ on the map to fill with content- Map tips, show details of a graphic on the map
Popups- Display data attributes- Configurable
What can you do with the Runtime SDKs?Analysis
Analysis
• Query, Identify, Find GIS features• Locate/Geocode addresses
- Reverse geocode , batch
• Geometry Engine- Native, high-performance engine - geometric operations on the device
- Cut, Union, Buffer, etc.
• Routing • Geoprocessing Tasks
What can you do with the Runtime SDKs?Data Collection
• Connected Editing- Against a Feature Service
• Disconnected Editing- Against a ‘local’ geodatabase
• Add, delete, modify, cancel• Attachments• Related tables
What can you do with the Runtime SDKs?Offline use…
All SDKs• Offline basemaps
- Tile Package (.tpk)
• Offline operational layers- Editing and sync- Related tables, attachments
• Offline tasks- Routing, Geocoding
.NET, Java, Qt (C++)
• Map packages – open with local server• Geoprocessing packages – tools and models
What industries are using Runtime?
• Defense• Federal/State/Local Government• Asset Management• Utilities• Transportation• …you name it
Demos: Getting started
Runtime Licensing
License levels and functionalityLicense Level Available functionalityDeveloper (development and testing only)
All functionality including Local Server extensions(watermarks and debug messages will be generated, nag screens with Local Server)
Basic All functionality, except:• Local locators (geocoding)• Local routing• Local geodatabase editing• Local geodatabase sync operations with an upload• Local Server
Standard All functionality. Note: Local Server extension licenses are additional and require the Standard license.
License your app at Basic level1. Go to developers.arcgis.com and log in (or create a developer account)2. Create a New Application (or select existing)3. Click on Runtime SDK Licensing4. Copy the Client ID and set it in your app
2.
3.
4. // set the client IDArcGISRuntime::setClientId("myclientid");
License your app at Standard levelThere are two options to license at Standard level:
1. Use an organization account (ArcGIS Online or Portal for ArcGIS)- Requires users of your app to log in with their account
2. Use a license string obtained from Customer Service or your international distributor
- License string burned into the app- Extensions can be supported
** You must use workflow 2 if you want to license any extensions **
For more info speak to sales or product management
Direct Read of Files Local Analysis 3D Map AuthoringCross Platform
ArcGIS Runtime 2016Adding Critical Functionality
Final release:Android, iOS
Betas: Java, Qt, .NET,
Xamarin
Today Q22016
ArcGIS Runtime Quartz Release Schedule
Q32016
Final release:Java, Qt, .NET,
Xamarin
Update 1:Android, iOS
March -April
Beta 2:Android
iOS
Beta 1 (Aug 2015):Android
iOSJava
Questions?