Nueva versión de Leaflet 1.0

leaflet-1-0

El 27 de septiembre de 2016 se ha liberado la versión de Leaflet 1.0. Esto supone todo un acontecimiento y se ha anunciado a bombo y platillo.

¿Por que? básicamente porque es la culminación de varios años de trabajo por parte de docenas de contribuyentes lo que se traduce en alrededor de 400 cambios respecto a la última versión estable, la v0.7.7. Casi nada.

Lo que sorprende es que esta librería, creada en 2011, mantenía una numeración que comenzaba en 0.x.x. Es como si aun no contase con una versión digna de merecer la unidad. Pensemos en su competidor principal: OpenLayers. Aunque la andadura de OpenLayers comenzó en el año 2005 y durante años fue una librería lo suficientemente madura como para ser la librería elegida por casi todos los proyectos de SIG WEB open source más punteros, el cambio de arquitectura a la versión 3 en el año 2013 supuso un duro revés al perder mucha funcionalidad (¡el control de capas – layerswitcher – solamente puede añadirse utilizando un complemento!).

El caso es que, a día de hoy, OpenLayers está ya en la versión 3.18.2 y aun así, en nuestra opinión, la versión 0.7.7 de Leaflet ya supera con creces a OpenLayers.

No es que OpenLayers sea una librería mala, que no lo es en absoluto, pero Leaflet tiene algo con lo que OpenLayers sueña: su ecosistema de plugins. Decenas de plugins que enriquecen a esta fantástica librería y hace fácil lo difícil (o lo imposible para los novatos, basta con ver lo sencillo que es añadir un plugin que calcule las rutas óptimas entre dos puntos).

Veamos cuales son las principales novedades de la mejor librería de código abierto para crear mapas web:

  • Enormes mejoras de rendimiento en todos los aspectos de la biblioteca y particularmente en las capas vectoriales.
  • Nueva clase L.Tooltip para todas nuestras necesidades de etiquetado dinámico de capas.

tooltip en Leaflet 1.0

  • Animaciones de sobrevuelo (zoom y movimiento en una curva) con el nuevo método map.flyTo.
  • Soporta fracciones en el nivel de zoom:
map.setZoom (7.24))
  • Mejorado el algoritmo que carga las teselas, ahora tiene menos parpadeo.
  • Gestión de panel personalizado (que incluye varios paneles de capas vectoriales y vectores de entrelazado y capas teseladas).
  • Mejor soporte para proyecciones no estándar.
  • Más funciones de accesibilidad.
  • Documentación mejorada.
  • Toneladas de correcciones de errores y mejoras de estabilidad.

Nota sobre los nuevos ciclos de lanzamiento

Esta versión de Leaflet 1.0 se ha retrasado más de lo esperado. En parte, se puede atribuir a la ambición inicial de esta versión 1.0, que ha requerido reescribir muchas partes de la librería casi desde la nada, en parte debido al perfeccionismo (algunos de los lanzamientos beta/rc ya eran más estables que la última versión estable), y en parte porque se ha subestimado el coste de introducir grandes cambios de ruptura en una librería que es utilizada por miles de desarrolladores.

A partir de la versión 1.0 se cambia a un nuevo ciclo de liberación rápida, donde tendremos una nueva versión cada 2-4 semanas, ya que es preferible hacer muchos cambios pequeños y graduales, que lanzarse a ambiciosas misiones de reescritura.

¿Qué viene después de Leaflet 1.0?

Además del soporte de esta nueva versión con las correspondientes correcciones y mejoras, tendrán prioridad las siguientes áreas :

  • Un ecosistema de plugins más estable más limpio. Hay que  asegurarse de que los plugins funcionen bien con esta última versión (por el momento no todos lo hacen). Se revisará la lista de plugins bajo el paraguas de la organización de Leaflet en GitHub y se pasará más tiempo trabajando en ellos.
  • Los tutoriales y ejemplos cubrirán las funciones más avanzadas de la biblioteca, sus plugins populares, y la integración con bibliotecas como D3 y React/Angular.
  • Se explorará el cambio a un JavaScript más moderno (el nuevo estándar de JavaScript ECMASCRIPT 6, Babel o el módulo rollup.js).
  • Soporte a la rotación de los mapas.

Desde aquí nuestra enhorabuena por este lanzamiento a todo el equipo de desarrolladores.

Ah, Leaflet siempre está buscando nuevos contribuyentes para continuar mejorando.

En MappingGIS ya estamos adaptando nuestros cursos online de webmapping y Leaflet a esta nueva versión.

4 comentarios en «Nueva versión de Leaflet 1.0»

  1. Buenas tardes,

    Antes que nada queria felicitarte por el excelente blog que tan vivo se encuentra y tan excelente contenido dispone.

    Tengo una duda que parece muy absurda pero no he logrado solucionar. En LEAFLET 1.0.3 no logro poner la altura al 100%. EN el momento que height aparece al 100% no me carga la imagen, pero en px si que me funciona. Me resulta raro cuando en el 0.7 me ha funcionado sin problemas

    #map {
    height: 100%;
    width: 100%;

    Conoces de la posible solución?

    Muchas Gracias de antemano

Los comentarios están cerrados.