Как я сделал JS-библиотеку Leaflet успешной

Как я сделал JS-библиотеку Leaflet успешной

Leaflet — JS-библиотека для интерактивных карт, взлетевшая до небес популярности за очень короткое время, несмотря на очень крупных и именитых конкурентов. Что обеспечило такой успех и любовь пользователей?

6d07e6d95a43357254698ce9723350e6?s=128

Vladimir Agafonkin

November 17, 2012
Tweet

Transcript

  1. 5.
  2. 6.
  3. 7.
  4. 8.
  5. 10.
  6. 11.
  7. 12.
  8. 13.
  9. 15.
  10. 17.

    • 2 года разработки • 8009 строк кода • 1732

    коммита от 86 разных человек • 3233 followers, 535 forks • issues: 188 открытых, 964 закрытых • pull requests: 38 открытых, 328 закрытых
  11. 19.
  12. 20.
  13. 22.

    количество возможностей Images Markers Popups Vectors XYZ tiles GeoJSON WMS

    Layer groups Inertial pan Scroll zoom Dblclick zoom Box zoom Keyboard nav Pinch zoom Dbltap zoom Marker drag Pan anim Zoom anim Zoom buttons Attribution Layer switcher Scale Map rotation Fractional zoom WebGL renderer TMS WMTS TileCache MapGuide MapServer KaMap KaMapCache MultiMap Google Yahoo WorldWind Virtual Earth Bing Zoomify UTFGrid OSM ArcGIS ArcIMS GML GeoRSS KML WFS WFST ArcXML Atom CQL SLD GPX OSM XML OWS Context WKT XLS XML Drawing Editing Graticule Measure Pan control Minimap Permalink Clustering
  14. 23.

    количество возможностей Images Markers Popups Vectors XYZ tiles GeoJSON WMS

    Layer groups Inertial pan Scroll zoom Dblclick zoom Box zoom Keyboard nav Pinch zoom Dbltap zoom Marker drag Pan anim Zoom anim Zoom buttons Attribution Layer switcher Scale Map rotation Fractional zoom WebGL renderer TMS WMTS TileCache MapGuide MapServer KaMap KaMapCache MultiMap Google Yahoo WorldWind Virtual Earth Bing Zoomify UTFGrid OSM ArcGIS ArcIMS GML GeoRSS KML WFS WFST ArcXML Atom CQL SLD GPX OSM XML OWS Context WKT XLS XML Drawing Editing Graticule Measure Pan control Minimap Permalink Clustering
  15. 24.

    качество возможностей Images Markers Popups Vectors XYZ tiles GeoJSON WMS

    Layer groups Inertial pan Scroll zoom Dblclick zoom Box zoom Keyboard nav Pinch zoom Dbltap zoom Marker drag Pan anim Zoom anim Zoom buttons Attribution Layer switcher Scale + сторонние плагины
  16. 26.

    var map = L.map('map') .setView([51.505, -0.09], 13); L.tileLayer( 'http://{s}.tile.osm.org/{z}/{x}/{y}.png') .addTo(map);

    L.marker([51.5, -0.09]) .addTo(map) .bindPopup('Hello World!') .openPopup(); максимально простой API
  17. 35.
  18. 39.
  19. 40.
  20. 43.