arcgis runtime sdks: using qml to build native cross-platform...
TRANSCRIPT
![Page 1: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/1.jpg)
ArcGIS Runtime SDKs: Using QML to Build Native Cross-
platform Apps
Eric Bader@ECBader
DevSummit DCFebruary 26, 2016 | Washington, DC
![Page 2: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/2.jpg)
Agenda
• What we mean by Cross-platform• QML, Apps, and the ArcGIS Runtime SDK for Qt• Build once, compile it for many• What’s ahead• Questions
![Page 3: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/3.jpg)
Runtime Platforms and APIs
Qt
OS X
Windows Store
JavaSEiOS
Android
Windows Phone
WindowsDesktop
Mobile
Desktop
Embedded
![Page 4: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/4.jpg)
Runtime Platforms and APIs
OS X
Windows Store
JavaSEiOS
Android
Windows Phone
WindowsDesktop
Qt
Mobile
Desktop
Embedded
![Page 5: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/5.jpg)
Runtime Platforms and APIs
OS X
Windows Store
JavaSEiOS
Android
Windows Phone
WindowsDesktop
Mobile
Desktop
Embedded
Qt
![Page 6: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/6.jpg)
QML was designed to build apps
![Page 7: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/7.jpg)
QML
• A User Interface framework and declarative language- Collection of UI components- Model-view support- JavaScript engine- Animation framework- Properties- Property bindings- Can talk to C++
• A bit like CSS, HTML and JSON
Rectangle{id : rectcolor : “red”onColorChanged : titleText.text = “We changed the color”
}Text{
Id : titleTextText : “My First Map”
}Map{
id : myMaponStatusChanged : rect.color = “green”mapScale : rect.colorChanged ? 40000 : 10000
}
Property
Property Signal handler
Component signal handler
Property Signal
![Page 8: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/8.jpg)
QML
ArcGISRuntime API
Qt QuickFramework
• Core QML Components• UI Controls• Positioning• Sensors
• Map Control• Layers• Geometry• Portal• Geocoding• Network Analysis• Geodatabase• Symbology
![Page 9: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/9.jpg)
ArcGIS Runtime Extends the Qt framework
Qt Framework
Android iOS WindowsOS X Linux
Runtime Core
Runtime API for Qt (C++)
Runtime API for Qt (QML)
Windows Universal
Embedded SystemsWindows CE6, EC7
![Page 10: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/10.jpg)
Qt apps are native
• Wrappers around native services- Native compiler- Possibility to mix code *- Native performance
Hardware
Windows Kernel Mac Linux Kernel
Win32 GDI Carbon / Cocoa X11
Qt Windows Qt Mac Qt Linux
Qt
Qt APIs
Application Application Application
Esri QML API
![Page 11: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/11.jpg)
About the QML API in ArcGIS Runtime SDK for Qt
• No C++ development is required• JavaScript skills come in handy• You can use Qt QML Types with Esri’s
- States, Transitions
• Functionally, almost equivalent to CPP API *
* No LocalServerNo GeoprocessingNo Military Standard Symbology
![Page 12: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/12.jpg)
What You Need for Development
• Windows + Visual Studio, Linux, or Mac OS • Qt SDK and Qt Creator from The Qt Company – http://qt.io
• Building for Android devices? - The Android SDK & NDK bits- Ant- JDK (8)- Do NOT WORRY – you don’t need to know how to use these!
• Building for iOS devices? - Xcode- Apple Developer Subscription
• ArcGIS Runtime SDK for Qt - http://developers.arcgis.com/qt
![Page 13: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/13.jpg)
Installing the Qt SDK on Windows
![Page 14: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/14.jpg)
Installing the Qt SDK on Mac
![Page 15: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/15.jpg)
Let’s see it in action
![Page 16: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/16.jpg)
What’s ahead…
![Page 17: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/17.jpg)
![Page 18: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/18.jpg)
Direct Read of Files Local Analysis 3D Map AuthoringCross Platform
ArcGIS Runtime 2016Adding Critical Functionality
![Page 19: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/19.jpg)
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
![Page 20: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/20.jpg)
Blogs on Quartz
Quartz Deep Dive - https://blogs.esri.com/esri/arcgis/2015/09/10/quartz-architecture-deep-dive/
Quartz Announcement - https://blogs.esri.com/esri/arcgis/2015/08/26/quartz-beta-1-is-now-available/
![Page 21: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/21.jpg)
Resources
• Developer Resources –- http://developers.arcgis.com/qt- http://doc.qt.io/qt-5/qmlfirststeps.html
• Blogs –- Qt and JavaScript - https://blogs.esri.com/esri/arcgis/2015/08/19/qt-and-javascript-a-native-
match-made-in-heaven/
• Connect with us on GeoNet –- https://geonet.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-
for-qt
![Page 22: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/22.jpg)
Questions?
![Page 23: ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform …proceedings.esri.com/library/userconf/devsummit-dc16/... · 2016. 3. 7. · Title: ArcGIS Runtime SDKs: Using QML](https://reader031.vdocuments.us/reader031/viewer/2022012009/613c15714c23507cb63527bb/html5/thumbnails/23.jpg)