State of Cross-Platform GIS App Development: ArcGIS Flutter Maps SDK

ArcGIS Flutter Maps SDK

The recent announcement of the ArcGIS Maps SDK for Flutter (Beta) at the ESRI Developer Summit marks a significant milestone in the evolution of cross-platform GIS app development. This integration combines the power of Flutter, a Google-backed framework, with the capabilities of ArcGIS, enabling developers to build performant GIS apps across multiple platforms from a single codebase.  

The Rise of Flutter

Flutter has emerged as a game-changer in cross-platform app development, offering a robust and productive environment for building performant apps. Its open-source nature, backed by Google, has led to rapid adoption by the developer community. Flutter’s modern programming language, Dart, provides a concise and declarative way to code, making it easier to build and maintain apps.  

The Need for Another Cross-Platform Development Framework

With Microsoft retiring Xamarin Forms in favour of MAUI, which is still in its early stages, and the discontinuation of the Java Maps SDK, cross-platform app development faced significant limitations. Developers have been eagerly awaiting ArcGIS support for Flutter, which has emerged as a viable alternative to other frameworks like React Native, Xamarin Forms, and Qt. 

Architecture and Capabilities

The Maps SDK for Flutter builds upon the common C++ Runtime core, ensuring consistent capabilities across all ArcGIS Maps SDKs  

State of Cross-Platform GIS App Development: ArcGIS Maps SDK
  • This core provides essential functionalities, including:
  • Consistent capabilities across platforms
  • Compiled C++ runtime for various platforms and processor architectures
  • Layered ArcGIS Maps SDKs for seamless integration
  • The new Flutter SDK leverages this modern C++ runtime core, guaranteeing that all core features are available for Flutter development.

Choosing between different ArcGIS Maps SDKs

The recent addition of the ArcGIS Maps SDK for Flutter expands your options to a total of five ArcGIS Maps SDKs. Each offers unique advantages, so choosing the right one depends on your project’s specific needs. An overview of the currently available SDKs for developing ArcGIS based apps is given below 

State of Cross-Platform GIS App Development: ArcGIS Maps SDK
  • When choosing the ideal SDK, consider the following key factors:
  • Performance: Native SDKs like Kotlin (Android) and Swift (iOS) deliver superior performance and responsiveness, outshining cross-platform options.
  • User Experience: Native SDKs unlock platform-specific features, enabling a more authentic and engaging experience for your target audience.
  • Developer Skills: Leverage your team's existing expertise. If they're familiar with Kotlin or Swift, opting for the corresponding native SDK can ensure a seamless transition.

While Qt offers broad platform support, its drawbacks include costly licensing, performance limitations, and a steep learning curve. For desktop applications, the .NET SDK remains a reliable choice, but its mobile capabilities are limited by MAUI’s early stages. 

 However, the ArcGIS Maps SDK for Flutter presents a compelling alternative. Flutter excels in performance and tooling, narrowing the gap between native and cross-platform development. If you need to rapidly target both Android and iOS, and your developers are comfortable with Flutter, it could be the perfect sweet spot for your project. 

Unlocking Exciting Possibilities

The ArcGIS Maps SDK for Flutter (Beta) opens exciting possibilities for cross-platform GIS app development. By leveraging Flutter’s capabilities, developers can create performant apps that span multiple platforms from a single codebase. This integration improves the way developers build and deploy GIS apps, enabling faster development, reduced costs, and increased productivity. 

Further reference