Diapositiva 1

Transcripción

Diapositiva 1
Seminarios Esri España
Desarrollo de Aplicaciones
Jose Antonio Anta.
Móviles
[email protected]
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.
Requisitos de una Aplicación Móvil
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.
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
Usabilidad
Aplicaciones que no
sean un truño
Usabilidad web
Importante
Usabilidad Móvil
Crítico
20 segundos
Usabilidad
Volar
Aterrizar
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…
Datos
Fuentes de Datos
Datos
Raster
CAD
Features
Datos Públicos. Direcc Generales, CCAA, …
ArcGIS Online, MAPABase
Servicio Mapa
ArcGIS.com
Carga y Almacenamiento en
Geodatabase
Tablas
SHP
Está todo integrado. Abstracción del
.
mundo real
Definición Modelo de Datos
Capas
Campos
Definición de Tablas
Relaciones, …
Definición de Subtipos
Definición de Dominios
Definición de Reglas de Validación
Carga Datos
Geodatabase
Networks
Attributes
3D Objects
Topology
Vectors
Terrain Cartography
Schematics
Parcel
Annotation
Images
Dimensions
Addresses
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
Recomendaciones para un
mapa en un dispositivo móvil
Consideraciones:
Usuarios No GIS
Hardware mínimo
Mucha cartografía
Funcionalidad
Consejos:
Preparación Geodatabase
Uso de Dominios
Uso de Subtipos
Optimización cartografía a extraer
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
320x240
Small
Sunlight
washes
out
Colors
Publicación de información
Creación de Servicios Web de Mapas
Servicio Mapa
Mapa.MXD
Servidor SIG
Creación de Web Maps
Servicios Mapa
Web Map
ArcGIS.com o Servidor SIG
Consumo
SDKs y APIs
SOAP
Servicios de Mapa y Web Map
REST
Servidor SIG
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
Abierta
Servicios
Feature
http://<miserver>/arcgis/rest/services/<MiMapa>/MapServer
http://<miserver>/arcgis/rest/services/<MiLocator/GeocodeServer
http://<miserver>/arcgis/rest/services/Geometry/GeometryServer
http://<miserver>/arcgis/rest/services/<MiModelo>/GPServer
Map
Geom
Geocod
Image
GP
Network
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
Consejos
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
Tecnología en Movilidad
Tecnologías en movilidad
.
Sistemas
.
Operativos
Soportes
.
Linux
Windows XP Windows Mobile
Windows 7 CE, 5, 6.0, 6.1, 6.2
IOS Android
Windows
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
- Distanciómetro
- Acelerómetro
- Otros Dispositivos
- Conectado
- Desconectado
- A veces conectado
Lenguajes de Desarrollo
.
S.O
Lenguajes.
Linux
Windows
Mobile CE,
Windows XP 5, 6.0, 6.1,
Windows 7
6.2
.NET
No
Visual Studio
2008
JAVA
Eclipse
Eclipse
No
No
No
Flash Builder
Burrito
No
***
***
***
Objective C
Flex
Action Script
Javascript
IOS
Visual Studio
2008
Mono Touch
No
Android
Windows
Phone 7
No
Visual Studio
2010
Eclipse
No
XCode
No
Flash Builder Flash Builder
Burrito
Burrito
***
***
No
***
IDEs:
- Visual Studio 2008
- Xcode
- Visual Studio 2010
- Flash Builder Burrito
- Eclipse
- Monotouch
- Aptana***
Soluciones Móviles de Esri
ArcGIS
Desktop
/ Engine
ArcPad
Desarrollo de
herramientas GIS
de propósito
específico
•
•
Windows XP/7/…
•
Linux
ArcGIS
Mobile
•
•
Herramienta SIG
profesional de
propósito general
Windows Mobile
•
•
Herramienta SIG
basada en flujos
de trabajo
“Tareas”
•
Windows Mobile
Aplicación por •defecto
Windows XP/7
Windows XP/7
GIS en
el Móvil
•
•
Android
•
API / SDK de Desarrollo
iOS
WP7
Soluciones Móviles de Esri
ArcGIS
Desktop
/ Engine
ArcPad
ArcGIS
Mobile
GIS en
el Móvil
Aplicación por defecto
ArcGIS Desktop
Windows
ArcPad Windows
ArcPad W.Mobile
ArcGIS Mobile Windows
ArcGIS Mobile W.Mobile
•
ArcGIS for iOS
•
ArcGIS for Android
•
ArcGIS for WP7
API / SDK de Desarrollo
Add-Ins Desktop
.NET/JAVA
ArcPad Studio
Windows y W.Mobile
Frame Work SDK +
SDK Mobile.
Windows y W. Mobile
•API
ArcGIS Engine
.NET/JAVA
SDK Mobile Windows
SDK Mobile W. Mobile
for iOS
•API for Android
•API for WP7
Soluciones Móviles de Esri
Ap Flex
móviles
Ap Web
móviles
ArcGIS
Mobile
ArcGIS Mobile Windows
ArcGIS Mobile W.Mobile
GIS en
el Móvil
•
ArcGIS for iOS
•
ArcGIS for Android
•
ArcGIS for WP7
Frame Work SDK +
SDK Mobile.
Windows y W. Mobile
API de ArcGIS
para FLEX
API de ArcGIS
para Javascript
•API
SDK Mobile Windows
SDK Mobile W. Mobile
for iOS
•API for Android
•API for WP7
Soluciones de desarrollo para
movilidad ESRI
.
S.O
Lenguajes.
Linux
AG Engine
AG Engine
Android
Windows
Phone 7
API WP7
API Android
Objective C
API iOS
Flex
Action Script
App Web
Javascript
IOS
AG Engine
SDK AG Mobile
ArcPad Studio SDK AG Mobile ??API iOS
.NET
JAVA
Windows
Mobile CE,
Windows XP 5, 6.0, 6.1,
Windows 7
6.2
API FLEX
API FLEX
API FLEX
?
API Javascript
API Javascript
API Javascript
API
Javascript
API Javascript API Javascript
IDEs:
- Visual Studio 2008
- Xcode
- Visual Studio 2010
- Flash Builder Burrito
- Eclipse
- Monotouch
- Aptana
Flujos de trabajo
ArcGIS
Desktop
/ Engine
ArcGIS
Mobile
ArcPad
GIS en
el Móvil
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
Flujos de trabajo
ArcGIS
Desktop
/ Engine
ArcPad
ArcGIS
Mobile
GIS en
el Móvil
Nuevos aplicaciones para iOS, Android, W Phone7.
Trabajan contra el servidor ArcGIS Server. Similar a una aplicación Web.
ArcGIS.com
ArcGIS
Server
Servicios
Web
Terminales
móviles
Aplicaciones y Usuarios
ArcGIS
Desktop
/ Engine
Desarrollo de
herramientas GIS
de propósito
específico
ArcPad
•
Usuario
Especializado
ArcGIS
Mobile
•
Herramienta SIG
profesional de
propósito general
Usuario GIS en
Campo
•
GIS en
el Móvil
Herramienta SIG
basada en flujos
de trabajo
“Tareas”
Trabajadores de
Campo
“jefes”
Subcontratas
Ciudadanos
Desarrollo con el SDK de ArcGIS Mobile
12345-
Desarrollo con el
Desarrollo con el
Desarrollo con el
Desarrollo con el
Otras Soluciones
SDK de ArcGIS Mobile
API para iOS
API para Android
API para W. Phone 7
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.
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
Opciones con el SDK Mobile
Nueva funcionalidad sobre la
aplicación ArcGIS Mobile
Nueva aplicación
Desarrollo con el núcleo SDK
Display
Mapa
Server
Mobile
Cache
GpsDisplay
Geometry
Feature
Layer
Desktop
Layers
Annotation
Layer
Raster
Layer
Feature
DataTable
Feature
DataReader
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”
EJEMPLO DE MODELO DATOS RED
DE TELEFONIA
Café
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
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”
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
{
}
Desarrollo con el API para iOS
12345-
Desarrollo con el
Desarrollo con el
Desarrollo con el
Desarrollo con el
Otras Soluciones
SDK de ArcGIS Mobile
API para iOS
API para Android
API para W. Phone 7
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…)
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
Arquitectura App iOS
Modelo – Vista - Controlador
UIView2
UIView1
delegate
MyAppDelegate
CREA Y MUESTRA
delegate
UIViewController1
UIViewController2
observe
observe
Model
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
…
Desarrollo con el API para Android
12345-
Desarrollo con el
Desarrollo con el
Desarrollo con el
Desarrollo con el
Otras Soluciones
SDK de ArcGIS Mobile
API para iOS
API para Android
API para W. Phone 7
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,…
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
Clases de la API de ArcGIS para
Android
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
Desarrollo con el API para Windons Phone 7
12345-
Desarrollo con el
Desarrollo con el
Desarrollo con el
Desarrollo con el
Otras Soluciones
SDK de ArcGIS Mobile
API para iOS
API para Android
API para W. Phone 7
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,…
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
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
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”
Desarrollo con otras soluciones
12345-
Desarrollo con el
Desarrollo con el
Desarrollo con el
Desarrollo con el
Otras Soluciones
SDK de ArcGIS Mobile
API para iOS
API para Android
API para W. Phone 7
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
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
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
-
Giróscopo
SI
-
SI
Android: depende del firmware que el vendedor aplique al
Desarrollo de una App Web con
Javascript
Framework Mobile
Transiciones animadas
Toolbars
Buttons
Listviews
JQuery
www.jquerymobile.com
Dojox.mobile
http://docs.dojocampus.org/dojox/mobile
Sencha
www.sencha.com/products/touch
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.
Conclusiones
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 dispositivo
Acceso limitado a las posibilidades del
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
Elegir una solución
Objetivo
Dispositivos
Usuarios
Conexión
Metodología
Mejor Solución
Datos
Coste
Otros
Condicionantes
Software
Funcionalidad
Gracias por su atención
¿Alguna pregunta?
Jose Antonio Anta
[email protected]

Documentos relacionados