¿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.

 

¿Qué desarrollas? ¡Vente al Developer Summit de Esri!


PantallazoDev(1)

 

APIs, SDKs, AppBuilders, AppStudio, Survey123… ¿Te suenan?

El 31 de mayo, a las 9.00 horas dará comienzo el Esri Developer Summit de Esri España, un evento organizado por Raúl Jiménez, Head of Developers & Startups Program (@hhkaos).

 

¿Qué haremos durante casi 10 horas? 

Aquí te dejamos un adelanto de lo que veremos a lo largo de esta jornada:

  • Destriparemos organizaciones para ver cómo están implementadas. Ingeniería inversa.
  • Os enseñaremos cómo usar los más de 300 proyectos en Github que tenemos.
  • Presentaremos las últimas novedades en desarrollo.
  • Lanzaremos un nuevo proyecto para aquellos desarrolladores que quieren especializarse en ArcGIS.
  • Veremos cómo ha quedado la JavaScript API 4.0 y qué podemos hacer con ella.
  • Os contaremos cómo Grunt o Yeoman pueden ayudaros a mejorar vuestra productividad y flujos de trabajo.

Hay muy pocos motivos para perderse este evento. Échale un vistazo detenidamente a la agenda y vente a Esri el 31 de mayo, que hay mucho que desarrollar.

¡Te esperamos!

Entrevistamos a Raúl Jiménez, el desarrollador que se esconde tras GeoDevelopers.org

Geodevelopers.org se ha convertido en el punto de encuentro de los mayores profesionales GIS. Un portal que pretende aumentar la visibilidad de los geodesarrolladores y ofrecer toda la información necesaria acerca del desarrollo con tecnología geoespacial.

Raúl Jiménez, Developer Program Manager de Esri España (@hhkaos), es la persona que se esconde tras esta comunidad. Hoy lo tenemos en Esriblog para que nos cuente qué es Geodevelopers.org y qué podemos encontrar en esta comunidad.

CAioVmTWsAA5I3B

Esriblog: Raúl, ¿cuál es el objetivo de GeoDevelopers.org?

Raúl Jiménez: Con Geodevelopers.org pretendemos fortalecer la comunidad que iniciamos en marzo de 2014. Cuando una comunidad crece como lo está haciendo la nuestra, las necesidades no sólo crecen sino que también cambian. Por ejemplo: se hace cada vez más difícil conocer qué espera encontrar cada miembro, quiénes son, facilitar el networking entre los miembros o enfocar las acciones de manera adecuada; o lo que es lo mismo, generar valor que es de lo que finalmente se trata. Por eso el principal objetivo de esta web es la de ayudarnos a conocernos mejor para así poder seguir creciendo como comunidad al mismo tiempo que satisfacer las necesidades reales de los miembros.

 

E.: ¿Podrías resumirnos rápidamente lo más destacado que se ha conseguido desde que nació la comunidad?

R.J.: Desde que nació esta comunidad hemos conseguido que 444 personas se unan al grupo en Meetup y que otras tantas nos sigan a través de otros canales como Youtube o Twitter. También hemos realizado 16 charlas que están disponibles a través de la web y que ya han visto más de 1.200 personas. Además, hemos colaborado con otras comunidades como MadridJS o Geoinquietos, así como para desarrollar dos proyectos Open Source y hemos conectado a varios miembros de la comunidad con empresas que buscaban un profesional GIS.

 

E.: ¿Qué van a encontrar los nuevos miembros en la nueva web?

R.J.: Aunque esta es sólo la primera versión, los nuevos miembros encontrarán el mayor directorio especializado en profesionales GIS donde se puede buscar a profesionales con conocimientos en alguna tecnología. Además de un perfil profesional con los conocimientos e intereses de cada miembro para crear sinergias entre ellos. También hay un canal de formación donde aparte de poder acceder a los vídeos de las charlas, encontrarán los materiales usados en las charlas: transparencias, ficheros, etc.

A esto hay que añadir una sección de rankings con los miembros y las tecnologías más destacadas y un apartado de preferencias donde cualquier miembro puede configurar sus intereses relacionados con el geodesarrollo.

Ya tenemos en mente otras secciones, pero vamos a esperar a ver qué feedback nos dan los miembros para ajustarlas a sus necesidades.

 

E.: ¿En qué te gustaría que se convirtiera esta comunidad?

R.J.: Me gustaría que fuese un lugar de referencia donde cualquiera que necesite algo relacionado con el desarrollo GIS sepa que puede acudir, ya sea para encontrar un profesional, aprender o perfeccionar una habilidad; así como conocer las últimas tendencias, descubrir nuevas tecnologías o simplemente pasar un buen rato otras personas con intereses en común. Para ello tenemos que seguir trabajando para unir fuerzas con otras comunidades como ya lo estamos haciendo con la de Geoinquietos, HTML5 Spain, MadridJS, Hackathon Lovers, etc.

 

E.: ¿Cuáles son las próximas acciones que se van a llevar a cabo dentro de esta comunidad?

R.J.: Seguiremos organizando charlas online, pero este año queremos hacer más encuentros en presenciales, al menos uno cada dos meses. Aunque nos sintamos cómodos con la tecnología, no existe mejor forma de hacer comunidad que quedando en persona para tomar algo y charlar relajadamente. También estamos colaborando con la organización del Codemotion, el mayor evento para desarrolladores de España, y luego tenemos otras cosas en mente, pero aún tenemos que sentarnos a hablarlas y ver con cuántas manos contamos para hacerlas.

 

E.: Por último, el 4 y 5 de noviembre se celebra la Conferencia Esri España 2015, ¿qué van a encontrar los geodevelopers en ella?

R.J.: Creo que la gran fiesta anual de Esri es un lugar ideal encontrarse y hacer networking con otros miembros de la comunidad, especialmente aquéllos que conocen o están interesados en aprender más sobre ArcGIS y que quieren conocer lo último en nuestras tecnologías de desarrollo. Por supuesto también es un lugar estupendo para intercambiar opiniones y experiencias con otros profesionales en ArcGIS.

 

Si quieres estar al día de lo que estamos haciendo en geodesarrollo, puedes seguir esta comunidad a través de @geo_developers.

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í>>

A %d blogueros les gusta esto: