Gleo: reinventando los mapas WebGL

Gleo es una librería JavaScript de visualización de mapas web impulsada ​​​​por WebGL. Gleo es una biblioteca para mostrar mapas geográficos, que aprovecha WebGL1 mediante la biblioteca de abstracción Glii. Su objetivo es cubrir los casos de uso de Leaflet, OpenLayers o MapboxGL / MaplibreGL.

Según su creador, Iván Sánchez Ortega, «es como reinventar la rueda de Leaflet/OpenLayers/MapLibre«, y ha sido desarrollada solo por él.

Objetivos

  • Ofrecer una API similar a Leaflet (imperativa, orientada a objetos, sin hojas de estilo, una instancia de objeto por símbolo cartográfico, clases extensibles), pero que aprovecha el renderizado 2D WebGL.
  • Soporte de proyecciones cartográficas como OpenLayers.
  • Rendimiento habilitado para WebGL como MapLibre.
  • Soporte de simbolización capaz de rivalizar con Deck.gl.

Características

  • Módulos JavaScript ES6 puros (no se necesitan herramientas de agrupación de Typescript ni JavaScript).
  • Enfoque totalmente orientado a objetos.
    • Los símbolos de mapa son objetos y hacen cosas como manejar eventos del ratón.
  • Soporte de reproyección sobre la marcha.
  • Ausencia total de la palabra (sorprendentemente ambigua) «capa».
  • Licencia GPLv3.

Usar Gleo requiere un sólido conocimiento de los fundamentos del desarrollo web. Gleo está diseñado como módulos de JavaScript y no requiere ninguna cadena de herramientas de agrupación (como rollup, parcel, webpack, etc.) para funcionar.

Ejemplos interactivos

Más info

📊 Comparativa de librerías de mapas web open source

Característica Leaflet OpenLayers MapLibre GL JS Gleo
Última versión 1.9.4 9.2.4 5.3.0 1.0.0
Fecha publicación 18 may 2023 27 may 2024 mar 2025 21 mar 2025
WebGL ❌ No nativo (sí via plugins) ✅ Sí ✅ Sí ✅ Sí (núcleo WebGL)
Teselas vectoriales ❌ No nativo (sí vía plugins) ✅ Sí ✅ Sí (nativo) ✅ Sí (vector-tile-js)
Proyecciones 🌍 Solo Web Mercator 🌐 Múltiples via Proj4js 🌍 Web Mercator + globo + experimental 🌐 Múltiples via Proj4js
Plugins 🔌 Amplio ecosistema 🔌 OL-ext y otros 🔌 Comunidad activa (Awesome MapLibre) 🚫 No dispone
Soporte móvil 📱 Excelente 📱 Bueno (requiere ajustes) 📱 Bueno 📱 Requiere pruebas
Tamaño ligero ✅ Muy ligera (~42 KB) ❌ Más pesada (~140-250 KB) ❌ Media (~220 KB) ❌ No especificado oficialmente
Facilidad de uso 😊 Muy fácil 😐 Requiere curva de aprendizaje 😐 Intermedia 🧪 Experimental

Deja un comentario