Ir al contenido principal

El dolor de trabajar con ArcGIS



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Ăş.
Arcgis tiene varios frentes, el inicial es el de las aplicaciones de trabajo (Arcgis Desktop) que incluye ArcMap y ArcgisPro, que es lo que muchos profesionales en GIS usan en su día a día. Por otra parte está Arcgis Enterprise (antes lo llamaban Arcgis Server), que permite integrar junto con el Arcgis Portal, cualquier tipo de engranaje organizacional en torno a los mapas. El Arcgis Server y el Portal, ellos lo ofrecen como un servicio sin necesidad de adquirir infraestructura donde se pueden publicar mapas y si se necesitan cosas extra, se pueden pagar por ello, eso es el Arcgis Online.


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

Entradas más populares de este blog

Update personal (Parte 2)

Hace medio año que escribí el post anterior, donde mencioné muy por encima mi salida de Dondo y que no tenía ni idea de lo que quería hacer, pero que morirme definitivamente no era una opción. En este medio año, ejecuté un plan que tenía pensado hace bastante tiempo: terminar mis estudios de pregrado. A día de hoy (febrero de 2024) puedo decir que ahora sí terminé mi universidad y estoy solo a la espera de recibir el diploma que lo acredita. Era una tarea pendiente que tenía desde hace tiempo, aunque una que a la hora de la verdad, nunca me preocupó fuertemente. Mi relación con el estudio ha sido de amor/odio: me encanta aprender cosas interesantes, pero odio aprenderlas por obligación. A sido así desde niño, siempre le saqué el cuerpo a todo lo que era obligatorio y que no le veía el sentido, pero siempre me "enratoné" con temas que me parecían raros e interesantes a la vez. A lo obligatorio le solía dedicar lo mínimo necesario, y a lo que me interesaba, nunca me preocupó la...

Update personal (RIP Dondo 2023)

Hace mucho tiempo que no me sentaba a escribir alguna cosa en un blog, de hecho, es interesante cĂłmo los blogs han evolucionado/madurado con el tiempo, donde en algĂşn momento tuvieron un gran boom por allá al rededor del 2010, y hoy en dĂ­a no queda nada de ellos, y aĂşn asĂ­, la vida media de la relevancia del contenido que se genera hoy en dĂ­a en otro tipo de redes sociales no pasa de los 5 años. Durante este tiempo que no he escrito nada en computador, ha corrido mucha agua, han pasado muchas cosas, la mayorĂ­a muy interesantes, pero de las cuales aĂşn tengo ganas de vomitar de lo hastiado que quedĂ©, y aĂşn con todo, no he logrado organizar bien mis pensamientos para entender por quĂ© quedĂ© tan afectado.   A modo de resumen, me metĂ­ en la piscina del emprendimiento, y con tanto despiste que terminĂ© metido en un programa de lo que despuĂ©s me enterĂ©, era la aceleradora más importante de Silicon Valley (Y Combinator Fellowship 2). El intento de Startup que hice con mi ex-socio no resultĂł ...