¿Qué estrategia de desarrollo GIS elijo para mi aplicación móvil?

“No se nos pregunta si queremos jugar. No es ésa la opción. Tenemos que jugar.  La opción es: cómo.”

Anthony de Mello (1931 – 1978)

 

Vivimos inmersos en una sociedad que nos ofrece multitud de opciones en todos los ámbitos de nuestras vidas, y esto, que obviamente es algo positivo, puede convertirse en un gran quebradero de cabeza cuando nos obliga a elegir sólo una de todas esas posibilidades, ya que, como es lógico, no nos conformamos sólo con una buena opción, sino que buscamos escoger la mejor.

Como no podía ser de otra manera, también en el desarrollo de aplicaciones móviles existen muchas y buenas opciones, cada día más. Además, si nuestra aplicación móvil tiene funcionalidad GIS, el abanico de opciones continúa abriéndose ya que Esri nos ofrece diferentes posibilidades para que nos podamos adecuar a las necesidades.

Por todo esto, cuando tenemos que aventurarnos en la creación y desarrollo de una nueva aplicación es necesario hacer un buen análisis antes de lanzarnos por uno u otro camino.

 

¿Qué opciones existen?

En líneas generales, podemos decir que existen cuatro grandes opciones para el desarrollo de una aplicación que se utilizará desde un dispositivo móvil: aplicación nativa pura, aplicación nativa con un lenguaje multiplataforma, aplicación web o aplicación híbrida.

  • Una aplicación nativa se desarrolla con el lenguaje específico de la plataforma, por ejemplo, Objective-C o Swift para iOS y Java y XML para Android.

Esta opción ofrece la mejor integración con los dispositivos, el mejor rendimiento y la mejor experiencia de usuario, pero requiere tener conocimientos específicos del lenguaje con el que se va a desarrollar y habitualmente conllevará más coste porque hay que desarrollar una aplicación por sistema operativo.

 

  • Una aplicación nativa con lenguaje multiplataforma se desarrolla con lenguajes como Xamarin o Qt, que permiten compilar la aplicación a código nativo.

En este caso, las mayores ventajas radican en que también tiene rendimiento nativo, se puede reutilizar la mayor parte del código para múltiples plataformas y requiere conocimiento sólo de un lenguaje de desarrollo, lo cual implica un ahorro de esfuerzo y dinero.

Sin embargo, no hay que olvidar que algunos componentes de la interfaz tienen que ser desarrollados específicamente para cada plataforma y que puede no proveer acceso a toda la funcionalidad nativa, sobre todo en el caso de las nuevas capacidades, que suelen llegar más tarde que en los propios lenguajes nativos.

 

  • Una aplicación Web utiliza JavaScript, HTML y CSS alojado en el servidor web y se accede a la aplicación mediante el navegador del dispositivo.

Esta es una buena estrategia cuando no se sabe qué dispositivos utilizarán los usuarios, si se quiere alcanzar a una gran audiencia, si el equipo no tiene conocimientos de desarrollo en lenguajes para plataformas nativas o si queremos que el coste de desarrollo no sea muy alto. A cambio de esto, se perderán las ventajas asociadas al desarrollo nativo, como la integración con el dispositivo o tener el mejor rendimiento.

 

  • Una aplicación híbrida utiliza tecnología web para desarrollar (JavaScript, HTML y CSS), pero se utilizan frameworks como PhoneGap, Apache Cordova o Electron para compilarlas en aplicaciones nativas.

Las mayores diferencias de la aplicación híbrida con la aplicación web residen en que en este caso se distribuye como una aplicación nativa, por tanto, no es necesario acceder a la aplicación desde el navegador web. Además, los frameworks disponen de librerías para facilitar el acceso algunas de las funcionalidades nativas del dispositivo.

 

Como se puede ver, las mayores diferencias se encuentran entre escoger una estrategia nativa (ya sea nativa pura o multiplataforma) y una estrategia web (web pura o híbrida). En esta tabla se recoge un resumen de las principales consideraciones a tener en cuenta a la hora de escoger entre ellas.

 

