Jefferson Andrade de Oliveira Júnior
Abril de 2016
ESRI DEVELOPER SUMMIT 2016
PALM SPRINGS - USA
#2
AGENDA
2
3
Jefferson Andrade
Apps
APIs & SDKs
ArcGIS Desktop
ArcGIS for Server
including Portal
ArcGIS Online
Scene
Layers
Scenes
http:
http:
http:
Tile
Layers
Maps
Services
Data
Feature
Layers
Image
Layers
Analytics Analytics
The ArcGIS Platform The GeoInformation Model
Jefferson Andrade
Apps Making ArcGIS Available Everywhere
Public
Story Maps
Open Data
Office
ArcGIS EarthDashboardMaps for OfficeField
Navigator
Collector
Survey123
Workforce
Explorer
InsightsDrone2Map
Adobe
Creative Cloud
Crowdsourcing
Jefferson Andrade
Portal
Servers
Servers can access data from external
as well as built in data stores
A Portal can integrate multiple Servers
10.4 enhancements include:
• Resiliency
• Enterprise Integration
• Security
• Functionality
• Smart Mapping
• Spatial Analysis
• Vector Tiles
• Online Content Integration
ArcGIS for Server
Enables Web GIS in your own
infrastructure
Portal is part of and included with
ArcGIS for Server
Amazon
Azure
+
Jefferson Andrade
Roadmap Incremental and Groundbreaking Advancements
Pro 1.1
Crowdsourcing
Real-time
Utility networks
Location awareness
Massive 3D
Vector tiles
Web raster analysis
Advanced navigation
Modeling
Big data
GeoAnalytics
Insights10.3.1
Pro 1.2
10.4
Incremental Software Release
Mobile
UAV/Drone
Continuous Online Improvements
Distributed GIS
10.4.1
10.5
Analytic Engines
Raster Analytics
Pro 1.4
Pro 1.3
User Roles
2015
2016
2017
8
Jefferson Andrade
Android
Python
REST Java
Web
Windows JavaScript
HTML5
Swift
QtApple
.NET
Build Apps !
Extend the PlatformConfigurable
Apps
APIs &
SDKs
App
Builders
QML
Xamarin
Objective-C
C++
C#
Developer Tools Software and Content to Build Your Own Apps
10
Plans tailored to what you build
NEW DEVELOPER SUBSCRIPTION
Improved Accessibility and Delivery
Build Apps Extend ArcGIS
12
13
14
15
APPSTUDIO FOR ARCGIS
• Native apps made very
easy
• You focus on content
• AppStudio takes care of
the rest
https://appstudio.arcgis.com/
Jefferson Andrade
iOS
Android
Linux
Windows
Mac
1App
AppStudio for ArcGIS
CROSS-PLATFORM NATIVE APPS
Jefferson Andrade
Offline Powerful Native
AppStudio for ArcGIS
CROSS-PLATFORM NATIVE GIS APPS
19
WEB APPBUILDER
• Provides more control than
templates
• Creating apps using
configurable widgets
• Supports 2D and 3D
• Developer edition enables
custom widgets and themes
https://developers.arcgis.com/web-appbuilder/
WEB APPBUILDER 2.0
21
WHAT’S NEW 2.0 – MARÇO 2016
HTTPS://DEVELOPERS.ARCGIS.COM/WEB-APPBUILDER/GUIDE/WHAT-S-NEW.HTM
• 3D Apps (Beta)
• Novo design da página inicial
• Opção de salvar estado do mapa (extensão do mapa e camadas)
• Widget Análise de Incidente
• Widget Próximo a Mim: features próximas e direções.
• Widget Busca por Distrito: polígonos e pontos relacionados e
direções.
• Widget Gráficos da Tabela Relacionada: barra ou pizza.
• Widget Info Summary: mostra número de feições visíveis no mapa
e permite fazer cluster.
• Novo tema Plateau
• Atributos escolhidos podem ser exibidos somente na edição.
• Pode-se abrir o Widget de Edição diretamente da janela Pop-up.
• Adição de shapefiles no Widget Geoprocessamento.
• Entre outras.
WEB APPBUILDER
Jefferson Andrade 22
HTTP://GAVINR.GITHUB.IO/WEB-APPBUILDER-TOOLS-TECHNIQUES-DEV-SUMMIT-2016/#/
WEB APPBUILDER
Jefferson Andrade 23
WEB APPBUILDER
Jefferson Andrade 24
25
APPS CONFIGURÁVEIS
• Great way to share your web
maps
• Focused User Experiences
• Many new templates
APPS CONFIGURÁVEIS
http://www.arcgis.com/home/gallery.html#c=esri&t=apps&o=modified&f=configurable
27
APPS CONFIGURÁVEIS
http://www.arcgis.com/home/gallery.html#c=esri&t=apps&o=modified&f=configurable
28
APPS CONFIGURÁVEIS
http://www.arcgis.com/home/gallery.html#c=esri&t=apps&o=modified&f=configurable
29
STORY MAPS
30
HTTP://STORYMAPS.ARCGIS.COM/EN/GALLERY/#S=0
31
32
• 2D & 3D visualization
• Read & write web scenes
& web maps
• A simpler, more consistent
API design
• Mobile-first design
• Better integration with frameworks
4.0 ArcGIS JavaScript API Reimagined
Jefferson Andrade
ARCGIS JAVASCRIPT API 4.X
ROADMAP
• Final release Q2
• Releases in Q3 and Q4
– More renderers
– More layer types
Jefferson Andrade
ARCGIS JAVASCRIPT API 3.X
ROADMAP
• Spring release 3.16
• Active development through
2016
• Primary innovation will shift
to 4.x
• Technical support through
2018
ArcGIS Online uses 3.x JS API
36
ARCGIS RUNTIME SDKS
Runtime built using C++
EXPLOITS THE CAPABILITIES OF THE DEVICE
Functionality exposed to developers via an API
native to the platform
INTUITIVE TO LEARN
Common functionality set and conceptual model
EASES MULTI-PLATFORM DEVELOPMENT
ARCGIS RUNTIME SDKS
• Work connected or disconnected form the Internet
• Exploits device capabilities
• Works with sensors connected to the device
• High performance
CONTENT ANALYSIS 3DNEW APIs CROSS PLATFORM
ARCGIS RUNTIME QUARTZ RELEASE
HTTPS://DEVELOPERS.ARCGIS.COM/IOS/BETA/
QUARTZ API DESIGNED FOR PRODUCTIVITY
• Supports Web GIS
• Mapping API enhanced
• Seamless use of platform
identity
• All the runtime APIs reflect
new model
ARCGIS RUNTIME SDK FOR XAMARIN
• Supports developers building .Net
C# apps for iOS and Android
• API Surface matches ArcGIS
Runtime .Net API
• Strong community of Xamarin
developers building and deploying
apps
BRINGING IOS AND ANDROID DEVELOPMENT TO .NET
https://developers.arcgis.com/xamarin/
ARCGIS RUNTIME SDK FOR XAMARIN
Jefferson Andrade 42
ARCGIS RUNTIME SDK FOR XAMARIN
Jefferson Andrade 43
ARCGIS RUNTIME SDK FOR XAMARIN
Jefferson Andrade 44
ArcGIS Runtime Quartz Release Timeline
Today
Q2
Final
iOS, Android
Q3
Beta
iOS & Android
Working with Maps
• Connected
• Routing
• Geocoding
Q1
Beta
iOS, Android
Working with Maps
• …
• Disconnected
• Vector tiles
• Mobile Map Package
Q2
Beta
.Net, Xamarin,
Java, Qt
Working with Maps
And Scenes
• …
• 3D
• Advanced symbology
• Cross platform
Q3
Final
iOS, Android,
.Net, Xamarin,
Java, Qt
Working with Maps
And Scenes
• …
• 3D for iOS and
Android APIs
• WFS...
46
Jefferson Andrade
ARCOBJECTS UPDATE 10.4+
Building Blocks of ArcGIS . . . Most Comprehensive Collection of GIS Functionality
• Customizing and Extending ArcMap
• Supporting VS2013/2015 and .NET 4.5 now
• ArcObjects will continue to be supported on latest Visual Studio
• ArcObjects resources available on github:
• https://github.com/Esri/arcobjects-sdk-community-samples
• Extending Server using .NET or Java
– Building SOEs and SOIs
– Supporting the latest version of Eclipse
Customizing and
Extending ArcGIS
ArcGIS Server
Preserve API compatibility with clients
Extend existing GeoServices
Program in Java or C#
Administrators manage deployment
Developers
Users
Apps
Administrators
build
deploy
extend
preserve
Publishers activate as desired
Portal
EXTENDING THE PLATFORM USING SERVER
OBJECT INTERCEPTORS
http://server.arcgis.com/en/server/latest/publish-services/windows/about-extending-services.htm
Functional SOI
Security SOI
Server Object
Or
Server Object Extension
GeoServices API
Client Apps & APIs
SERVER OBJECT INTERCEPTORS
• Pre-process requests
• Post-process responses
• Chain multiple SOIs
Asset Data
715 gauges
Layer and map is not time aware…
Observation/Time Series Data
> 5 million observations
(daily, over 20 years)
Join multiple datasets, enable time, aggregate values, give me a rewindable map …
AVG_WaterLevel MAX_WaterLevel MIN_WaterLevel
1.03 1.05 1.02
Observation/Time Series Data
> 5 million observations
(daily, over 20 years)
Time enabled, aggregated
rewindable map
Rewindable map
- moving average, computed on-the-fly
- dynamic time range
Security SOI
Viewer role vs Analyst role
Functional SOI
Asset + Observation data in a Re-windable map
Latest Operational map
- current water level
53
54
PYTHON IS A POWERFUL PROGRAMMING LANGUAGE
• Portable
• Rapid development
• API is self-documenting
• As a glue to other languages
• ArcPy is Esri’s Python Module
Jefferson Andrade
ARCGIS PLATFORM PYTHON API
What is it?
• A new Python API for your GIS, which could be Online or On-premises
(Server w/Portal).
• This API is intended for use by org administrators, content publishers,
power users, developers, analysts and data scientists – who have
workflows that require scripting or automation.
INTEGRAÇÃO DO ARCGIS COM CONDA
• Discover and utilize the most relevant Python
modules
– It just works!
• Use a single version of Python across the platform
• Works behind the firewall
https://4326.us/esri/conda/
https://github.com/scw/conda-devsummit-2016-talk
CONDA
Jefferson Andrade
HTTP://CONDA.PYDATA.ORG/DOCS/INDEX.HTML
59
ARCGIS RUNTIME COM WINDOWS 10 IOT CORE
Jefferson Andrade 60
ARCGIS RUNTIME COM WINDOWS 10 IOT CORE
Jefferson Andrade 61
ARCGIS RUNTIME COM WINDOWS 10 IOT CORE
Jefferson Andrade 62
ARCGIS RUNTIME COM WINDOWS 10 IOT CORE
Jefferson Andrade 63
REACT NATIVE
Jefferson Andrade 64
HTTPS://CDN.RAWGIT.COM/GLAZOU/REACT-NATIVE-ARCGIS-SDK-
DEMO/MASTER/NATIVE%20APPS%20IN%20JAVASCRIPT%20WITH%20REACT%20NATIVE%20-%20LESSONS%20FROM%20A%20PROTOTYPE.PDF
REACT NATIVE
Jefferson Andrade 65
REACT NATIVE
Jefferson Andrade 66
REACT NATIVE
Jefferson Andrade 67
REACT NATIVE
Jefferson Andrade 68
REACT NATIVE
Jefferson Andrade 69
REACT NATIVE
Jefferson Andrade 70
REACT NATIVE WITH ARCGIS RUNTIME SDK
Jefferson Andrade 71
HTTP://GITHUB.COM/GLAZOU/REACT-NATIVE-ARCGIS-SDK-DEMO
72
ANGULARJS E JS API
Jefferson Andrade 73
HTTP://PROCEEDINGS.ESRI.COM/LIBRARY/USERCONF/DEVSUMMIT16/PAPERS/DEV_INT_193.PDF
ANGULARJS E JS API
Jefferson Andrade 74
ANGULARJS E JS API
Jefferson Andrade 75
ANGULARJS E JS API
Jefferson Andrade 76
HTTPS://GITHUB.COM/ESRI/ANGULAR-ESRI-MAP
ANGULARJS E JS API
Jefferson Andrade 77
ANGULAR2 E JS API
Jefferson Andrade 78
79
EMBERJS
Jefferson Andrade 80
EMBERJS
Jefferson Andrade 81
EMBERJS
Jefferson Andrade 82
HTTP://ODOE.NET/BLOG/UPDATE-ON-EMBER-WITH-ARCGIS-JS-API/
REDUX
Jefferson Andrade 83
HTTP://REDUX.JS.ORG/DOCS/BASICS/USAGEWITHREACT.HTML
84
TYPESCRIPT
Jefferson Andrade 85
HTTP://PROCEEDINGS.ESRI.COM/LIBRARY/USERCONF/DEVSUMMIT16/PAPERS/DEV_INT_202.PDF
TYPESCRIPT
Jefferson Andrade 86
TYPESCRIPT
Jefferson Andrade 87
88
GDB PROGRAMMING
Jefferson Andrade 89
GDB PROGRAMMING
Jefferson Andrade 90
GDB PROGRAMMING
Jefferson Andrade 91
GDB PROGRAMMING
Jefferson Andrade 92
GDB PROGRAMMING
Jefferson Andrade 93
GDB PROGRAMMING
Jefferson Andrade 94
Jefferson Andrade de Oliveira Júnior
jandrade@img.com.br
Ramal: 7762
Skype: jeff_bh
DÚVIDAS?
OBRIGADO!

Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools