Geospatial Research & Solutions GIS.ASU.EDU

Slides:



Advertisements
Similar presentations
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Advertisements

Amanda Silver Director of Program Management Visual Studio Tools for Client Applications Cross-Platform Development using Visual Studio.
Development of mobile applications using PhoneGap and HTML 5
Native vs hybrid vs web mobile Application
The PhoneGap History Doncho Minkov Telerik Academy academy.telerik.com Technical Trainer
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS Runtime Euan Cameron Mary Harvey Ralf Gottschalk Road Ahead.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
Sharing Geographic Content
Cross Platform Mobile Backend with Mobile Services James
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Mobile Web Applications
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
Best Design Practices Using the Qt Runtime SDK (using QML)
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Adobe Presentation Brijesh Patel | Working with AIR Native Extensions.
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
Extending ArcGIS for Server
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Understanding Xamarin Development Matt
Office Business Applications Workshop Defining Business Process and Workflows.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Flex for Flash Developers Sho Kuwamoto Sr. Director, Engineering Adobe Systems, Inc.
Developing Cross Platform Apps with the ArcGIS Runtime SDK for Qt
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Mobile Application Development Kevin Payne & Andi Saputra JWH Group.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
QML and JavaScript for Native App Development Michael Tims Jen Trieu.
Sharing Maps and Layers to Portal for ArcGIS Melanie Summers, Tom Shippee, Ty Fitzpatrick.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Creating mobile applications that integrate with SharePoint 2013 on-
Introduction ITEC 420.
Introducing the Microsoft® .NET Framework
Beginning of Xamarin for iOS development
Introduction to Xamarin C# Everywhere
Xamarin for Visual Studio Enterprise
Microsoft Evangelist Presentation
ET-570 Smart Phone Apps.
Xamarin Studio Xamarin Curriculum for Xamarin Studio
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Developing GIS WebParts in SharePoint
Apache Cordova Overview
The Transition to Modern Office Add-in Development
OpenWells Cross-Platform Mobile Application
Multi-Device Hybrid Apps What, Why, and When to Use Hybrid Development Option Ervin Loh ALM Program Manager
Survey Paper & Manuscript
Module 1: Getting Started
Mobile Application Development with MeeGo™ - Programming with SDK
Programming vs. Packaged
Mobile App Development
DotnetConf 11/14/2018 3:27 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
CS323 Android Getting Started
Windows 10 Preview Andy & Jerry
And I have to create mobile apps too?
Office 365 Development.
Open Automation Software
Web AppBuilder for ArcGIS
Android Platform, Android App Basic Components
Windows Forms in Visual Studio 2005: An in-depth look at key features
Mark Quirk Head of Technology Developer & Platform Group
ArcGIS Pro: An Introduction Overview
Presentation transcript:

Geospatial Research & Solutions GIS.ASU.EDU

Cross Platform Mobile GIS applications Using QT and ESRI Geospatial Research & Solutions GIS.ASU.EDU Ayan Mitra is an application developer in the Geospatial Reseach & Solutions Group at Arizona State University. He specializes in developing data driven, interactive GIS applications. He also likes the finer things in life, like beer and chicken wings.

Make me a mobile App! Step 1: Hell Yeah! Step 2: Define Requirements. Step 3: Pick a SDK ( Hyperventilation + Light crying ).

Cross Platform Mobile Development with ESRI Do you need to support only IOS OR Android (use the corresponding Esri runtime SDK) Do you need to support BOTH IOS AND Android (use Cross Platform App Frameworks) QT Xamarin Phonegap

WHY QT Supports IOS, Android, Windows, OSX, Linux Code compiled natively for each platform but shares the same codebase More performant than hybrid / Html frameworks such as Phonegap Lets you use Javascript to write UI & business logic More mature technology than Xamarin (as far as the ESRI SDK’s are concerned) As of 2016 supports the largest number of OS, compared to Esri’s Xamarin SDK Arrghh….working with Beta Software sucks! (Esri Xamarin SDK is in beta) Top notch for building Fluid responsive user interfaces

WHY TO NOT USE QT You need to support only 1 OS (Like Ios OR Android) You don’t need offline capabilities (such as large tile caches, lots of offline data) (use hybrid frameworks like Phonegap or maybe just a Mobile web version of your app) You are a Microsoft Shop / Invested in Visual Studio (use Xamarin)

Introduction to Esri & QT: Two ways to build your app Esri QT SDK (QML Version) QML, Javacript Esri QT SDK (C++ Version) C++ QML / JS – Easier to work with. QML is the markup language to instantiate pre-existing components (Like HTML or MXML). Use JS to build user interaction and business logic. (for Flex developers this is similar to using MXML and Actionscript). C++ - More complexity. Gives you full use of the local server. Example - lets you run custom geoprocessing services offline on device.

Anatomy of a QML App Programming Languages & IDE QML – QT meta language – A markup language (like html) that lets you reuse pre-created user interface objects (like buttons, drop-down menus). JavaScript – Used to write code for user interface interactions and custom business logic. (optional ) C++ - can optionally use C++ to extend components (ie create a custom C++ class that runs an algorithm and trigger that class from QML UI) IDE – QT Creator. I also had to get comfortable with Xcode (To troubleshoot for IOS builds).

Anatomy of a QML App Sample QML Code QML Component Name Rectangle Component QT supports reactive programming When the Data model that is bound to a UI object changes, the UI changes automatically. Rectangle { id: sprite ; width: 25; height: 25; x: 50; y: 15 ; onXChanged: console.log("x property changed, emitted xChanged signal") onYChanged: console.log("y property changed, emitted yChanged signal") } Defining Properties Id (unique) Width, height and Position (x,y) Signals & Signal Handlers (event handling) Inline Javascript Code in the signal handler. Run when x or y properties change.

Event-Driven Programming QML Signal and Handler Event System Signals provide a way to notify other objects when an event has occurred. Connect Signals to other signals or methods (slots) Signals and slots are loosely coupled and are type safe. This is very similar – dojo’s event handlers/ signals & slots implementation is based off the same concept.

QML Application Development Development Workflow Overview Create your application user interface using QML If you need custom user interface components, string existing QML components to do that Create custom javascript code that drive your applications business logic Define your event handling (using signals & slots) For Ios, make sure the appropriate Xcode developer components are installed. Then build and test on simulator. Build and test with device (Ipad, Iphone, etc). Sign app and deploy to test devices (Internal deployments or TestFlight). Finally when done with Testing, deploy to app store for approval.

Prepping Data for Runtime SDK applications Operational vector data – created from mxd document Customize > ArcMap Options > Sharing > Enable ArcGIS Runtime Tools Then Open Arcmap, prep your data and then pick File > Share As > ArcGIS Runtime Content. Copy over your runtime content to your mobile device (for Ios use itunes) For debugging on your workstation, copy over the Arcgis runtime content to the appropriate location https://developers.arcgis.com/qt/qml/guide/deploy-local-offline-data-with-your-app.htm Stored as .geodatabase extension ( based on sqlite ) Tiled Basemaps Create tile packages (.tpk) files and copy to appropriate location

Questions Geospatial Research & Solutions GIS.ASU.EDU Ayan.Mitra@asu.edu