building native cross-platform apps with appstudio: an ... · challenges of native app development....

55
Erwin Soekianto Chris LeSueur Building Native Cross-Platform Apps with AppStudio: An Introduction

Upload: others

Post on 20-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Erwin SoekiantoChris LeSueur

Building Native Cross-Platform Appswith AppStudio: An Introduction

Page 2: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

• What is AppStudio for ArcGIS?

• Apps Built using AppStudio

• A Tour of AppStudio

• Deploying AppStudio Apps

• Customizing Apps with Code

• How do you get AppStudio

Agenda

Page 3: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

What is AppStudio for ArcGIS?

Page 4: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

What is AppStudio for ArcGIS?

Page 5: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

What is AppStudio for ArcGIS?

solution for

creating native apps

Page 6: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

What is AppStudio for ArcGIS?

low-code solution for

creating native apps

Page 7: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

What is AppStudio for ArcGIS?

low-code / no-code solution for

creating native apps

Page 8: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Why Native Apps?

Device Capabilities

App StoresOffline

Page 9: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Challenges of Native App Development

5XCODE

iOS

Linux

Mac

Android

WindowsApp Security

App Distribution

App Maintenance and Updates

Time and Cost$

Page 10: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Challenges of Native App Development

App Security

App Distribution

App Maintenance and Updates

Time and Cost$

1XCODE

AppStudio

Page 11: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

11

iOS

AndroidLinux

Windows

Mac

1App

Page 12: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

12

iOS

AndroidLinux

Windows

Mac

1App

Page 13: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Apps Built using AppStudio

Page 14: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App
Page 15: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Public Information Apps

Allegheny County Parks Trails

Tree Trails

Fieldays

Ecological MarineUnit

Page 16: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Data Collection Apps

Survey123

QuickCaptureTERRATRUTH

Page 17: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Business Apps

Esri Support

ArcGIS Companion

Wildfire Analyst Pocket

Page 18: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Enterprise Apps

Dig AlertLBW Construction

Platemeters

Page 19: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

San Juan County, NMSuccessStory

Page 20: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

PennDOT Guide Rail Management

• Built by GeoDecisions (Esri Partner)

• Custom version of Survey123

• Data is pushed to Roadway Management System

SuccessStory

Page 21: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Earth Challenge 2020 App

• Campaign from Earth Day Network

• Flexible Citizen Science App

• Developed by GeoMarvel (Esri Partner)

• Custom version of AppStudio Player

DevelopingStory

Page 22: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App
Page 23: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

A Tour of AppStudio

Page 24: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

AppStudio Architecture

Qt

Qt Library AppStudio AppFramework ArcGIS Runtime for Qt

Templates Samples Enterprise Sample Custom Apps

Page 25: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

AppStudio Architecture

Qt

Qt Library AppStudio AppFramework ArcGIS Runtime for Qt

Templates Samples Enterprise Sample Custom Apps Maps and Layers

Offline Maps and Data

Data Editing

Data Analysis

Routing / Navigation

3D Online / Offline

Page 26: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

The AppStudio suite of productivity tools

Cloud MakeAppStudio Player

ConfigurableTemplates

DeveloperEnvironment

AppStudioDesktop

AdvancedTemplates

InteractiveSamples

80+

Page 27: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Erwin SoekiantoTour of AppStudio

Page 28: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Who is using AppStudio

GISProfessional

Web GISUser

PythonDevelopers

WebDevelopers

ApplicationDevelopers

Page 29: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo HackerConfigurator Code Ninja

Page 30: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo HackerConfigurator• GIS User

• Have technical skills

• Builds Web Maps

• Creates Web Apps• Web AppBuilder• Configurable Apps

Code Ninja

Page 31: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo Hacker• GIS Professional

• Write/Run Python

• Read/Write HTML

• Dabble in JavaScript

• Copy/Paste Code

• Figure out how to get the job done

Configurator• GIS User

• Have technical skills

• Builds Web Maps

• Creates Web Apps• Web AppBuilder• Configurable Apps

Code Ninja

Page 32: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo Hacker• GIS Professional

