こちらは、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 で、.NET、Kotlin、Qt、Swift 向けの ArcGIS Maps SDK に続き、Android および iOS 向けのネイティブな地図および位置情報アプリを構築するための最良な選択肢となります。
このブログでは、Flutter Maps SDK がこの実績と信頼のある SDK ファミリーにどのようにフィットするのか、そしてエンド ユーザーのために微調整された、アプリをあなたのチームが構築するためにどのように役立つのかを説明します。 また、Flutter そのものと、なぜ Flutter 開発者をサポートする SDK を作るに至ったのかについてもご紹介します。
Flutter とは何か、なぜこの SDK を作ったのか、その詳細に入る前に SDK 自体の概要と、この最初のリリースで何ができるかを簡単にご説明しましょう。
ArcGIS Maps SDK for Flutter 200.6 には、まだ ArcGIS Maps SDKs for Native Apps の全機能は備わっていません (詳細は後述します)。 しかし、この初期リリースでは、多くのお客様のニーズを満たす強力な基本機能のセットをサポートしています。
この SDK には、専用のドキュメントとサンプルが Esri Developer のサイトに用意されており、pub.dev パッケージとして、直接ダウンロードすることもできます。
リリースのたびに機能を追加していきますが、その計画については後述します。 では、Flutter について、そしてなぜこの SDK を作ることにしたのかを少しお話ししましょう。
Flutter は、Android、iOS、Windows、Mac、Linux、Web などさまざまなターゲット デバイスで動作するアプリを構築するためのオープン ソースのクロスプラットフォーム開発フレームワークです (ArcGIS Maps SDK for Flutter は、iOS と Android 向けアプリの構築をサポートしています)。 Flutter は Google の支援を受け、豊富なツールや生産性向上機能を備え、迅速なアプリケーション開発をサポートしています。
Flutter はリアクティブで宣言的な UI フレームワークです。ユーザー インターフェイスを (Flutter ウィジェットを使って)宣言し、アプリの状態が変化すると、ユーザー インターフェイスが自動的にその変化に反応してアプリの現在の状態を反映します。 このモダンな UI 開発によって、すべてのカテゴリのユーザー インターフェイスのコードや潜在的なバグを根絶することができます。
Flutter は Dart プログラミング言語の上に構築されています。 Dart はクライアント アプリの開発に特に適した形で設計されており、ホット リロードのような優れた生産性向上機能をサポートしています。 加えて、Dart は強く型付けされており、NULL セーフが組み込まれています。 まとめると、Dart はよくあるプログラミングの落とし穴やバグを回避し、ユーザー インターフェイス デザインのプロトタイピングや反復を素早く行うのに最適な言語です。 その上にリアクティブな Flutter フレームワークを加えれば、強力なクロスプラットフォーム アプリ開発環境となり、学習も容易となります。
多くの開発者が Flutter を気に入るもう 1 つの重要な要素は、無料で使えることです。Flutter、Visual Studio Code、Android Studio、そして iOS 向けにビルドするなら Xcode をダウンロードすればいいのです。 これらのコンポーネントはすべて自由に入手でき、無料で使用できます。
最後に、Flutter プロジェクトは pub.dev パッケージのエコ システムに大きく依存しているため、サード パーティのライブラリ(新しい Flutter Maps SDK を含む)をアプリに統合するのがとても簡単です。
もっと詳しく知りたい方は、Flutter Maps SDK ベータ版発表のブログ記事をご覧ください。
Esri では、お客様のニーズに責任を持って対応する最善の方法を常に見極めています。 ここ数年、お客様と話していると、Flutter が話題に上ることが多くなり、多くのお客様から使いやすいと言われ、サポートを求められています。
2 年ほど前、いくつかの重要な検討事項が一致し、Flutter Maps SDK を検討することを決めました。
私たちは以前にも似たような技術へ関心を集めましたが、それらの勢いは衰えたり、失われたりしました。しかし Flutter は、本格的なアプリ開発に適した安定した技術であり、すぐには消えないことが、あらゆる面からわかりました。
パームスプリングスで開催された 2023 Developer Summit で、Flutter を使ったアプリのユーザー プレゼンテーションが行われました。 ユーザーからの関心も高く、説得力のあるセッションだったので、DevSummit が終わってオフィスに戻ったとき、Flutter Maps SDK を作るために何が必要かを検討することにしました。
Native Maps SDK を支える堅牢でテスト済みの共有 C++ コア アーキテクチャと、当社の豊富な内部ツールにより、私たちは 2、3 週間で Flutter SDK の PoC を立ち上げ、実行することができました。 そこから SDK の最初のプライベート ベータまで、ほんの少しでした。
つまり、最初のアイデアからコンセプトの実証、プライベート ベータ、2 回のパブリック ベータを経て、最終的に今回の製品リリースに至るまで、およそ 1 年半という短期間で完成させることができたのです! これは、私たちのエンジニアリング チームが当然誇りに思う驚くべき成果です。
リリース可能な SDK は、品質と信頼性(テスト、テスト、そしてさらなるテスト)を要求します。 私たちがサポートできる、安定し洗練された API が必要です。 ドキュメント、サンプル、チュートリアルが必要で、ユーザーにとって正確である必要があります(期待される Dart と Flutter のコーディング パターンを使用してサポートする必要があり、SDK を pub.dev パッケージとして正しい方法で提供する必要があります)。
これらすべてを正しく行うためには時間がかかります。しかし同時に、ベータ版からのフィードバックから、皆様ができるだけ早く本番環境で SDK を使用することを熱望していることも分かっていました。 そこで、この最初のリリースでは、ArcGIS Maps SDKs for Native Apps の機能のサブセットのみを(前述のとおり)提供することにしました。しかし、我々はそれらの機能に自信を持ってテストし、提供します。
プライベート ベータやパブリック ベータを通じて主要なアーリー アダプターと協力しながら、私たちは、多くのお客様のニーズを満たす一連の機能を特定しました。それらは、強固な基盤となるでしょう(これは、先にご覧いただいたリストと同じものです)。
もちろん、これはすべての人のユースケースを満たすものではありませんし、多くのお客様は上記に含まれていない Native Maps SDK の機能を必要とするでしょう。
このような機能の一部を提供することは、これまで Native Maps SDK では行ったことがありません。特に、Flutter Maps SDK の採用を計画しているが、特定の機能がないために躊躇しているお客様をどのようにサポートするかが課題です。そのため、他の Native Maps SDK と同等になるまでリリースごとに機能を追加していく予定ですし、その計画もあります。お客様が採用計画に自信を持てるように我々がその情報を伝え、お客様がその計画を把握することが重要です。
そのために、私たちは Flutter Maps SDK が他の Native Maps SDK とどのように同等になるかをまとめたウェブページを公開しました。 このページで、オープンかつ透明性をもって説明しています。
このプランで満たせない特定のニーズがある場合は、アカウント マネージャーまたは Esri コミュニティを通じてお問い合わせください。
ArcGIS Maps SDK for Flutter が利用可能になりました。 ベータ期間中にソリューションを構築していただいた方(ありがとうございます!)は、pub.dev パッケージを参照し、アプリを本番環境にロール アウトすることができます(ベータ 2 以降、いくつかの軽微な破壊的変更点がありますのでご注意ください)。
ArcGIS Maps SDK for Flutter を使い始めるには、SDK のウェブサイトにアクセスしてください。そこには、はじめかた、チュートリアル、サンプル コード、すべての API リファレンスがあり、前述のパリティ ページもあります。
Esri Community の ArcGIS Maps SDK for Flutter 専用フォーラムでは、私たちのチームが積極的に参加しており、SDK に関する質問をすることができます。 SDK はベータ版を終了しましたので、Flutter Maps SDK に関するご質問は Esri サポートまでお問い合わせください。
私たちはこの新しい SDK に大きな関心を寄せており、皆さんがこの SDK を使ってどんなものを作ってくれるのか楽しみにしています。
■関連リンク