![Page 1: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/1.jpg)
ArcGIS Runtime for Qt:Hit the ground running!
withThomas Dunn and Koushik Hajra
![Page 2: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/2.jpg)
What if ...?
![Page 3: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/3.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/4.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/5.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/6.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/7.jpg)
Runtime platforms
Qt
OS X
Windows Store
JavaSE
iOS
Android
Windows Phone
Mobile
Desktop
Embedded
.NET
Windows Desktop
Qt
![Page 8: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/8.jpg)
Runtime platforms
QT
OS X
Windows Store
JavaSE
iOS
Android
Windows Phone
Mobile
Desktop
Embedded
.NET
Windows Desktop
![Page 9: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/9.jpg)
http://Developers.esri.com
![Page 10: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/10.jpg)
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
![Page 11: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/11.jpg)
Installation tips
Demo
S
![Page 12: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/12.jpg)
Qt Widgets ( C++ )development
![Page 13: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/13.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/14.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/15.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/16.jpg)
C++ apps
Demo
![Page 17: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/17.jpg)
Qt Quick ( QML )Development
![Page 18: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/18.jpg)
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/
![Page 19: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/19.jpg)
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 `
![Page 20: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/20.jpg)
QML apps
Demo
![Page 21: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/21.jpg)
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: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/22.jpg)
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
![Page 23: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/23.jpg)
Sample apps
Demo
![Page 24: ArcGIS Runtime SDK for Qt: Hit the Ground Running...Build QML apps for Linux, Windows, Android, iOS and OS X Build natively on top of Runtime’s C++ core and GPU acceleration Build](https://reader031.vdocuments.us/reader031/viewer/2022020921/5e9c67198221c701456873e1/html5/thumbnails/24.jpg)
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