ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

Similar documents
ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

ArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella

ArcGIS Runtime SDK for.net: Building Xamarin Apps. Rich Zwaap Thad Tilton

ArcGIS for Developers: An Introduction. Moey Min Ken

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

ArcGIS Runtime SDK for.net Building Apps. Rex Hansen

ArcGIS Runtime SDK for Qt: Building Apps. Koushik Hajra and Lucas Danzinger

ArcGIS Runtime SDK for.net Getting Started. Jo Fraley

ArcGIS Runtime SDK for Java: Building Apps. Tyler Schiewe

Introduction to Mobile Development

ArcGIS App Strategies Ben

ArcGIS Runtime SDK for Java: Building Apps. Mark Baird

ArcGIS Runtime SDK for Java: A Beginner s Guide. Mark Baird JC Malott

Esri Developer Summit in Europe Building Applications with ArcGIS Runtime SDK for Java

ArcGIS Runtime SDK for WPF

An introduction to ArcGIS Runtime

Developing Qt Apps with the Runtime SDK

Kick Start your Embedded Development with Qt

Qt for Device Creation

Getting Started with the ArcGIS Runtime SDKs. Dave, Will, Euan

Mobile Development Updates From #MSBuild 2017 &.NET Standard (& What It Means For You) Andrew Birch

ArcGIS Runtime SDKs: Building a Routing Application. Frank Kish Konstantin Kutsner

An Introduction to GIS for developers

Introduction to Xamarin Cross Platform Mobile App Development

Getting Started with ArcGIS Runtime. Jeff Shaner David Cardella

Interactive webmaps with ArcGIS. Kristel Meikas, AlphaGIS

Getting Started with ArcGIS Runtime SDK for the Microsoft.NET Framework. Morten Nielsen Mike Branscomb Antti Kajanus Rex Hansen

Developing Mobile Apps with the ArcGIS Runtime SDK for.net

Best Development Practices and Patterns Using ArcGIS Runtime SDK for Android. Xueming Wu Puneet Prakash

ArcGIS Apps: An Overview

XAMARIN Application Development - Workshop

Building Apps with the ArcGIS Runtime SDK for ios

Xamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS?

ArcGIS for Mobile An Introduction. Bonnie Stayer

ArcGIS GeoEvent Server: Making 3D Scenes Come Alive with Real-Time Data

Deploying ios Apps. Al Pascual

Sharing Web Layers and Services in the ArcGIS Platform. Melanie Summers and Ty Fitzpatrick

Web AppBuilder Presented by

Xamarin for C# Developers

ArcGIS Runtime SDK for ios and macos: Building Apps. Suganya Baskaran, Gagandeep Singh

ArcGIS Runtime: Building 3D Apps. Rex Hansen Adrien Meriaux

Index. Alessandro Del Sole 2017 A. Del Sole, Beginning Visual Studio for Mac,

Building Applications with ArcGIS Runtime SDK for ios - Part I. Divesh Goyal Mark Dostal

Tom Brenneman. Good morning and welcome, introductions and thank you for being here.

Nokia for developers. Alexey Kokin. Developer Relations

Take Your Team Mobile with Xamarin

JavaFX. JavaFX Overview Release E

Building WPF Apps with the new ArcGIS Runtime SDK for.net. Antti Kajanus Mike Branscomb

Dynamic Situational Awareness. Through Developer Applications

Mitchell Bosecke, Greg Burlet, David Dietrich, Peter Lorimer, Robin Miller

Building Applications with the ArcGIS Runtime SDK for WPF

Mobile Technologies. Types of Apps

Steps to Set Up the Environment of Xamarin in Visual

DAQRI ARToolKit 6/Open Source. Mobile development. ios and Android. Oxford Brookes University

Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy

Designing for the Mobile Web Lesson 4: Native Apps

HOW REACT NATIVE AND NATIVESCRIPT CHANGE YOUR MOBILE STRATEGY SEBASTIAN

Bringing your Data to Life in the ArcGIS API for JavaScript: Vector Tiles. Craig Williams &

Manual Visual Studio 2010 Web Developer Tools Offline

The Road to Runtime. Mark Cederholm UniSource Energy Services Flagstaff, Arizona

No Programming Required Create web apps rapidly with Web AppBuilder for ArcGIS

Transitioning to the ArcGIS Runtime SDK for.net. Antti Kajanus & Mike Branscomb

Working with the ArcGIS Viewer for Flex Application Builder

Modern App Architecture

Working with Feature Layers. Russell Brennan Gary MacDougall

ArcGIS Enterprise: Sharing Imagery. Zikang Zhou Imagery and Raster team

CS 235AM, Mobile Application Development: Android Spring 2016

In the Driver s Seat

Azure Mobile Apps and Xamarin: From zero to hero. Nasos Loukas Mobile Team KYON

Connect and Transform Your Digital Business with IBM

Advances in GIS help create Smarter Communities

Android Sdk Setup For Windows 7 32 Bit Full Version

<Insert Picture Here> JavaFX 2.0

