NOTA Julio 2023: A pesar de la fecha en que estoy publicando esto, parece que lo habĂa dejado inconcluso en Draft desde el 2017 jajaja, no recordaba que habĂa hecho esto la verdad, pero ajá, creo que lo voy a publicar de una vez con una simple revisiĂłn.
Durante los Ăşltimos años y debido a mi trabajo, he tenido la oportunidad de ver y usar varias de las tecnologĂas de ESRI.
Para quien no sepa, Arcgis es una familia de productos (y también servicios) enfocados en el trabajo con mapas digitales. Se han posicionado como el estándar de facto en la industria de los mapas, y la razón para su éxito es que llevan bastantes años en ese mercado, han logrado crear productos que son relativamente "fáciles" de configurar, y han logrado acaparar muchos de los mayores clientes de este tipo de sistemas (léase los gobiernos y la milicia), lo que en términos prácticos les ha permitido invertir en optimizar muy bien las cosas que sus clientes usan.
Esto es lo que se ve en el menĂş. |
Desde el punto de vista empresarial, usar Arcgis es una opción bastante atractiva y de hecho en muchos casos, es la mejor (sin importar lo costoso que es). Arcgis promete no enredar las cosas, haciendo que instalar cualquiera de sus productos sea cuestión de unos cuantos clics y ofreciendo soporte. Fuera de eso, al ser el estándar de facto, muchas empresas ya están familiarizadas con las herramientas, y hasta tienen muchos procesos elaborados al rededor de ellas.
Pero desde el punto de vista de un desarrollador de software, las cosas no son tan alegres.
Desarrollando sobre Mapas
Cuando uno quiere desarrollar alguna cosa con mapas, generalmente se tratará de mostrar un mapa base junto con algún tipo de información (que dependerá del contexto del problema en el que se esté trabajando).En el pasado y debido a la complejidad gráfica innata de los mapas, la mejor manera de hacer esto era escribir un programa de escritorio que pudiera hacer uso extensivo de las capacidades de la maquina y todo eso... pero actualmente y gracias a los avances en la web, la mejor manera es haciendo uso de JavaScript.
En esto la gente de ESRI le ha puesto mucho empeño a hacer de su api en javascript algo bastante robusto, potente y útil. No se quedan en lo básico, si no que desde allà se puede hacer literalmente de todo... pero a un costo: Hacer que Arcgis JS sea terriblemente doloroso de integrar por culpa de Dojo.
La librerĂa caprichosa
Dojo (http://dojotoolkit.org/) es una librerĂa que naciĂł en la Ă©poca en la que jQuery era el amo y señor de internet. Se hizo popular por ser una alternativa a jQuery que funcionaba muchĂsimo más rápido y que lo podĂa reemplazar.Para Esri era un movimiento obvio, si su negocio son los mapas, hacerlo con la herramienta más optimizada era lo mejor.
Dojo en sà mismo no es tan terrible, está bien documentado, pero si uno quiere integrarlo con otras cosas... Dojo espera que los demás sean los que se tengan que integrar con él.
Esto significa que, si se quiere usar dojo, hay que usar todo, router de dojo, las configuraciones de dojo, y el todo de dojo.
Usar Dojo implica que es horriblemente difĂcil no dejarlo de usar... Dojo absorbe todo!
Para un desarrollador web moderno, esto equivale a castrar sus sueños he ilusiones...
Respecto a esto los de Esri hicieron un buen movimiento con el AppWeb Builder, un generador de mapas que hace más sencillo la creación de un mapa: con solo unos clics, y arrastrando widgets a gusto, se puede tener un mapa completamente funcional... y completamente en Dojo.
En el dĂa a dĂa, la mejor manera que hallamos para hacer este tipo de integraciones con otros frameworks web, es cargar los mapas de arcgis desde un <iframe>, y escribir un widget que se encargue de la comunicaciĂłn entre el mapa (en dojo) y el web que se construye (en el framework y tecnologĂa de preferencia) mediante eventos de mensaje.
Es una manera desacoplada de hacer la comunicaciĂłn. Hay otras maneras, pero esta nos ha resultado ser la menos invasiva y la que menos falla.
Desarrollando sobre datos
Desde el lado de los datos, es decir, datos geográficos, existen estándares mundialmente aceptados para almacenar y compartir información geográfica (gracias al Open Geospatial Consortium, OGC).
En esto Arcgis tiene merito, ya que sus tipos de datos geográficos son compatibles con el estándar.
Sin embargo, no todo es color de rosa.
-----
Hasta ahĂ habĂa quedado el borrador. Estoy publicando esto ya para no dejarlo en borrador eternamente, pero aunque tendĂa más cosas para mencionar, la verdad no me apasiona tanto este tema ahora como para escribir al respecto.
Cheers!
Comentarios
Publicar un comentario