Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for...

26
Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri Developer Summit

Transcript of Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for...

Page 1: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Getting Started with theArcGIS Runtime SDK for Qt

with Thomas Dunn and Koushik Hajra

March 8–11, 2016 | Palm Springs, CA

Esri Developer Summit

Page 2: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

What if ...?

Page 3: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Agenda for today

▪ Intro to Qt, QML and Runtime

▪ Qt Widgets (C++) development

▪ Qt Quick (QML) development

This is an intro-level tech session

Page 4: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

What is Qt?

• Cross-platform libraries• High-level abstractionsEasy

• Write once, run anywhere• Builds as native C++Portable

• Pre-built platforms• Source codeOpen

http://qt.io

Page 5: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Qt Creator

▪ The IDE for Qt development

▪ Use Qt Creator on Linux, OS X or Windows

▪ Qt Creator comes with the Qt SDK from the Qt Company

http://www.qt.io/download/

Page 6: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

What is ArcGIS Runtime SDK for Qt?

▪ Build advanced mapping apps for mobile & desktop clients

▪ Build apps that leverage the ArcGIS platform

▪ Build C++ apps for Linux and Windows

▪ Build QML apps for Linux, Windows, Android, iOS and OS X

▪ Build natively on top of Runtime’s C++ core and GPU acceleration

▪ Build apps that are connected to network services or disconnected

Page 7: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Runtime platforms

Qt

OS X

Windows Store

JavaSE

iOS

Android

Windows Phone

Mobile

Desktop

Embedded

.NET

Windows Desktop

Qt

Page 8: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Runtime platforms

QT

OS X

Windows Store

JavaSE

iOS

Android

Windows Phone

Mobile

Desktop

Embedded

.NET

Windows Desktop

Page 9: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

http://developers.arcgis.com

Page 10: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

How do I install it?

▪ Install the Qt Frameworkfrom the Qt Company – Use the latest version

▪ Log onto ArcGIS Online with your developer account

▪ Download ArcGIS Runtime SDK for Qt

▪ Run the installer and the post installer

Page 11: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Installation tips

Demo

S

Page 12: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Qt Widgets ( C++ )development

Page 13: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Map layers

Layers are added to the map in order, bottom-to-top

Graphics layers: live / temporary data:Vehicles, people, events

Basemap layer: spatial contextImagery, topography

Operational layers: dynamic featuresFacilities, buildings, zones, networks

Page 14: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Where do I get data?

▪ Online Services: access these via a URL– ArcGIS Online: your organizations data or data available to the public

▪ http://services.arcgisonline.com/ArcGIS/rest/services

▪ Local Content: author packages and deploy them with your app– Use a tile package as a high performance base map layer– Query from a local map service build from a map package– Geocode using locator files

Page 15: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Task-based framework for asynchronous operations

1. Construct a task object

2. Provide parameters

3. Connect slots for completion

signals

4. Execute task

5. Grab results in slot when task

completes

Some Runtime tasks:o Locator (geocoding) o Routing o Geoprocessingo Geodatabase synco Findo Queryo Identify featureso Find closest facilityo Calculate service areao Tile cache generation

Page 16: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

C++ apps

Demo

Page 17: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Qt Quick ( QML )Development

Page 18: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

What is QML?

▪ The language for the Qt Quick product from The Qt Company

▪ A declarative language for building cross-platform apps

▪ Declaring components is similar to writing JSON or CSS

▪ Writing functions with JavaScript

▪ Easy to read, easy to write

▪ Create UI rapidly with animation and prebuilt controls

http://qt.io/qt-quick/

Page 19: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

ArcGIS Runtime and QML

▪ Extends QML by adding QML types with ArcGIS Runtime functionality

https://developers.arcgis.com/qt/qml/guide/qml-and-esri-s-qml-api.htm `

Page 20: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

QML apps

Demo

Page 21: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Licensing levels

▪ DeveloperAll functionality available while you develop your app (with a developer account)Displays map watermark and debug messages to the console

▪ BasicThe basics for online app development, that is, all functionality except– Offline locators - Offline routing – Offline editing - Local geodatabase sync operations with an upload

▪ StandardAll functionality

https://developers.arcgis.com/qt/qml/guide/license-your-app.htm

Page 22: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Where to from here?

Create a developer accounthttps://developers.arcgis.com/sign-up/

https://developers.arcgis.com/qt/

https://developers.arcgis.com/qt/cpp/sample-code/

https://geonet.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-for-qt

Page 23: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Samples

Demo

Page 24: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Coming soon in Quartz

▪ QML Map View accessible from C++ API

▪ Samples hosted on GitHub

▪ Support for vector tile layers

▪ Support for 3D scenes

▪ Support for Webmaps

▪ Support for mobile map packages

More info in session The Road Ahead: ArcGIS Runtime

Page 25: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri

Related sessions

▪ QML and JavaScript for Native App Development– Wednesday 1:00 – 2:00 pm in Smoketree A - E

▪ Advanced topics in Developing ArcGIS Apps with Qt– Thursday 9:00 – 10:00 am in San Jacinto (this room)

▪ Cross-platform UI for C++ Apps using QML at Quartz– Thursday 10:30 – 11:30 am in Demo Theater 3 (Oasis 1)

▪ Cross-platform Native App Development with Qt/QML– Thursday 2:30 – 3:30 pm in Demo Theater 3 (Oasis 1)

▪ The Road Ahead: ArcGIS Runtime– Thursday 5:30 – 6:30 pm in Primrose A

Rate this session at: www.esri.com/RateMyDevSummitSession

Page 26: Getting Started with the ArcGIS Runtime SDK for Qt...Getting Started with the ArcGIS Runtime SDK for Qt with Thomas Dunn and Koushik Hajra March 8–11, 2016 | Palm Springs, CA Esri