Mobile Programming. Two Scenarios Web sites, like Tuubi where you read/write/download/ upload material

Xamarin Mobile Development For Android Cookbook

Mobile Development A Whirlwind Tour!

Extending ArcGIS for Server. Jon Satchwell, Esri Switzerland Cédric Despierre Corporon, Esri France

Tizen.NET. Transition of Tizen Developer Environment. Samsung Electronics S/W Center Sung-Jae Lee, Seungkeun Lee

Demystifying.NET Standard and.net Core. Presented by Steve Ives

Windows 8. Rainer Stropek. System Architecture. System Architecture re of Windows Store Apps. Saves the day. software architects gmbh

Web Mapping Applications with ArcGIS. Bernie Szukalski Derek Law

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

ArcGIS Runtime: Styling Maps. Ralf Gottschalk, Daniel Lee, Lucas Danzinger

Desktop Mapping: Creating Vector Tiles. Craig Williams

3D in the ArcGIS Platform. Chris Andrews

MS_40541 Build Native Cross-Platform Mobile Apps with a Shared C# Business Logic for ios, Android, and UWP in C#.NET with Xamarin and Visual Studio

ArcGIS Enterprise Extending Services. Bill Major

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

Vb Net Tutorial For Beginners Visual Studio 2010 Express Windows Service Template

ArcGIS Runtime SDK for Android: Building Apps. Shelly Gill

ArcGIS Enterprise: Portal Administration BILL MAJOR CRAIG CLEVELAND

Configuring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton

ArcGIS Runtime SDKs Building Offline Apps. Nick Furness

ArcGIS Runtime: Working with Maps Online and Offline. Will Crick Justin Colville [Euan Cameron]

ArcGIS Viewer for Silverlight Advanced Topics

Multi-platform Mobile App. Development with Apache Cordova

Configuring ArcGIS Enterprise in Disconnected Environments

Java Plugin Update Windows 7 64 Bit Latest Version Cnet

Austin Mobile.NET Develops Group

Where s the difference?

Transcription:

ArcGIS Runtime: Building Cross-Platform Apps Mike Branscomb Michael Tims Tyler Schiewe

Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET

Native vs Web Native strategies offer the best device integration and the most out-of-the-box functionality for connected and offline workflows, but they require native development skills. You can use ArcGIS Runtime SDKs to create native apps. Web strategies use HTML, JavaScript, and CSS hosted on a web server and delivered to the user's device or desktop using a web browser. This strategy is best for connected workflows if you don't know the devices your users have and you need to reach a wide audience. You can use the ArcGIS API for JavaScript to create web client solutions.

Cross-platform Native Application Considerations Benefits - Share application code - Enforces good design patterns - Makes your app available to more users Challenges - User experience of your app may vary - Handling platform idiosyncrasies (security, bugs, etc) - More testing - Development cost

Building Native Apps on Multiple Platforms Which One is Right for Me? - Understand expectations of your users - Educate yourself and your team - Be prepared to learn something new Multiple players in the market - Java - Qt Company - Microsoft

ArcGIS Runtime Cross Platform Options All Runtime APIs built on common Runtime core Android Java ios macos Qt / QML.NET / Xamarin C++ runtime core Windows Android Linux ios macos UWP x86 x64 ARM DirectX OpenGL

Java Tyler Schiewe Qt/QML Michael Tims.NET/Xamarin Mike Branscomb

Java Tyler Schiewe

Cross platform Java Development Write once, run anywhere ArcGIS Java Runtime SDK is aimed at desktop platforms Sits on the ArcGIS Runtime core architecture (C++) via JNI JavaFX for building modern, native-looking GUIs Massive ecosystem of mature, open-source libraries to use

Development and Deployment Deploy Windows Linux Mac OS X JAR file JRE JRE JRE Compile IDE JAR file JAR file JAR file Runtime Core Runtime Core Runtime Core.dll file.so file.dylib file Development environment Cross platform deployments

Cross platform Java Development Layout uses a native window Styling with CSS Optionally use markup for layout (FXML) Be mindful of file paths C:\Users\Tyler\Projects\MyData.geodatabase /Users/Tyler/Projects/MyData.geodatabase <StackPane fx:controller="com.esri.samples.mysample.samplecontroller" xmlns:fx="http://javafx.com/fxml" stylesheets="/css/style.css"> <MapView fx:id= mapview"/> <!-- SDK control --> <HBox StackPane.alignment="TOP_CENTER" maxwidth="200" maxheight="50" spacing="5" styleclass="panel-region"> <Label text= Click me: "/> <Button fx:id= mybutton" onaction= #myevent"/> </HBox> </StackPane>

Demo An App for Windows, Linux, and Mac javapackager -deploy -native -outdir packages -outfile SampleViewer -srcdir./ -srcfiles java-se-sample-viewer-1.0.jar -srcfiles jnilibs -srcfiles resources -srcfiles samples-data -appclass com.esri.sampleviewer.app -name "SampleViewer" -title "Sample Viewer

