arcgis runtime sdks: using qml to build native …...title arcgis runtime sdks: using qml to build...

23
ArcGIS Runtime SDKs: Using QML to Build Native Cross- platform Apps Eric Bader @ECBader DevSummit DC February 26, 2016 | Washington, DC

Upload: others

Post on 21-May-2020

76 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

QML was designed to build apps

Page 7: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

Installing the Qt SDK on Windows

Page 14: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

Installing the Qt SDK on Mac

Page 15: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

Let’s see it in action

Page 16: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

What’s ahead…

Page 17: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation
Page 18: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

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 …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation

Questions?

Page 23: ArcGIS Runtime SDKs: Using QML to Build Native …...Title ArcGIS Runtime SDKs: Using QML to Build Native Cross-Platform Apps Author Esri Subject 2016 Esri Developer Summit DC--Presentation