arcgis runtime sdk for qt: hit the ground running...build qml apps for linux, windows, android, ios...
TRANSCRIPT
ArcGIS Runtime for Qt:Hit the ground running!
withThomas Dunn and Koushik Hajra
What if ...?
Agenda for today
▪ Intro to Qt, QML and Runtime
▪ Qt Widgets (C++) development
▪ Qt Quick (QML) development
This is an intro-level tech session
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
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/
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
Runtime platforms
Qt
OS X
Windows Store
JavaSE
iOS
Android
Windows Phone
Mobile
Desktop
Embedded
.NET
Windows Desktop
Qt
Runtime platforms
QT
OS X
Windows Store
JavaSE
iOS
Android
Windows Phone
Mobile
Desktop
Embedded
.NET
Windows Desktop
http://Developers.esri.com
How do I install it?
▪ Install the Qt SDK from the Qt Company (use the latest: 5.4.1)
▪ Log onto ArcGIS Online with your developer account
▪ Download ArcGIS Runtime SDK for Qt
▪ Run the installer and the post installer
Installation tips
Demo
S
Qt Widgets ( C++ )development
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
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
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
C++ apps
Demo
Qt Quick ( QML )Development
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 is similar to writing JavaScript
▪ Easy to read, easy to write
▪ Create UI rapidly with animation and prebuilt controls
http://qt.io/qt-quick/
ArcGIS Runtime and QML
▪ Extends QML by adding QML types with much of the functionality of ArcGIS Runtime C++ API
https://developers.arcgis.com/qt/qml/guide/qml-and-esri-s-qml-api.htm `
QML apps
Demo
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
Where to from here?
Log onto ArcGIS Onlinehttps://www.arcgis.com/home/signin.html
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
Sample apps
Demo
Related sessions
▪ Real-world Native App Design Using Qt/QML– Today 1:00 – 2:00 pm in the Santa Rosa Room
▪ Build and Android and iOS App in 20 Minutes– Today 2:30 – 3:00 pm in Demo Theater 1 (Oasis 1)
▪ C++ Unchained: Extending the QML API of ArcGIS Runtime for Qt– Today 4:30 – 5:00 pm in Mesquite B
▪ The Road Ahead: ArcGIS Runtime– Tomorrow 8:30 – 9:30 am in Primrose A
Rate this session at: www.esri.com/RateMyDevSummitSession