Summary Pros - IDE and JDK are free - Deployments can be identical for ALL platforms - JavaFX apps style for the platform Cons - Clients must have Java installed - Not targeted for mobile applications or web apps - Verbose syntax

Qt/QML Michael Tims

Qt The Qt Company qt.io 20 Years in cross-platform development 1 Framework - Code once, run anywhere on any device Over 1 Million downloads of latest framework version 800,000 developers (indie, corporate) worldwide Open-source community Proven to speed time-to-market by 50% for cross-platform

Platform Support ArcGIS Runtime SDK for Qt *Future Release Bullet points here API Windows Linux macos Android ios WinUWP C++ QML

1 SDK, 2 APIs ArcGIS Runtime SDK for Qt C++ API - Qt Widgets for UI - Qt Quick (QML) for UI - Modern C++ language C++ 11 - Fast performance direct binding to the Runtime Core (C++) QML API - Qt Quick (QML) for UI - Declarative language - Imperative JavaScript business logic code

QML API Example QML code Highly readable JSON/CSSlike syntax ArcGIS Runtime Declarative UI elements Imperative JavaScript Code to handle events Dynamic property binding

Qt SDK System setup Make time to setup your builds Compiler, SDK dependencies - ios: Xcode compiler - Windows: Visual Studio compiler - Linux: GCC compiler - Android: Android NDK and SDK Setup once, same code across platforms IDE: Qt Creator - Cross-platform IDE - Design, develop, test, deploy from one tool

Qt SDK ArcGIS Extras Extra APIs provided UI display scale factor - Qt 5.6 brings out-of-the-box High-DPI support Core APIs exposed to QML - File IO - Application settings - AppStudio s AppFramework also provides more functionality

Qt SDK Coming soon APIs not currently available in Qt framework Push notifications Qt Speech (text to speech) Tech Preview Background/suspended location updates Qt 5.9! Access photo gallery on Android

Qt Quick Controls Out-of-the-box controls for QML macos Android Nexus 5

Qt Quick Controls 2 Common UI controls for QML Material style (Google) Universal style (Windows)

Qt SDK Licensing Open Source or Commercial Use Qt for Application Development license model Dual-licensed under commercial and open source licenses - Commercial - Full rights to create and distribute software - Open Source - Qt 5.6.x - LGPLv2.1 - Qt 5.7.x and up - GPL and LGPLv3 More information - http://www.qt.io/licensing

Qt SDK Pros and Cons APIs not currently available in Qt framework Pros - Same modules - Same code - Same workflow - Same look and feel - Access to device sensors - Open source community Cons - Incomplete / initial APIs from Qt - Common abstraction API for iphone and Android SDKs - Look and feel of the native platform - Qt framework can increase apps size

.NET / Xamarin Mike Branscomb

What is Xamarin? Xamarin - Based on the Mono runtime* - Compiles into a native Android or ios app - Exposes all Android and ios APIs Xamarin is not a cross-platform SDK. It s a cross-platform language (C#) - Most of.net s core libraries are shareable code - UI code is very platform specific - Device code not shareable (Bluetooth, GPS, sensors etc) Abstraction-libraries exist that simplifies this - Xamarin.Forms: Cross-platform UI framework which supports XAML - Lots of nuget-libraries

What is ArcGIS Runtime SDK for.net Supports: - WPF - Universal Windows Platform apps (UWP) - Xamarin.Android - Xamarin.iOS - Xamarin.Forms (Android, ios, and UWP) Exact same business logic code for all platforms. - Use native platform UI framework - Or use Xamarin.Forms abstraction to share UI logic as well

ArcGIS Runtime SDK for.net & Xamarin Architecture Diagram WPF UWP ios Android Public SDK Internal WPF UWP ios Android Native UI MapView, SceneView.NET Framework ArcGIS Runtime SDK for.net (C#).NET Core Interop Xamarin Forms ArcGIS Runtime Core (C++) Mono / Xamarin Common UI Common SDK Maps, scenes, layers, symbols, feature data, geocoding, routing, portal, rasters, offline/syncing, geometry, geometry engine Where all the magic happens OS Win32 Windows Runtime ios Android

ArcGIS Runtime SDK for.net & Xamarin A simpler view WPF UWP ios Android WPF Xamarin Forms Native UI MapView, SceneView ArcGIS Runtime SDK for.net (C#).NET Common SDK Maps, scenes, layers, symbols, feature data, geocoding, routing, portal, rasters, offline/syncing, geometry, geometry engine Operating System

Xamarin Demo Source: http://esriurl.com/xamarinrouting

Pros and Cons Pros: - Xamarin is free and Open Source - Note: Visual Studio isn t free for most commercial uses though - Target all platforms in a single IDE (Visual Studio), on a single OS* - Full access to all native platform APIs Cons: - Not 100% abstraction of all platform code - Xamarin Tooling (while greatly improving) can be a little buggy - *You need a Mac for ios deployment

Questions? developers.arcgis.com/arcgis-runtime

Please Take Our Survey on the Esri Events App! Download the Esri Events app and find your event Select the session you attended Scroll down to find the survey Complete Answers and Select Submit