Flutter vs Xamarin: What are the differences?
Flutter: Cross-platform mobile framework from Google. Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android; Xamarin: Create iOS, Android and Mac apps in C#. Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.
Flutter and Xamarin can be primarily classified as "Cross-Platform Mobile Development" tools.
Some of the features offered by Flutter are:
- Fast development - Flutter's "hot reload" helps you quickly and easily experiment, build UIs, add features, and fix bug faster. Experience sub-second reload times, without losing state, on emulators, simulators, and hardware for iOS and Android.
- Expressive UIs - Delight your users with Flutter's built-in beautiful Material Design and Cupertino (iOS-flavor) widgets, rich motion APIs, smooth natural scrolling, and platform awareness.
- Access native features and SDKs - Make your app come to life with platform APIs, 3rd party SDKs, and native code. Flutter lets you reuse your existing Java, Swift, and ObjC code, and access native features and SDKs on iOS and Android.
On the other hand, Xamarin provides the following key features:
- Cross-platform development- Thinking about supporting iOS, Android, Mac and Windows? Xamarin allows you to write it all in C#.
- Reuse existing code- Use your favorite .NET libraries in Xamarin apps. Easily use third-party native libraries and frameworks.
- Discover as you type- Explore APIs as you type with code autocompletion.
"Hot Reload" is the top reason why over 13 developers like Flutter, while over 111 developers mention "Power of c# on mobile devices" as the leading cause for choosing Xamarin.
Flutter is an open source tool with 69.4K GitHub stars and 8.09K GitHub forks. Here's a link to Flutter's open source repository on GitHub.
According to the StackShare community, Flutter has a broader approval, being mentioned in 41 company stacks & 146 developers stacks; compared to Xamarin, which is listed in 75 company stacks and 66 developer stacks.