arcgis for developers - esri€¦ · arcgis for developers: an introduction jim barry @jimbarry...

112
Technical Workshops | Esri International User Conference San Diego, California ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012

Upload: others

Post on 25-May-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Technical Workshops |

Esri International User Conference San Diego, California

ArcGIS for Developers: An Introduction Jim Barry @jimbarry

Andy Gup @agup

July 24, 2012

Page 2: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Goals

• Cover all of ArcGIS, high pass, developer's angle • What is there? • What can I do with it? • What resources are available to get the most from it all? • Where is the community?

• How do I get started?

Page 3: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Who are you?

• Are you a GIS pro? - new to dev?

• Are you an experienced developer - new to ArcGIS?

• Are you a Project Lead? - what’s available?

Page 4: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Agenda

• ArcGIS as a developer's toolbox - Desktop applications

- ArcGIS Explorer Desktop, ArcGIS Desktop, ArcGIS Engine

- Geoprocessing - Geodatabase - Client-Server applications

- ArcGIS Server - ArcGIS Online - Web APIs - ArcGIS Runtime for Devices

• Developer Resources

Page 5: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

• Online • Desktop • Server • Mobile

Cloud

Server Mobile

Desktop

Web

Page 6: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Explorer Desktop

Page 7: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Explorer Desktop

Free to use, develop against, and deploy For Developers 1. Application Configuration

- Customize UI and functions, no code necessary

2. ArcGIS Explorer SDK - Create Add-ins with Visual Studio

• Portable files, easy to share

Page 8: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Explorer Desktop Application Configuration

Page 9: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Explorer Desktop SDK

Page 10: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Explorer Desktop Creating Add-Ins

Templates

Page 11: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

www.arcgis.com

upload, download share, groups

tools, maps, apps

Page 12: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 13: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 14: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 15: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Demo Theater

Configuring and Customizing ArcGIS Explorer Desktop

• Tuesday @ 12:00 noon • Thursday @ 11:00am

• SDK Demo Theater

Page 16: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop

Page 17: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop

The professional GIS workstation For Developers 1. Customization of UI and functionality 2. ArcObjects SDK

- .NET, VC++

3. Add-ins - .NET, Java (Eclipse)

4. Script Tools - Python

Page 18: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop Customizing

Page 19: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop ArcObjects

Page 20: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop Creating add-ins

• Create or share - *.esriAddin • Copy into well-known location - local or network • Install wizard • Use

• Key advantages over classic ArcObjects dev pattern

Page 21: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Templates

ArcGIS Desktop Creating add-ins

Page 22: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop Creating add-ins

Assemblies/JARs

.esriAddIn File (zipped folder)

.esriAddIn

XML Metadata Resources • Buttons • Tools • ComboBoxes • Multi-items • Menus • Content Menus • Toolbars • Tool Palettes • Dockable Windows • Application Extensions • Editor Extensions

Page 23: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop Creating add-ins

Page 24: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Desktop Creating add-ins

Page 25: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Finding, Using Add-ins

• www.arcgis.com

Page 26: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Engine

Page 27: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Engine

Embeddable and Extensible GIS Components For Developers • ArcObjects SDK

- .NET, Java, VC++, Cross-platform C++ - 1000s of classes, interfaces, methods - 10+ controls

• Compiled and deployed stand-alone applications

Page 28: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 29: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Geoprocessing

Interrogating, manipulating, managing map data For Developers Interactive scripting window Use Modelbuilder then export as a script

Portable files, easy to share • .py, .gpk, .esriAddIn

Page 30: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 31: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Geodatabase

• Components • ArcObjects • File Geodatabase API

Page 32: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Geodatabase

• Components

Page 33: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Geodatabase

• ArcObjects

Page 34: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Geodatabase

• File Geodatabase API (v 1.2)

- C++ - .NET wrapper - Mac

Page 35: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Agenda

• ArcGIS as a developer's toolbox - Desktop applications

- ArcGIS Explorer Desktop, ArcGIS Desktop, ArcGIS Engine

- Geoprocessing - Geodatabase - Client-Server applications

- ArcGIS Server - ArcGIS Online - Web APIs - ArcGIS Runtime for Devices

• Developer Resources

Page 36: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Server – An end-to-end GIS system

Developer architecture Services APIs Demos