¿Y para desarrollar una aplicación móvil con ArcGIS?

Esri proporciona herramientas para desarrollar aplicaciones móviles nativas o web a través de los APIs y SDKs de ArcGIS. En el caso de optar por una estrategia nativa, ArcGIS Runtime SDK es la opción adecuada mediante los Runtimes para Android, iOS, .NET y Qt. Los dos últimos nos ofrecen la posibilidad de desarrollar aplicaciones multiplataforma ya que Runtime para .NET incluye APIs para Xamarin. Si se opta por una estrategia web, el ArcGIS API for JavaScript es la respuesta.

 

 

A alto nivel podemos decir que el desarrollo de aplicaciones con ArcGIS es similar para los SDKs de Runtime y para el API de JavaScript. Sin embargo, antes de decidir qué opción elegir, no solo es importante tener en cuenta las diferencias propias de la tecnología que ya hemos comentado, sino contemplar también algunas diferencias en las funcionalidades de ArcGIS que pueden ser determinantes para nuestra aplicación GIS móvil.

De forma general se puede decir que siempre que una aplicación tenga que acceder a información o recursos locales, como para trabajar en modo desconectado, se debe escoger para desarrollar una estrategia nativa. El acceso a recursos locales puede ser muy útil en una aplicación GIS para dispositivos móviles, no sólo por los requisitos funcionales, sino porque en general el rendimiento aumenta al evitar el tráfico de red.

En el siguiente cuadro se muestra de modo más detallado el acceso a las funcionalidades y capacidades de ArcGIS en las diferentes plataformas.

 

En cuanto a ArcGIS se refiere, en el resto de casos no hay grandes diferencias entre el uso de una estrategia nativa o una estrategia web, de modo que la elección se puede realizar en base a criterios tecnológicos, económicos o estratégicos.

 

Pero entonces, ¿cuál es el mejor framework?

Es posible que después de leer todo esto nos sigamos haciendo la misma pregunta que al principio, pero no hay respuestas sencillas a preguntas complejas.

La mejor recomendación es que en cada nueva aplicación con funcionalidad GIS para dispositivos móviles que desarrollemos nos hagamos las siguientes preguntas:

  • ¿A quién va dirigida?
  • ¿Qué conocimientos tiene el equipo de desarrollo?
  • ¿Necesita una alta integración con el dispositivo o existen requisitos de rendimiento?
  • ¿Se prioriza el diseño y la experiencia de usuario o reducir los costes?
  • ¿Qué funcionalidad requiere? ¿Los usuarios necesitan trabajar con el mapa en modo desconectado?

Evidentemente, existen muchos más factores que habrá que tener en cuenta antes de decidir, pero responder a estas preguntas nos dará una buena pista de por dónde podemos comenzar.

Autora: Marta Dávila, Analista GIS de Esri España. Dpto. Preventas. Esri España.

 

Te invitamos los días 25 y 26 de octubre a la Conferencia Esri España 2017 en Madrid, para que conozcas las últimas novedades en desarrollo GIS, así como otros productos y tendencias de la plataforma ArcGIS. ¡Ven al mayor evento de tecnología geoespacial de España! Te esperamos.

Carthumbing, una app para el #EsriHackUPChallenge

El pasado 3 de marzo comenzaba el HackUPC 2017, el segundo hackathon más grande de Europa preparado por estudiantes y para estudiantes. 500 participantes organizados en equipos tenían que elegir uno de los retos propuestos, desarrollarlo durante 36 horas (y más cosas que contamos en el story map Esri HackUPC Challenge).

 

 

Esri España y Esri UK fueron los organizadores de uno de estos retos, el #EsriHackUPChallenge, en el que los participantes tenían que desarrollar una app que mejorar el algoritmo de búsqueda de rutas y de pasajeros de Blablacar utilizando nuestras herramientas de análisis GIS en nuestra plataforma.

Durante tres días, 11 equipos se enfrentaron a este reto. Finalmente, el equipo ganador fue Carthumbing con una app for hitchhikers.

¿Qué es App for Hitichhikers y por qué mejora el algoritmo?

