Select to view content in your preferred language

ArcGIS Maps SDK for Flutter のご紹介

306
0
12-02-2024 01:34 AM
Labels (1)

ArcGIS Maps SDK for Flutter のご紹介

こちらは、ArcGISアドベントカレンダー2024 の 3 日目の記事です。他の記事もぜひご覧ください。

 

ArcGIS Maps SDK for Flutter がリリースされました。本記事では、リリースのお知らせと SDK の概要を、米国Esri社の 「Introducing the ArcGIS Maps SDK for Flutter」 の記事を翻訳してご紹介します。

ArcGIS Maps SDK for Flutter は、ArcGIS Maps SDKs for Native Apps のファミリーに新たに加わった SDK で、.NETKotlinQtSwift 向けの ArcGIS Maps SDK に続き、Android および iOS 向けのネイティブな地図および位置情報アプリを構築するための最良な選択肢となります。

このブログでは、Flutter Maps SDK がこの実績と信頼のある SDK ファミリーにどのようにフィットするのか、そしてエンド ユーザーのために微調整された、アプリをあなたのチームが構築するためにどのように役立つのかを説明します。 また、Flutter そのものと、なぜ Flutter 開発者をサポートする SDK を作るに至ったのかについてもご紹介します。

 

SDK の概要

Flutter とは何か、なぜこの SDK を作ったのか、その詳細に入る前に SDK 自体の概要と、この最初のリリースで何ができるかを簡単にご説明しましょう。

ArcGIS Maps SDK for Flutter 200.6 には、まだ ArcGIS Maps SDKs for Native Apps の全機能は備わっていません (詳細は後述します)。 しかし、この初期リリースでは、多くのお客様のニーズを満たす強力な基本機能のセットをサポートしています

  • 2D 表示および編集(ジオメトリ エディターを含む)
  • Web マップおよび ArcGIS ポータルの基礎的な APIs のサポート
  • 主要なレイヤー タイプのサポート(Esri および OGC タイプのほとんどを含む)
  • ジオコーディング
  • ルート検索およびネットワーク解析
  • 現在地の表示
  • ジオメトリ エンジン
  • オンラインおよびオフラインのサポート
  • ユーザー認証および API キー認証

この SDK には、専用のドキュメントとサンプルが Esri Developer のサイトに用意されており、pub.dev パッケージとして、直接ダウンロードすることもできます。

リリースのたびに機能を追加していきますが、その計画については後述します。 では、Flutter について、そしてなぜこの SDK を作ることにしたのかを少しお話ししましょう。

iOS と Android で動作する ArcGIS Maps SDK for FlutteriOS と Android で動作する ArcGIS Maps SDK for Flutter

 

Flutter とは?

Flutter は、AndroidiOSWindowsMacLinuxWeb などさまざまなターゲット デバイスで動作するアプリを構築するためのオープン ソースのクロスプラットフォーム開発フレームワークです (ArcGIS Maps SDK for Flutter は、iOS Android 向けアプリの構築をサポートしています)。 Flutter Google の支援を受け、豊富なツールや生産性向上機能を備え、迅速なアプリケーション開発をサポートしています。

Flutter はリアクティブで宣言的な UI フレームワークです。ユーザー インターフェイスを (Flutter ウィジェットを使って)宣言し、アプリの状態が変化すると、ユーザー インターフェイスが自動的にその変化に反応してアプリの現在の状態を反映します。 このモダンな UI 開発によって、すべてのカテゴリのユーザー インターフェイスのコードや潜在的なバグを根絶することができます。

MapView を含むステート ドリブンな Flutter UI コードMapView を含むステート ドリブンな Flutter UI コード

Flutter は Dart プログラミング言語の上に構築されています。 Dart はクライアント アプリの開発に特に適した形で設計されており、ホット リロードのような優れた生産性向上機能をサポートしています。 加えて、Dart は強く型付けされており、NULL セーフが組み込まれています。 まとめると、Dart はよくあるプログラミングの落とし穴やバグを回避し、ユーザー インターフェイス デザインのプロトタイピングや反復を素早く行うのに最適な言語です。 その上にリアクティブな Flutter フレームワークを加えれば、強力なクロスプラットフォーム アプリ開発環境となり、学習も容易となります。

多くの開発者が Flutter を気に入るもう 1 つの重要な要素は、無料で使えることです。FlutterVisual Studio CodeAndroid Studio、そして iOS 向けにビルドするなら Xcode をダウンロードすればいいのです。 これらのコンポーネントはすべて自由に入手でき、無料で使用できます。

最後に、Flutter プロジェクトは pub.dev パッケージのエコ システムに大きく依存しているため、サード パーティのライブラリ(新しい Flutter Maps SDK を含む)をアプリに統合するのがとても簡単です。

もっと詳しく知りたい方は、Flutter Maps SDK ベータ版発表のブログ記事をご覧ください。

 

なぜ ArcGIS Maps SDK for Flutter なのか、そしてなぜ今なのか?

Esri では、お客様のニーズに責任を持って対応する最善の方法を常に見極めています。 ここ数年、お客様と話していると、Flutter が話題に上ることが多くなり、多くのお客様から使いやすいと言われ、サポートを求められています。

2 年ほど前、いくつかの重要な検討事項が一致し、Flutter Maps SDK を検討することを決めました

  • より多くのお客様が、クロスプラットフォーム アプリを構築するためのアプリ開発フレームワークとして Flutter を積極的に選択するようになった。
  • Google は Flutter へのコミットメントを示し続けた。
  • Flutter 開発者コミュニティは成長し、成熟していった。

