Presentación de José Antonio Anta en el Seminario Esri del 29 de febrero de 2012 en Valencia, sobre desarollo de aplicaciones móviles.
¿Quieres saber más? Visita esri.es
Seminario Desarrollo de Aplicaciones Móviles que Merezcan la Pena (Valencia, 2012)
1. Seminarios Esri España
Desarrollo de Aplicaciones
Móviles
José Antonio Anta joseantonio.anta@esri.es
EMPEZAMOS A LAS 10:15
2. Agenda
10:00 Requisitos de una aplicación móvil
10:15 Datos
10:30 Tecnología en Movilidad
11:00 SDK de ArcGIS Mobile
11:30
12:00 API para iOS
12:20 API para Android
12:40 API para W.Phone 7
13:00 Otras Soluciones
13:15 Conclusiones.
4. Que es la movilidad
La movilidad consiste en la utilización de dispositivos informáticos
o de telecomunicación, pequeños y portátiles, con conexión
inalámbrica, capaces de manejar datos, información y
aplicaciones de forma centralizada.
5. VIABILIDAD
Antes de lanzarnos a desarrollar
¿que hace que mi aplicación sea móvil?
“Modos de Usuario”
usuario aburrido
usuario local
usuario haciendo micro-tareas
Funcionalidad
Menos es más, recortar al máximo
el CLIENTE USUARIO siempre tiene la razón
6. Usabilidad
Aplicaciones que no
sean un truño
Usabilidad web
Importante
Usabilidad Móvil
Crítico
20 segundos
8. Usabilidad
KISS
fácil de ver
regla del brazo extendido
fácil de tocar
“touch target” grandes
más grandes que visualmente
ponerse en situación
desarrollar siempre con un dispositivo físico
eliminar complejidad hasta que no se
pueda quitar nada más
funcionalidad, botones, información…
10. Fuentes de Datos
Datos Raster
Features CAD
Datos Públicos. Direcc Generales, CCAA, … SHP Tablas
ArcGIS Online, MAPABase
ArcGIS.com Servicio
Mapa
Carga y Almacenamiento en
Geodatabase
Está todo integrado. Abstracción del .
Definición Modelo de Datos mundo real
Capas Definición de Tablas
Campos Relaciones, …
Definición de Subtipos Geodatabase Networks
Attributes
Definición de Dominios 3D Objects
Topology
Definición de Reglas de Validación Vectors
Terrain
Cartography
Carga Datos Schematics
Images
Annotation
Parcel
Dimensions
Addresses
11. Tratamiento de los Datos
Tratamiento información
Generalización
Control Calidad. Topología
Creación del Mapa
Formación Capas
Simbología
Control Escalas
Mapa:
Operacional.
Información Ver, Consultar y Editar
Base.
Información estática, de fondo
12. Recomendaciones para un mapa
en un dispositivo móvil
Consideraciones: Consejos:
Usuarios No GIS Preparación Geodatabase
Hardware mínimo Uso de Dominios
Uso de Subtipos
Mucha cartografía
Optimización cartografía a extraer
Funcionalidad No extraer lo que no sea
necesario
Estudio información capas
Escala de visualización de las
capas
Simbología especial
Uso colores y contraste adaptado
al medio y al dispositivo
Símbolos estándar
Sunlight
320x240 washes
Small
out
Colors
13. Publicación de información
Creación de Servicios Web de Mapas
Mapa.MX Servicio Mapa
D
Servidor SIG
Creación de Web Maps
Servicios Mapa Web Map
ArcGIS.com o Servidor
Consumo SIG
SDKs y APIs
SOAP
REST
Servicios de Mapa y Web
Servidor SIG
Map
14. Tareas comunes en la APIs de ArcGIS
Servicios sobre Mapas
Mapa: Ver, Identificar, Buscar
Imagen: Ver, Identificar, Consultar
Feature: pedir feature, editar
Servicios de Geocodificación
Localizar una dirección en un mapa
También conocidos como servicios locator
Servicios de geometría
Realizar operaciones con relaciones espaciales
Servicios de Geoprocesamiento
Ejecutar herramientas y modelos Desktop en Web
Cálculo de Rutas
Optimizar rutas y conseguir las direcciones
Otros:
Geodata, Globe, Mobile
15. Definiciones
Web Map
Definición de un grupo de servicios de mapas
Capas servidas por un servidor ArcGIS Server
Capas Base y Capas Operativas
Áreas de Interés y otras propiedades
ArcGIS.COM
Plataforma Web gratis de ESRI para crear mapas
Crear mapas a partir de Servicios de mapa
Por defecto existe una capa Base
Añadir más capas Base y capas Operativas proporcionadas
por ArcGIS Server.
Estos “Wep Map” se comparten a “Todos”, “Grupo” o
“Privado”
17. Tecnologías en movilidad
Sistemas .
. Operativos
Windows XP Windows Mobile Windows
Soportes . Linux Windows 7 CE, 5, 6.0, 6.1, 6.2 IOS Android Phone 7
Portátil SI SI No No No No
Tablet Si Si Si Si Si -
PDAs Profesionales No No Si No No No
Smartphone No No Si No Si Si
Smartphone propietarios No No No Si Si -
Capacidades: Formas de Trabajar:
- Foto - GPS - Conectado
- Distanciómetro - Acelerómetro - Desconectado
- Otros Dispositivos
- A veces conectado
18. Lenguajes de Desarrollo
Windows
. S.O Mobile CE,
Windows XP 5, 6.0, 6.1, Windows
Lenguajes. Linux Windows 7 6.2 IOS Android Phone 7
Visual Studio Visual Studio Visual Studio
.NET No 2008 2008 Mono Touch No 2010
JAVA Eclipse Eclipse No No Eclipse No
Objective C No No No XCode No No
Flash Builder Flash Builder Flash Builder
Flex Burrito Burrito Burrito
Action Script
Javascript *** *** *** *** *** ***
IDEs:
- Visual Studio 2008- Visual Studio 2010- Eclipse - Aptana***
- Xcode - Flash Builder Burrito - Monotouch
19. Soluciones Móviles de Esri
ArcGIS
ArcGIS GIS en
Desktop ArcPad
Mobile el Móvil
/ Engine
• Desarrollo de
• Herramienta SIG • Herramienta SIG
herramientas GIS
profesional de basada en flujos
de propósito
propósito general de trabajo
específico
“Tareas”
• iOS
• Windows XP/7/… • Windows Mobile • Windows Mobile
• Android
• Linux • Windows XP/7 • Windows XP/7
• WP7
20. Soluciones Móviles de Esri
ArcGIS
ArcGIS GIS en
Desktop ArcPad
Mobile el Móvil
/ Engine
• Desarrollo de
• Herramienta SIG • Herramienta SIG
herramientas GIS
profesional de basada en flujos
de propósito
propósito general de trabajo
específico
“Tareas”
• iOS
• Windows XP/7/… • Windows Mobile • Windows Mobile
• Linux •
Aplicación por •defectoXP/7
Windows XP/7 Windows
• Android
• WP7
API / SDK de Desarrollo
21. Soluciones Móviles de Esri
ArcGIS
ArcGIS GIS en
Desktop ArcPad
Mobile el Móvil
/ Engine
Aplicación por defecto
• ArcGIS for iOS
ArcGIS Desktop ArcPad Windows ArcGIS Mobile Windows • ArcGIS for Android
Windows ArcPad W.Mobile ArcGIS Mobile W.Mobile
• ArcGIS for WP7
API / SDK de Desarrollo
Frame Work SDK +
Add-Ins Desktop ArcPad Studio
SDK Mobile.
.NET/JAVA Windows y W.Mobile
Windows y W. Mobile
•API for iOS
ArcGIS Engine SDK Mobile Windows •API for Android
.NET/JAVA SDK Mobile W. Mobile •API for WP7
22. Soluciones Móviles de Esri
ArcGIS GIS en
Ap Flex Ap Web
Mobile el Móvil
móviles móviles
• ArcGIS for iOS
ArcGIS Mobile Windows • ArcGIS for Android
ArcGIS Mobile W.Mobile
• ArcGIS for WP7
Frame Work SDK +
SDK Mobile.
Windows y W. Mobile
API de ArcGIS API de ArcGIS
para FLEX para Javascript
•API for iOS
SDK Mobile Windows •API for Android
SDK Mobile W. Mobile •API for WP7
23. Soluciones de desarrollo para
movilidad esri
Windows
. S.O Mobile CE,
Windows XP 5, 6.0, 6.1, Windows
Lenguajes. Linux Windows 7 6.2 IOS Android Phone 7
AG Engine
SDK AG Mobile
.NET ArcPad Studio SDK AG Mobile ??API iOS API WP7
JAVA AG Engine AG Engine API Android
Objective C API iOS
Flex API FLEX API FLEX API FLEX
Action Script ?
App Web API
Javascript API Javascript API Javascript API Javascript Javascript API Javascript API Javascript
IDEs:
- Visual Studio 2008- Visual Studio 2010- Eclipse - Aptana
- Xcode - Flash Builder Burrito - Monotouch
24. Flujos de trabajo
ArcGIS
ArcGIS GIS en
Desktop ArcPad
Mobile el Móvil
/ Engine
ArcGIS Desktop y Engine. Trabajan con datos en local (versionado,
replicación,…), (sin cambiar formato)
ArcGIS Mobile y ArcPad. Existe el check-in y check-out.
Copian datos a local (cambio formato) y posteriormente actualizan modificaciones.
ArcGIS.com ArcGIS
Server
Mapa
ArcGIS Desktop
ArcEditor
25. Flujos de trabajo
ArcGIS
ArcGIS GIS en
Desktop ArcPad
Mobile el Móvil
/ Engine
Nuevos aplicaciones para iOS, Android, W Phone7.
Trabajan contra el servidor ArcGIS Server. Similar a una aplicación Web.
Servicios
Web
ArcGIS.com ArcGIS
Server
Terminales
móviles
26. Aplicaciones y Usuarios
ArcGIS
ArcGIS GIS en
Desktop ArcPad
Mobile el Móvil
/ Engine
• Desarrollo de
• Herramienta SIG • Herramienta SIG
herramientas GIS
profesional de basada en flujos
de propósito
propósito general de trabajo
específico
“Tareas”
Trabajadores de
“jefes”
Campo
Usuario Usuario GIS en
Especializado Campo
Subcontratas Ciudadanos
27. Desarrollo con el SDK de ArcGIS Mobile
1- Desarrollo con el SDK de ArcGIS Mobile
2- Desarrollo con el API para iOS
3- Desarrollo con el API para Android
4- Desarrollo con el API para W. Phone 7
5- Otras Soluciones
28. ArcGIS Mobile SDK
Componentes de desarrollo en .NET con funcionalidad SIG
Controles SIG para la creación rápida y sencilla de aplicaciones.
SDK incluido con ArcGIS Server Advanced
Compatibles para Windows y Windows Mobile.
Para la creación de aplicaciones personalizadas
Para complementar la funcionalidad de la aplicación ArcGIS Mobile
Para crear aplicaciones independientes desde cero
Para aportar funcionalidad SIG a terceras aplicaciones.
29. Requisitos SDK ArcGIS Mobile
Desarrollo:
Visual Studio 2008, 2010. (.NET)
Sistemas operativos:
Windows XP SP2 (.NET Framework 3.5 SP1)
Windows Vista y 7. 32bit / 64bit
Ultimate, Enterprise, Business, Home Premium
Controles:
Windows. (.NET Framework 3.5 SP1)
Windows Mobile. (.NET Framework 2.0)
En el dispositivo final a desplegar aplicaciones creadas con el
SDK
en Windows: requiere .NET Framework 3.1 SP1
en Windows Mobile: requiere .NET Compact Framework 2.0 SP1
30. Opciones con el SDK Mobile
Nueva funcionalidad sobre la
Nueva aplicación
aplicación ArcGIS Mobile
31. Desarrollo con el núcleo SDK
Display
Mapa GpsDisplay
Mobile
Cache Geometry
Server
Feature
Desktop Layer
Feature
Annotation DataTable
Layers Layer
Raster Feature
Layer DataReader
32. Desarrollo con el Framework
SDK
Permite acceder a la funcionalidad de la aplicación.
Crear Add-Ins para Windows & Windows Mobile Aplic.
Crear nueva funcionalidad:
Tareas “Task”
Extensiones “Extension”
35. SIG en el Móvil
Que pueden hacer las aplicaciones móviles de ArcGIS:
Visualizar y navegar por los mapas
Encontrar una dirección o un lugar
Identificar, Consultar
Medir distancias y áreas
Edición datos
Que puede hacer las APIs de las aplicaciones móviles de ArcGIS:
Mapas: Dinámicos, Cacheados, Bing, Open Street Map.
Soporta multiples proyecciones
Gráficos: pop-ups, graficos sketch sobre el Mapa (canvas)
Tareas:
Consultar, Identificar, Buscar
Edición datos
Localizar, Geocodificar direcciones
Operaciones Geometricas
Tareas de Geoprocesamiento
36. Licenciamiento de SIG en el Móvil
Gratis?
Con ArcGIS Server
Gratis para desarrollos internos
Gratis para despliegue en las “Store”
Sin ArcGIS Server
Con coste
Si las aplicaciones generan dinero
Se debe mencionar:
Procedencia capas si es ArcGIS Online
Procedencia capas si es Bing map
Acerca de:
“Esri ArcGIS API for iOS2”
37. Conceptos: API REST
Interfaz Simple para acceder a los servicios que proporciona un
ArcGIS Server
Web Javascript Silverlight Flex
Móvil iOS Android WP7
• Simple: mediante URL Servicios Geom Map
• Abierta GP
Feature Geocod
http://<miserver>/arcgis/rest/services/<MiMapa>/MapServer Network
Image
http://<miserver>/arcgis/rest/services/<MiLocator/GeocodeServer
http://<miserver>/arcgis/rest/services/Geometry/GeometryServer
http://<miserver>/arcgis/rest/services/<MiModelo>/GPServer
38. Esquema general de una
consulta API
var url:String;
url = "http://62.93.187.174/ArcGIS/rest/services/DGCarreteras/MapaObras/MapServer";
var identifyTask:IdentifyTask = new IdentifyTask(url);
var identifyParams : IdentifyParameters = new IdentifyParameters();
identifyParams.returnGeometry = false;
identifyParams.tolerance = identifyTolerance;
identifyParams.geometry = identifyPoint;
…
identifyParams.mapExtent = map.extent;
identifyTask.addEventListener(IdentifyEvent.IDENTIFY_COMPLETE, onResult);
identifyTask.addEventListener(FaultEvent.FAULT, onFault);
IdentifyTask.execute(identifyParams);
Private function onResult(event:IdentifyEvent):void
{
}
private function onFault(event:FaultEvent):void
{
}
39. Desarrollo con el API para iOS
1- Desarrollo con el SDK de ArcGIS
Mobile
2- Desarrollo con el API para iOS
3- Desarrollo con el API para Android
4- Desarrollo con el API para W. Phone 7
5- Otras Soluciones
40. API de ArcGIS para iOS
Lenguaje de desarrollo Objective-C
Integración en XCode (ejemplos, plantillas)
Descarga desde “ESRI iOS Resource Center”
Similar a las APIS Web (API Rest)
Acceso a servicios de mapa (cacheados,
dinámicos y de imágenes)
Superposición de Gráficos
Librería de clases, documentación, ejemplos y
recursos
Funcionalidad: buscar, consultar, identificar,
recoger datos
Objetos “Map”, “MapLayer” y “Task” (servicios de
geometría, geoprocesamiento, etc…)
41. Requisitos para ArcGIS para
iOS
iPhone, iPad e iPod con iOS v3.1.2 y superiores
ArcGIS API para iOS 1.0
1- Requisitos Hardware:
Apple Macintosh con procesador Intel
MacOS: Leopard (OS X 10.5) o Snow Leopard (OS X 10.6)
2- iPhone SDK 3.2.4 (registrarse en “iPhone Developer Program”)
XCode 3.2.4
3- ArcGIS iOS API 1.8. Update 1
Suscripción al „iOS Developer Program‟ de Apple
Necesario para probar aplicaciones en el dispositivo real
$100 al año
42. Distribución y Despliegue
1- Con Identificador de “iOS Developer Program” copia directa en el
dispositivo
Certificado de firmas
ID dispositivo Móvil (hasta 100)
ID para la aplicación
iTunes se distribuirlo Hasta 100 dispositivos
2- A través del portal de desarrolladores de iOS
Certificado Especial
Envío a Apple
Nombre
Captura pantalla
Categoría
Descripción
…
43. Desarrollo con el API para
Android
1- Desarrollo con el SDK de ArcGIS Mobile
2- Desarrollo con el API para iOS
3- Desarrollo con el API para Android
4- Desarrollo con el API para W. Phone 7
5- Otras Soluciones
44. API de ArcGIS para
Android
Lenguaje de desarrollo JAVA
Integración en Eclipse (ejemplos, plantillas)
Descarga desde “ESRI Resource Center”
Similar a las APIS Web (API Rest)
Librería de clases, documentación, ejemplos y
recursos
Acceso a servicios de mapa (cacheados,
dinámicos y de imágenes)
Funcionalidad: buscar, consultar, identificar,
edición
Documentación, foros, blog, códigos,…
45. Requisitos ArcGIS para
Android
Android 2.1 y superiores. Documentación Google
ArcGIS API para
1- Requisitos IDE:
Eclipse 3.5 (Galileo) y 3.6 (Helios)
JDK 6.
Herramientas de desarrollo de Android (Google)
SDK Android 2.1 API 7 o superior
ADT pluging for Eclipse
2- API ArcGIS Android
No existe suscripción a ningún programa de desarrollo de pago
47. Distribución y Despliegue
1- Copia directa al dispositivo móvil.
No es necesario clave o Id de distribución
Copia directa
La aplicación tiene declarado unos permisos que en la instalación en el
dispositivo se deben aceptar (acceso internet, localización,…)
2- A través de Android Market place Desarrolladores
Cuenta
Acuerdo de distribución
48. Desarrollo con el API para
Windows Phone 7
1- Desarrollo con el SDK de ArcGIS
Mobile
2- Desarrollo con el API para iOS
3- Desarrollo con el API para Android
4- Desarrollo con el API para W. Phone 7
5- Otras Soluciones
49. API de ArcGIS para W.Phone 7
Lenguaje de desarrollo C# Silverlight
Integración en Visual Studio (ejemplos, plantillas)
Descarga desde “ESRI Resource Center”
Similar a las APIS Web (API Rest)
Librería de clases, documentación, ejemplos y
recursos
Acceso a servicios de mapa (cacheados,
dinámicos y de imágenes)
Funcionalidad: buscar, consultar, identificar,
edición, gráficos, geoprocesamiento, cálculo de
rutas,…
Documentación, foros, blog, códigos, SDK
interactivo,…
50. Requisitos ArcGIS para W.Phone 7
Windows 7 o Vista SP2.
1- Windows Phone Developer Tools
- Visual Studio 2010 Express para WP - Silverlight 4 para VS
- Microsoft Expression Blend para WP - XNA Game Studio
- Emulador Windows Phone - Tools
2- Visual Studio 2010
3- Expression Blend 4
API ArcGIS Windows phone
Suscripción al „Windows Phone Developer Registration‟
Necesario para probar aplicaciones en el dispositivo real
+- $100 al año
51. Librerías de la API de ArcGIS para
WP 7
Librerias:
Núcleo. Control Mapa, Gestión de
layers, gráficos, geometrías y
simbolos.
Tareas de Consultas, Buscar,
Identificar y Geoprocesamiento
Servicios procedentes de Bing Maps
Conjunto de controles como Leyenda
e infoWindow
Herramientas para soportar datos
procedentes de otras fuente:
OpenStreetMap, WMS.
http://esrisilverlight.codex.com
Componentes para leer Web Map
52. Distribución y Despliegue
1- Con Identificador de “Windows Phone Developer Registration” copia
directa en el dispositivo
2- A través del portal de desarrolladores de Windows Phone “App Hub”
para su publicación en el “Zune Marketplace”
53. Desarrollo con otras soluciones
1- Desarrollo con el SDK de ArcGIS Mobile
2- Desarrollo con el API para iOS
3- Desarrollo con el API para Android
4- Desarrollo con el API para W. Phone 7
5- Otras Soluciones
54. Desarrollo con MonoTouch y
MonoDroid
Que es MonoTouch y MonoDroid
IDE de Novell para desarrollar aplicaciones móviles utilizando un único
lenguaje
- MonoDevelop
- Desarrollo en C#
Aprovechar código y
experiencia en desarrollo en
C#
Se deben incluir librerías
propias de iOS y ArcGIS
55. Desarrollo con Flex
Idea: Un solo lenguaje de desarrollo: Actionscript + API de ArcGIS para Flex
Multiplataforma: Windows, Android, iOS, BlackBerry
Arquitectura
Runtime en el dispositivo: SDK AIR 2.6 (se adapta a las posibilidades de cada plataforma)
Framework: Adobe Flex 4.5 SDK
IDE: Flash Builder 4.5, Burrito y Flash CSS
API de ArcGIS for Flex
Diseño especial, controles especiales
Ejecución en dispositivo Móvil:
Exportar archivo nativo.
Android APK
iOS iPA
Necesario Runtime AIR 2.6
En iOS el iPA lleva dentro el Runtime
En Android el APK lleva dentro peq código q solicita ejec Runtime
En Blackberry viene por defecto con el Runtime
56. Desarrollo de una App Web con
Javascript
Navegadores Web:
Desktop. Ratón, precisión
Tablet. Toque dedos, no precisión, uso GPS?, uso estilo oficina.
Phone. Toque dedos, GPS, resolución, procesador, orientación, cache limitado.
Caráteristicas IOS Blackberry Android
Pellizco SI NO NO
Pan SI SI SI
Crear geometría SI SI SI
Editar geometría SI SI NO
Dibujo Mano Alz NO NO
Cámara NO - SI
Giróscopo SI -
Android: depende del firmware que el vendedor aplique al teléfono
57. Desarrollo de una App Web con
Javascript
Framework Mobile
Transiciones animadas
Toolbars
Buttons
Listviews
JQuery www.jquerymobile.com (chrome)
Dojox.mobile http://docs.dojocampus.org/dojox/mobile
Sencha www.sencha.com/products/touch
58. Desarrollo de una App Web con
Javascript
HTML5.
Colección de funcionalidad para correr en navegadores sin necesidad
de Plugin
Navegadores lo incorporan por defecto:
iOS, Android, WP7 Mango, IE Mobile 9 (IE 9), Opera Mobile, FireFox
Todavía no es estándar
Distintos grados de funcionalidad para cada navegador
Utilizar controlados del tipo de navegador
http://caniuse.com/#
Como afecta HTML5 al API Javascript de ESRI
Transiciones suaves entre niveles de Zoom y Pan
Permite crear hilos para Análisis, Cálculos, Recuperar información.
60. App Nativa Vs App Web
App Nativa App Web
Aplicación se instala en el dispositivo El navegador del dispositivo accede a la
aplicación Web
Acceso ilimitado a las posibilidades del Acceso limitado a las posibilidades del
dispositivo dispositivo
Usabilidad propia del dispositivo Usabilidad común
Fácil controlar distribución Difícil controlar distribución
Exposición a través de las Store
Un lenguaje para cada dispositivo Lenguaje único aunque cambios para cada
modelo dispositivo
Actualización depende del usuario Actualización depende programador
Ciclo actualización lento Ciclo actualización rápido
APIs integrables en 3ª app
61. Elegir una solución
Objetivo
Dispositivos Usuarios
Conexión Metodología
Mejor Solución
Datos
Coste
Software Otros
Condicionantes
Funcionalidad
62. Gracias por su atención
¿Alguna pregunta?
Jose Antonio Anta
joseantonio.anta@esri.es