Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing...
Transcript of Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing...
![Page 1: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/1.jpg)
Developing Cross-Platform Native Apps with AppStudio for ArcGIS
(Advanced)Elvin Slavik, Sathya Prasad
March 8–11, 2016 | Palm Springs, CA
Esri Developer Summit
![Page 2: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/2.jpg)
Desktop ToolsA quick tour of the Desktop Edition tools
![Page 3: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/3.jpg)
Hello World
![Page 4: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/4.jpg)
AppPlayerTest and deployment tool
![Page 5: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/5.jpg)
AppPlayer Test and Enterprise Deployment Model
PlayerUpload
![Page 6: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/6.jpg)
What is QML?Qt Meta Language
![Page 7: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/7.jpg)
What is QML?
HTML
CSS
Frameworks & Libraries, ArcGIS JavaScript API
(Angular, jQuery)
JavaScript
QML
JavaScript
A JavaScript-based, declarative language for designing user interface–centric applications.
Web Browsers
Quick FrameworkAppFrameworkArcGIS Runtime
C++Compilers
XAML
.NET FrameworkArcGIS .NET Runtime API
Visual StudioC# Compiler
C#
Player Make
![Page 8: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/8.jpg)
QMLRectangle {
id: myRectangle
x: 50y: 100width: 100height: 50color: “red”Text {
anchors.centerIn: parentcolor: “yellow”text: “Hello World”
}}
QML + JavaScriptButton {
anchors {
horizontalCenter: parent.horizontalCenter
top: parent.top
margins: 20
}
text: myRectangle.visible ? “Hide it” : “Show It”
onClicked: {
myRectangle.visible = !myRectangle.visible;
}
}
![Page 9: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/9.jpg)
Generic QML Demos
![Page 10: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/10.jpg)
QML – Some of the awesome bits
• It’s FAST!• Property binding• Signals (aka events)• Promotes componentization and reuse of your code• Animation• JavaScript Engine (EMCA 5)• Backed by native C++ code and libraries
![Page 11: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/11.jpg)
The StackFrameworks and the Runtime
![Page 12: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/12.jpg)
The Stack
ArcGIS Runtime APIAppStudioAppFrameworkQt Quick Framework
App App App App
ArcGIS Maps, Feature Services, Packages …
![Page 13: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/13.jpg)
QML APIs
ArcGISRuntime API
AppStudioAppFramework
Qt QuickFramework
• Core QML Components• UI Controls• Positioning• Sensors
• Map Control• Layers• Geometry• Portal• Geocoding• Network Analysis• Geodatabase• Symbology
• App Infrastructure• File System Components• Network Components• UI Widgets• Additional Plugins
![Page 14: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/14.jpg)
GIS App Demos
![Page 15: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/15.jpg)
Cloud MakeWe do the hard stuff for you
![Page 16: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/16.jpg)
How Cloud Make Works
AppFactoryService
App Item
Build Request
App
Upload
Make
1
2
3
Native App(s)
eMailNotifications
![Page 17: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/17.jpg)
Distributing AppsGetting your stuff to users
![Page 18: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/18.jpg)
Deploying Apps
• What are the options?• Which way do I go?
Run in Player Make Binaries
• Development & Test• Enterprise
• Enterprise• App Stores
![Page 19: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/19.jpg)
ResourcesThere is good stuff out there
![Page 20: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/20.jpg)
• http://qmlbook.github.io• http://doc.qt.io/qt-5/qml-tutorial.html• http://doc.qt.io/qt-5/qtqml-index.html• http://stackoverflow.com/questions/tagged/qml• https://geonet.esri.com/groups/appstudio• https://github.com/Esri/arcgis-appstudio-samples
• Ask the interwebs? There are many great resources out there
A few useful links….
![Page 21: Developing Cross-Platform Native Apps with AppStudio for … · 2016-03-15 · Developing Cross-Platform Native Apps with AppStudio for ArcGIS (Advanced) Elvin Slavik, Sathya Prasad.](https://reader030.fdocuments.in/reader030/viewer/2022011822/5ec55dc02b674962ee1eebe6/html5/thumbnails/21.jpg)