私たちは以前にも似たような技術へ関心を集めましたが、それらの勢いは衰えたり、失われたりしました。しかし Flutter は、本格的なアプリ開発に適した安定した技術であり、すぐには消えないことが、あらゆる面からわかりました。

パームスプリングスで開催された 2023 Developer Summit で、Flutter を使ったアプリのユーザー プレゼンテーションが行われました。 ユーザーからの関心も高く、説得力のあるセッションだったので、DevSummit が終わってオフィスに戻ったとき、Flutter Maps SDK を作るために何が必要かを検討することにしました。

2023 DevSummit のユーザー プレゼンテーションが、私たちに PoC の調査を促すきっかけとなりました2023 DevSummit のユーザー プレゼンテーションが、私たちに PoC の調査を促すきっかけとなりました

 

アイデアから生産まで

Native Maps SDK を支える堅牢でテスト済みの共有 C++ コア アーキテクチャと、当社の豊富な内部ツールにより、私たちは 23 週間で Flutter SDK の PoC を立ち上げ、実行することができました。 そこから SDK の最初のプライベート ベータまで、ほんの少しでした。

Flutter Maps SDK はどのように Native Maps SDK ファミリーに組み込まれているかFlutter Maps SDK はどのように Native Maps SDK ファミリーに組み込まれているか

 つまり、最初のアイデアからコンセプトの実証、プライベート ベータ、回のパブリック ベータを経て、最終的に今回の製品リリースに至るまで、およそ 1 年半という短期間で完成させることができたのです! これは、私たちのエンジニアリング チームが当然誇りに思う驚くべき成果です。

 

最初の製品リリース

リリース可能な SDK は、品質と信頼性(テスト、テスト、そしてさらなるテスト)を要求します。 私たちがサポートできる、安定し洗練された API が必要です。 ドキュメント、サンプル、チュートリアルが必要で、ユーザーにとって正確である必要があります(期待される Dart Flutter のコーディング パターンを使用してサポートする必要があり、SDK pub.dev パッケージとして正しい方法で提供する必要があります)。

インタラクティブなサンプルで Flutter Maps SDK の使い方を紹介インタラクティブなサンプルで Flutter Maps SDK の使い方を紹介

これらすべてを正しく行うためには時間がかかります。しかし同時に、ベータ版からのフィードバックから、皆様ができるだけ早く本番環境で SDK を使用することを熱望していることも分かっていました。 そこで、この最初のリリースでは、ArcGIS Maps SDKs for Native Apps の機能のサブセットのみを(前述のとおり)提供することにしました。しかし、我々はそれらの機能に自信を持ってテストし、提供します。

プライベート ベータやパブリック ベータを通じて主要なアーリー アダプターと協力しながら、私たちは、多くのお客様のニーズを満たす一連の機能を特定しました。それらは、強固な基盤となるでしょう(これは、先にご覧いただいたリストと同じものです)

  • 2D 表示および編集(ジオメトリ エディターを含む)
  • Web マップおよび ArcGIS ポータルの基礎的な APIs のサポート
  • 主要なレイヤー タイプのサポート(Esri および OGC タイプのほとんどを含む)
  • ジオコーディング
  • ルート検索およびネットワーク解析
  • 現在地の表示
  • ジオメトリ エンジン
  • オンラインおよびオフラインのサポート
  • ユーザー認証および API キー認証

もちろん、これはすべての人のユースケースを満たすものではありませんし、多くのお客様は上記に含まれていない Native Maps SDK の機能を必要とするでしょう。

 

今後のリリース

このような機能の一部を提供することは、これまで Native Maps SDK では行ったことがありません。特に、Flutter Maps SDK の採用を計画しているが、特定の機能がないために躊躇しているお客様をどのようにサポートするかが課題です。そのため、他の Native Maps SDK と同等になるまでリリースごとに機能を追加していく予定ですし、その計画もあります。お客様が採用計画に自信を持てるように我々がその情報を伝え、お客様がその計画を把握することが重要です。

そのために、私たちは Flutter Maps SDK が他の Native Maps SDK とどのように同等になるかをまとめたウェブページを公開しました。 このページで、オープンかつ透明性をもって説明しています

  • まだ不足している機能
  • 次回リリースのリストのトップはどれか
  • 次回以降のリリースのリストのトップはどれか

このプランで満たせない特定のニーズがある場合は、アカウント マネージャーまたは Esri コミュニティを通じてお問い合わせください。

 

ArcGIS Maps SDK for Flutter を今すぐ使う

ArcGIS Maps SDK for Flutter が利用可能になりました。 ベータ期間中にソリューションを構築していただいた方(ありがとうございます!)は、pub.dev パッケージを参照し、アプリを本番環境にロール アウトすることができます(ベータ 以降、いくつかの軽微な破壊的変更点がありますのでご注意ください)。

ArcGIS Maps SDK for Flutter を使い始めるには、SDK ウェブサイトにアクセスしてください。そこには、はじめかたチュートリアルサンプル コード、すべての API リファレンスがあり、前述のパリティ ページもあります。

Esri Community の ArcGIS Maps SDK for Flutter 専用フォーラムでは、私たちのチームが積極的に参加しており、SDK に関する質問をすることができます。 SDK はベータ版を終了しましたので、Flutter Maps SDK に関するご質問は Esri サポートまでお問い合わせください。

私たちはこの新しい SDK に大きな関心を寄せており、皆さんがこの SDK を使ってどんなものを作ってくれるのか楽しみにしています。

 

■関連リンク

 

Labels (1)
Version history
Last update:
a month ago
Updated by:
Contributors