Page 37: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Server – Works with many different clients

Flex/Flash

Google Earth

ArcGIS Online

PHP

iPhone

Open Street Map

Android

Microsoft Silverlight

Windows Phone

Ruby

Python .Net

Java

OpenLayers

ArcGIS Runtime SDKs

ArcGIS Explorer

JavaScript

ArcGIS Desktop

ArcGIS Web APIs Including…

Page 38: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 39: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

http://www.esri.com/services/disaster-response/floods/latest-news-map.html

Page 40: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

http://gis.greeleygov.com/origin/propinfo.html

Page 41: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

http://edn1.esri.com/antarctica

Page 42: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

http://maps.bouldercounty.org/boco/emapping/

Page 43: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Server - Architecture

Client APIs

Web Services

GIS Services

Data

Map Services

Geoprocessor Services

Query Services

Filesystems

Geodatabases

REST

SOAP

OGC

Runtime SDKS

JavaScript

Flex

Silverlight

HTTP

Page 44: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

What is a GIS Service?

Edit

Use

Display

Map Service Endpoint

ArcGIS Server Map Service

Page 45: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Server – GIS Services

Mapping

Feature

Geocode

Geoprocessing

Globe

Geodata

Geometry

Image

Network Analysis

Search

ArcGIS Server

OGC

KML

Page 46: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

How do I get my data into an app? Web Services!

REST

SOAP

OGC

*Image from Microsoft Clip Art

Page 47: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Example ArcGIS REST API Architecture

JSON, XML etc

Geodatabase

ArcGIS Desktop

lyr, msd, mxd, etc.

ArcGIS Server

ArcGIS Web API

Web Server

REST

Your App

Page 48: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Example REST API usage

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/export?bbox=-127.8,15.4,-63.5,60.5&f=pjson

URL-based requests (GET or POST) Format works with all client-side application languages

Page 49: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS REST Services Directory

http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer

Page 50: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Online

• Viewer • Templates • ArcGIS Portal API

Page 51: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS.com Map Viewer

Page 52: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Configurable Templates

• ArcGIS.com Configurable Templates • Create maps using online tools • Download template to your web server • Config files • Modify code directly

Page 53: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Basic Template Configuration – index.html

