Leaflet

オープンソースの JavaScript ライブラリ
モバイルフレンドリーなインタラクティブマップ用

← ブログ記事一覧に戻る

Leaflet 1.0-rc1 を発表

Leaflet 1.0 への道は続きます。1.0 の最初のリリース候補版を公開できることを誇りに思います。

Leaflet 1.0-rc1 では、beta2 に存在したエッジケースと API の不整合を解消しました。変更点の完全なリストは、通常通り、1.0.0-rc1 の変更履歴 に記載されており、約 50 件のバグ修正と、12 件の改善および軽微な API 変更が含まれています。

注目すべき変更点

API ドキュメントの変更

API ドキュメントは、🍂doc (または “leafdoc”) という新しいツールのおかげで、docstrings から生成されるようになりました。

以前は、API ドキュメントは手動で編集されていました。これには多くのコピー&ペースト作業が必要であり、時間の経過とともに、コードの一部がドキュメントと一致しなくなっていました。

ほとんどの複雑なソフトウェアプロジェクトでは、何らかの形式の docstrings と、JavaDocNaturalDocsJSdoc などのツールを使用して、docstrings を Web ページに変換しています。

しかし、Leaflet のドキュメントにはいくつかの特別な部分が必要です。docstrings はメソッドとプロパティをカバーしますが、オプションやイベントはカバーしません。また、ドキュメントの現在の外観を維持したかったのです。そこで、これらの制限を克服するために 🍂doc が生まれました。

Leaflet はクラス継承をかなり広範囲に使用しており、古いドキュメントではそれが明確でないことがありました。一部のユーザーは、一部のクラスで利用可能なメソッドを見つけるのに苦労し、継承されたオプションは言及されたり、されなかったりしました。🍂doc は、すべての継承されたメソッド/オプション/イベント/プロパティのドキュメントを、デフォルトで折りたたんで表示することで、この問題を解決します。

Collapsed inheritances for L.Polygon

ビルドシステム は、minify された leaflet.js ファイルとともに、API ドキュメントを含む HTML ファイルをビルドするようになりました。ドキュメントは、そのファイルに基づいてすべてのリリースで更新され、ドキュメントを修正するための gh-pages ブランチへのプルリクエストは自動的に拒否されます。

リリース候補版を入手する

以前のリリースと同様に、私たちの CDN を使用できます

<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet/v1.0.0-rc.1/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet/v1.0.0-rc.1/leaflet.js"></script>

minifyされていない javascript ファイルも、次のように利用できます

<script src="http://cdn.leafletjs.com/leaflet/v1.0.0-rc.1/leaflet-src.js"></script>

このリリースは、NPM (npm install leaflet@rc)、GitHub ダウンロード、および CDN ダウンロードからも入手できます。Bower の使用は推奨しません。

チームの面々

このリリース候補版は、Leaflet チームのほとんどが週末にマドリッドに集まり、バグを修正し、アーキテクチャ上の決定について議論し、いくつかの大きな機能が 1.0 に含まれるべきか、延期されるべきかを話し合ったときに、大きく前進しました。

この写真は、その週末にマドリッドに来られなかった人を加えるためにデジタル的に変更された可能性があります。
The Leaflet team in Madrid
Iván と Yohan は、トイレットペーパーに特別な感謝の意を表します。
The Leaflet team in Madrid

私たちは実際に会って一緒にバグと戦うことを楽しみました。それは非常に生産的なことであることが証明され、その日には約 20 の課題が解決されました。うまくいけば、別の対面会議がすぐに開催され、別のリリースがあるでしょう!

Leaflet 1.0-rc1 を、私たちがコーディングを楽しんだのと同じくらい楽しんでいただければ幸いです!

よろしくお願いいたします。Iván & Vladimir & Yohan & Per & Zsolt。