Some of my thoughts for Xamarin Form and why I love it!
Before starting to read, maybe you can read my other post first. I think maybe because I have tried the Flutter, so I can feel how’s Xamarin Form is powerful and easy to use for me!
Xamarin.Forms is also an open-source UI framework. Xamarin.Forms allows developers to build Android, iOS, and Windows applications from a single shared codebase. Xamarin.Forms allows developers to create user interfaces in XAML with code-behind in C#. These interfaces are rendered as performant native controls on each platform.
I am a C# developer, so when I try to use Xamarin Form, so the first thing that makes me feel comfortable is the syntax! I can use the C# feature to easily handle the logic, and I love it!😄
Flutter can use hot reload to preview the layout changes, but Xamarin Form also can do it! Because Xamarin is a code-behind framework (like the asp.net), so the hot reload just can see the layout changes and not the data loading, but I think this is enough for design the app layouts.
If you tried to use the cross-platform framework (e.g Flutter, Titanium…), for developing the app, you should know to make a consistent layout is not an easy way, the same unit may be a difference in each platform, you need to convert them to a common unit and make sure the layout can be responsive and fit to each platform. But it seems not an issue in Xamarin Form, I can just set the same unit in XAML to most of the platform, the layout can be fit and works well. I think maybe this is because the layout structure is flexible and easy to use in Xamarin Form, and most of the time you don’t need to set the actual width and height value for the elements, just use difference layout settings can do that.
There are five layouts in Xamarin Form as below:
As my post said that Flutter can’t handle background tasks, PDF, GPS information, but I can easy to handle these with Xamarin Form, I can easy to control the background task as a schedule to run via this plugin. And get the Lat/Lng data without any performance issue, also I can put the clean photo in the PDF!
The other feature I love is the data process! C# is a strong type language, so you can easy to create the Models for data mapping, and you also can use the Linq for query data from the database, this is a very big benefit, it let you can easy to handle the data! I also tried the ORM in Flutter before, but there are many of issue need to be solved and the performance makes me dissatisfied😟
I tried to make the same app with Flutter and Xamarin Form, for the data process performance, Xamarin Form is much better then Flutter!
If there are some native function need to be handle, you can write specified codes for each platform and use the interface to implement them, and then you can use it in Xamarin Form, so for this way, I think it can handle most of the situation. And don’t worry, the specified codes are also the C# codes and not the native(Swift or Java) codes.
About the IDE, Xamarin Form just uses the Visual Studio, you don’t need to use other IDE anymore, Visual Studio can do everything that you want, it also can publish your App to app store and don’t need the Xcode (of course you still need to install it😆). But you can also use Xcode to edit the storyboard file.
At last, you can also use the Xamarn App Center to track and debug your app for testing users, this is a great tool for help you find the crash issue in the app. It will auto send the crash report to you if the app crash in the user’s device, and you just need to put a few codes in your app!
So, if you are a C# developer and want to try to make the mobile app, I highly recommended you to use Xamarin Form, if you just need to make a single platform app, you can use Xamarin iOS or Xamarin Android!
3,659 total views, 3 views today