• Write/Run Python

• Read/Write HTML

• Dabble in JavaScript

• Copy/Paste Code

• Figure out how to get the job done

Configurator• GIS User

• Have technical skills

• Builds Web Maps

• Creates Web Apps• Web AppBuilder• Configurable Apps

Code Ninja• Fluent in at least one

programming language

• You would rather start from scratch

• Web Developer

• Love reading API documentation

Page 33: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo HackerConfigurator Code Ninja

Page 34: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo HackerConfigurator• Configure App Templates

• Add Maps / Data• Change Colors• Icons/Images• Fonts• Add Settings

• Test on devices

• Share with coworkers

• Publish to App Stores

Code Ninja

Page 35: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo Hacker• Extend App Templates

• Use Sample Code

• Add New Functionality

• Use App Layouts

Configurator• Configure App Templates

• Add Maps / Data• Change Colors• Icons/Images• Fonts• Add Settings

• Test on devices

• Share with coworkers

• Publish to App Stores

Code Ninja

Page 36: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Geo Hacker• Extend App Templates

• Use Sample Code

• Add New Functionality

• Use App Layouts

Configurator• Configure App Templates

• Add Maps / Data• Change Colors• Icons/Images• Fonts• Add Settings

• Test on devices

• Share with coworkers

• Publish to App Stores

Code Ninja• Create Apps from scratch

• Integrate with hardware

• Custom Components

• Extend Enterprise Templates

Page 37: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Deploying AppStudio Apps

Page 38: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Publishing Apps to App Stores

Page 39: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Publishing Apps to App Stores

Page 40: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Publishing Apps to App Stores

Page 41: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Deploying Apps to the Enterprise w/ AppStudio Player

Analysis

Mapping

Field Operations

Data Visualization

Dashboards

Page 42: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Erwin SoekiantoChris LeSueur

Deploying Apps with AppStudio Player

Page 43: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

AppStudio Player Enhancements

• Configure Custom Experience

• New app user profiles

• Run Web Apps in Player

Page 44: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Customizing Apps with Code

Page 45: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

What is QML?• Declarative Language Designed to Build Apps

• QML is used Define the User Interface (Similar to CSS)

• JavaScript is used to business logic (events, functions)

Page 46: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Erwin Soekianto

Customizing with QML and JavaScript

Page 47: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

How do you get AppStudio?

Page 48: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

How to get AppStudio

Viewer Editor Field Worker Creator GIS

Professional

User Types

Page 49: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

How to get AppStudio

Viewer Editor Field Worker Creator GIS

Professional

AppStudio Player• Download Apps• Run Apps ✅ ✅ ✅ ✅ ✅

User Types

Page 50: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

How to get AppStudio

Viewer Editor Field Worker Creator GIS

Professional

AppStudio Player• Download Apps• Run Apps ✅ ✅ ✅ ✅ ✅AppStudio for ArcGIS• Desktop Tools• Configure Apps• Develop/Code Apps• Share Using Player

✅ ✅

User Types

Page 51: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

How to get AppStudio

Viewer Editor Field Worker Creator GIS

Professional

Paid Developer

Subscription

AppStudio Player• Download Apps• Run Apps ✅ ✅ ✅ ✅ ✅ ✅AppStudio for ArcGIS• Desktop Tools• Configure Apps• Develop/Code Apps• Share Using Player

✅ ✅ ✅

AppStudioDeveloper Edition• CloudMake• Publish to App Stores• Advanced Templates

User Types

Page 52: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Challenges of Native App Development

App Security

App Distribution

App Maintenance and Updates

Time and Cost$

5XCODE

AppStudio

Page 53: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Advantages of AppStudio Development

1 iOS

Linux

Mac

Android

WindowsArcGIS Users and App Security

Flexible App Distribution

Cross-Platform App Updates

Reduced Time and Cost$

Page 54: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

AppStudiofor ArcGIS

Page 55: Building Native Cross-Platform Apps with AppStudio: An ... · Challenges of Native App Development. 5X. CODE. iOS. Linux. Mac. Android. Windows. App Security. App Distribution. App

Thank You!