El sistema de Carthumbing, tiene dos partes: un back-end y un front-end. El back-end está montado sobre Docker. En él se han desplegado unos scripts de Python que hacen todo el proceso y el cálculo geoespacial entre la base de datos de las rutas y la aplicación cliente que van a usar los viajeros. El front-end está desarrollado mediante React, en el que se crea una aplicación para iOS y para Android. Esta aplicación cliente tiene una interfaz sencilla para que los viajeros puedan buscar la ruta y el conductor que más les conviene.

Actualmente la app funciona de la siguiente manera: los conductores publican el viaje con el origen, destino y las paradas que van a hacer. Los pasajeros buscan un conductor buscando los conductores con el misma destino. El origen y destino tiene que coincidir con los que ha introducido el conductor para que aparezca como posible conductor

En cuanto a las mejoras que se han realizado con nuestras herramientas están:

Añadir constreñimientos a las búsquedas de las rutas mediante el análisis GIS, como por ejemplo: calculando un polígono alrededor de una ruta con el máximo desvío en tiempo de conducción y calcular la intersección con todas las posibles paradas que se pueden hacer. De esa manera daría mejores resultados a los pasajeros y los conductores también optimizarían sus viajes.

Ganadores y premios

El equipo ganador, formado por cuatro persona, se llevó un minidrone cada uno. Los premiados fueron:

Enhorabuena a los premiados y esperamos veros en nuestro reto el próximo año. No olvidéis que podéis uniros a nuestra comunidad abierta de Geodevelopers, la comunidad para desarrolladores profesionales del mundo GIS.

 

PokéVision: el mapa del tesoro de Pokémon GO

¡Los usuarios de Pokémon GO estamos de enhorabuena! Ha llegado a nosotros PokéVision, una aplicación de terceros para Pokémon Go desarrollada sobre tecnología Esri para ayudarnos a encontrar los Pokémons que tenemos alrededor en tiempo real.

¿Cómo funciona?

El usuario determina su ubicación en el mapa, bien con un marcador o introduciendo la dirección, obteniendo automáticamente no sólo la ubicación de los pokémons que tiene alrededor, sino el tiempo que permanecerán en ese lugar. De este modo, la caza es más estratégica, ya que podemos ver los cambios de localización y un marcador con una cuenta atrás que nos dice cuánto tiempo nos queda antes de que ese Pokémon se marche de ese lugar. Tiempo que está determinado, por cierto, en función de la rareza del Pokémon.

Para que veáis cómo funciona, acabamos de hacer una prueba. Ahora mismo, alrededor de las oficinas de Esri España tenemos estos Pokémons, siendo el más cercano un Cubone que permanecerá ahí durante 10 minutos y 32 segundos.

mapa_pokemon

Usuarios, código, y otros datos

Los creadores de PokéVision desarrollaron la app de forma espontánea y entre amigos, pero en seguida se convirtió en viral. A los cinco días de su lanzamiento, PokéVision  ya contaba con 20 millones de usuarios únicos, cifra que sigue creciendo. El pico máximo de uso ha alcanzado los 320.000 usuarios, obteniendo decenas de millones de solicitudes de información.

“Cuando creamos PokéVision, elegimos Esri casi de inmediato, ya que era la única opción que era capaz de escalar a la tasa estábamos creciendo”, dijo el fundador PokéVision Y. Liu. “Usar ArcGIS alivió muchos de los problemas que tuvimos gracias a su escalabilidad y nos ayudó a mantener de forma rápida y sin problemas el ritmo de nuestra creciente base de usuarios”.

Los creadores de PokéVision han utilizado la tecnología Esri por su capacidad Open Source y porque ArcGIS Online está diseñado para escalar a alto rendimiento en entornos de alto crecimiento. Además, permite trabajar en tiempo real independientemente del volumen de datos, que en el caso de PokéVision es ingente.

¿Y los resultados?

Las estadísticas demuestran que los usuarios de PokéVision capturan dos veces más Pokémons que los no usuarios.

