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]