function init() { //get the localization strings i18n = dojo.i18n.getLocalization("esriTemplate", "template"); console.log(i18n); configOptions = { //The ID for the map from ArcGIS.com webmap: "dbd1c6d52f4e447f8c01d14a691a70fe",

Page 54: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Portal API

http://www.arcgis.com/apidocs/rest/

Page 55: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 56: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

In the browser: ArcGIS Web APIs

JavaScript

Apache Flex

Microsoft Silverlight

JavaScript Compact (mobile)

Page 57: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Web API capabilities include……

Editing

FeatureLayers Time-awareness

Query

Geoprocessing

Graphics

GraphicsLayer

Routing

Map

Extents

Symbols

Geometries

Page 58: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Why use the Web APIs?

Let’s you focus on rapid application development!

map.addLayer(basemap)

vs.

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer/export?bbox=-127.8,15.4,-63.5,60.5&f=pjson

Page 59: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Why use the Web APIs?

<div id="mapDiv" style="width:800px; height:600px; border:1px solid #000;"> </div>

vs.

dojo.io.script.jsonp_dojoIoScript2._jsonpCallback({"serviceDescription":"","mapName":"Layers","description":"","copyrightText":"","layers":[{"id":0,"name":"arcgis2.DBO.custinfo","parentLayerId":-1,"defaultVisibility":true,"subLayerIds":null},{"id":1,"name":"arcgis2.DBO.DenverCO_CensusTracts","parentLayerId":-1,"defaultVisibility":true,"subLayerIds":null}],"tables":[],"spatialReference":{"wkid":4326},"singleFusedMapCache":false,"initialExtent":{"xmin":-105.170917848995,"ymin":39.5124265894988,"xmax":-104.556422044239,"ymax":40.0144928617289,"spatialReference":{"wkid":4326}},"fullExtent":{"xmin":-105.13659819355,"ymin":39.55113300385,"xmax":-104.57486577945,"ymax":39.9313831191501,"spatialReference":{"wkid":4326}},"units":"esriDecimalDegrees","supportedImageFormatTypes":"PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ,AI,BMP","documentInfo":{"Title":"","Author":"","Comments":"","Subject":"","Category":"","Keywords":"","Credits":""},"capabilities":"Map,Query,Data"});

Page 60: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

API “Syntax”

queryTask.execute(query,queryTaskComplete,queryTaskError);

JavaScript (.js)

queryTask.ExecuteCompleted += QueryTask_ExecuteCompleted;

Silverlight (C#.NET)

queryTask.execute(query, new AsyncResponder(onResult, onFault));

Flex (ActionScript)

Page 61: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

API Patterns

var queryTask = new esri.tasks.QueryTask(“http://someserver/arcgis/...”);

dojo.connect(queryTask, "onComplete", doSomething);

query = new esri.tasks.Query();

query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_INTERSECTS;

queryTask.execute(query);

function doSomething(event){

};…

JavaScript (.js) Example

1

2

3

4

5

Page 62: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Demo of Web APIs

Page 63: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Framework for Integrating Multiple Services

ArcGIS Online

ArcGIS Server

Page 64: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Want an out-of-the-box we solution?

ArcGIS.com Web Map Viewer ArcGIS Viewer for Flex (Source on Github) ArcGIS Viewer for Flex Application Builder ArcGIS API for Silverlight Toolkit (Source on Github) ArcGIS API for Silverlight Template Gallery

Page 65: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Devices

• Intro - Trends - Overview

• ArcGIS Runtime for Smartphones and Tablets - iOS - Windows Phone - Android

• ArcGIS Runtime for Desktop Devices - WPF - Java

• Wrap up - Q and A

Page 66: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Apps and SDKs

Windows Mobile

Windows/

iOS Android

Runtime SDK • .NET CF

Runtime SDKs • WPF, Java

Linux

Runtime SDK • Java

Runtime SDK • Objective C

Runtime SDK • Java

Windows Phone 7

Runtime SDK • Silverlight

Apps • .ArcGIS

Apps • ArcGIS • ArcGIS Explorer

Apps • ArcGIS

Apps • ArcGIS for iOS

Apps • ArcGIS

Page 67: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 68: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Mobile Trends = Greater access to GIS

Source: The Nielson Company

Feature Phones

Smartphones

U.S. Smartphone Market Penetration

%

Page 69: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Runtime SDKs iOS, Android, Windows Phone

• Native developer toolkit

• Build focused mapping applications

• Embed ArcGIS in to existing apps

• Leverage the ArcGIS system

• Designed for touch-screen phones

• One handed use

XCode

Eclipse

Visual Studio

Page 70: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS API for iOS

Native Objective C/Cocoa API

REST–Based

Requires Mac

ArcGIS for iOS on iTunes

Page 71: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS for Windows Phone

C#/Silverlight API

Visual Studio 2010 Integration

REST-based

ArcGIS for WindowsPhone on Marketplace

Page 72: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS API for Android

Native Java API

Eclipse IDE - Windows, Mac OS X (Intel), Linux

Runs on many devices

REST-based

ArcGIS for Android on Google Play

Page 73: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS on Rugged Devices Windows and Windows Mobile Devices

• Designed for harsh field conditions

• One handed/vehicle-mounted use

• Occasionally connected workflows

• High accuracy data collection - GPS integration - Laser integration

• Replace Paper Surveys - Intelligent forms - Barcode integration

Water Facilities Mapping

Asset Maintenance/Inspection First Responders

Land Management

Page 74: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcGIS Mobile SDK

.NET API (C#, VB.NET, WPF) Windows Mobile (notebooks/tablets)

Pocket PC/.NET Compact Framework Connected or Disconnected

Page 75: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ArcPad

.NET and XML based

Windows Mobile

High accuracy

Field data collection

Disconnected Use

Page 76: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Special considerations for mobile!

Various Screens

Touch-based workflows

Multiple form factors Battery life

Inconsistent internet

Slower connections

Slower CPU

*Image from Microsoft Clip Art

Different OS Versions

Memory constraints

Page 77: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Apps and SDKs

Windows Mobile

Windows/

iOS Android

Runtime SDK • .NET CF

Runtime SDKs • WPF, Java

Linux

Runtime SDK • Java

Runtime SDK • Objective C

Runtime SDK • Java

Windows Phone 7

Runtime SDK • Silverlight

Apps • .ArcGIS

Apps • ArcGIS • ArcGIS Explorer

Apps • ArcGIS

Apps • ArcGIS for iOS

Apps • ArcGIS

Page 78: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

resources.arcgis.com

Page 79: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 80: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

blogs.esri.com/esri/arcgis

Page 81: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

forums.arcgis.com

Page 82: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

video.arcgis.com

Page 83: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

ideas.arcgis.com

Page 84: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

www.arcgis.com

Page 85: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 86: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Esri Developer Network (EDN)

• Annual Subscription - Standard or Advanced

• Developer license • ArcGIS platform

- products, extensions - desktop, server, web, mobile - full functionality - it's everything

• Design, prototype, test, build • Defer production costs until deployment

Page 87: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

edn.esri.com

Page 88: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

training.arcgis.com

Page 89: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 90: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

support.esri.com

Page 91: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

esri.com/DevSummit

Page 92: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

esri.com/devsummiteurope

Page 93: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

esri.com/devmeetup

Page 94: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

twitter.com/ESRIUC #esriuc

facebook.com/ESRIDeveloperNetwork

esriurl.com/LinkedInEDN

#devsummit

Page 95: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

wiki.GIS.com

Page 96: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

stackoverflow.com

Page 97: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

gis.stackexchange.com

Page 98: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design
Page 99: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Welcome to the Esri User Conference!

• Developer Track - 30 sessions, meetings

• Product Islands - Meet the engineers and developers - Demo Theaters

• Tech Support Island - Discuss good ideas, solve tough problems

Page 100: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

New Developer Activities at the UC

• Hackers’ Sandbox - Tuesday – Thursday 8:30am – 12pm (Hall F)

• UX Design Summit - Tuesday 1:00pm – 5pm (Ballroom 20)

• Speed Geeking - Tuesday 6:30pm – 8:30pm (Ballroom 20)

• Dev Meet Up - Wednesday 5:30pm – 9pm - Registration Required

sold out, find one near you: esri.com/devmeetup

Page 101: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

How to get started with Microsoft Visual Studio

• Express editions are free - VB, C#, substantial capabilities - online training, beginner's books

• MS site - tutorials, videos, sample code

Page 102: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Visual Studio Community

vbforums.com xtremevbtalk.com

Page 103: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

http://www.python.org/about/gettingstarted/

Page 104: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Getting Started With Adobe Flex

IDE: Flash Builder ArcGIS API for Flex: resources.arcgis.com Flash Player (debug): Flash Player Support Center Online Resources: help.adobe.com Training: Flex.org, Adobe Video Training Community: actionscript.org

Page 105: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Getting Started with JavaScript

IDE (free!): Notepad++, Aptana ArcGIS API for JavaScript: resources.arcgis.com Online Resources : dojotoolkit.org Tutorials: w3schools.com Community: dojotoolkit.org/community

Page 106: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Getting Started with Silverlight (Web)

IDE: Visual Studio Express (free!) ArcGIS API for Microsoft Silverlight: help.arcgis.com Silverlight SDK: silverlight.net/getting started Online Resources : MSDN.microsoft.com Community: silverlight.net/community

Page 107: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Getting Started with Android

IDE: Eclipse ArcGIS API for Android: resources.arcigs.com Online Resources: developer.android.com Community: developer.android.com Misc: Mobile device for testing!

Page 108: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Getting Started with iOS

IDE, SDK: Xcode 4 + iOS 6 SDK ArcGIS API for iOS: resources.arcgis.com Online Resources: iOS Developer Library Community: developer.apple.com Misc: Mobile device for testing

Page 109: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Getting Started with Windows Phone

IDE: Visual Studio Express (free!) ArcGIS for Windows Phone: resources.arcgis.com Online Resources/Community: App Hub Misc: Mobile device for testing

Page 110: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Open Source Initiatives –

Page 111: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design

Session Survey

• esri.com/ucsessionsurveys • Session ID: Tue 625; Wed 747

Page 112: ArcGIS for Developers - Esri€¦ · ArcGIS for Developers: An Introduction Jim Barry @jimbarry Andy Gup @agup July 24, 2012 . Goals ... -ArcGIS Runtime for Devices ... • UX Design