¡Nosotros ya la tenemos instalada! Y ahora que ya os hemos contado todo, os dejamos porque nos quedan dos minutos para capturar un Cubone que tenemos a 200 metros y está esperándonos para ser evolucionado.

Por cierto, si queréis crear vuestra propia app de forma rápida, hacedlo con ArcGIS for Developers.

ArcGIS Geo Developer Communities os espera!!

¿Eres estudiante o profesor de un centro formativo en áreas de programación?¿Te gustaría aprender a desarrollar aplicaciones relacionadas con la geolocalización?¿Quieres conocer a otras personas los mismos intereses?ArcGIS Geo Developer Communities

Si tu respuesta es afirmativa, no esperes más y entra en ArcGIS Developer y busca tu comunidad. Si todavía no existe, podrás contactar con el Responsable de Desarrolladores de Esri España para que acuda a tu universidad o escuela y explicaros como desarrollar la comunidad y cuáles son las ventajas con las que contaréis.

Todos los miembros de ArcGIS Geo Developer Communities cuentan con material de apoyo para la formación, orientación profesional de los mejores expertos de España, asesoramiento técnico en cuestiones concretas y toda la infraestructura tecnológica necesaria. Además, los miembros de las comunidades podrán ponerse en contacto con personas con intereses comunes, solicitar ponencias y materiales para eventos o acceder a versiones Beta exclusivas para desarrolladores.

No esperes más y busca tu comunidad!!

Retos, eventos y premios para #developers en mayo

Este mes de mayo parece que todos en Esri estamos “uniendo fuerzas” para poneros deberes a los desarrolladores 🙂 ¡Os aseguramos que nada más lejos de nuestra intención! Pero parece que os astros se han alineado para ofrecernos un montón de eventos y oportunidades a los geoentusiastas.

Mientras mi compañero Raúl sigue liderando el MeetUp de Geodevelopers (con más de 80 participantes compartiendo recursos e historias de desarrollo con tecnología geográfica), la pasada semana hemos recibido dos muy buenas noticias, la apertura de la Climate Data App Challenge a la participación internacional y la participación de Esri España en StartUp4Cities.

Esri Climate Resilience App Challenge

Es un concurso de apps que aporten “algo” a las comunidades que deben afrontar (o deberán hacerlo) los desafíos que supone el cambio climático. Este concurso fue lanzado en marzo por Esri Inc, pero no os lo comentamos porque era únicamente para participantes de Estados Unidos.

Tras varias peticiones, Esri Inc ha considerado abrirlo al mundo para su participación, y ahora podemos enviar nuestras apps sin importar el país en el que trabajamos y desarrollamos.

Además de ser una iniciativa muy interesante, ya que se dará visibilidad internacional a participantes y ganadores (estos últimos presentarán sus apps en la Esri International User Conference) hay premios en metálico de hasta 10,000$ para los ganadores, creo que un importe interesante para dar un empujón a nuestra idea, app o startup.

Para saber más, visita nuestra web>>

StartUp4Cities

Este evento tendrá lugar en Madrid el 10 de junio, y será, básicamente, un escaparate de proyectos de emprendimiento y desarrollo. Pero no será un escaparate cualquiera, los que estén al otro lado del cristal serán los responsables de las principales 50 ciudades de España.

startup4cities

Las ciudades más grandes, las más innovadoras, las auténticas Smart Cities, están buscando nuestro talento, nuestras apps y nuestros proyectos, para hacer más fácil la vida al ciudadano, sí, pero también para hacerse más fácil su gestión interna, o afrontar retos como el Open Data o el Big Data (por cierto, ya está disponible la solución ArcGIS for Open Data en Beta, si queréis probarla, podéis hacerlo aquí)

¿Quieres ser uno de los proyectos estrella de StartUp4Cities? Infórmate aquí>>

Nace ArcGIS for Developers la plataforma de los desarrolladores

arcgis-for-developers-ya-disponible

developers.arcgis.com

Y ya puedes entrar, probarlo y utilizarlo como primera base para añadir geografía a tus apps a través de la nube de Esri: en cualquier plataforma de desarrollo y para llegar a cualquier dispositivo.

A %d blogueros les gusta esto: