Transcript
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

Recommended