We can say that developing an App for mobile devices is quite a complex operation. Just think that each platform has its own languages and tools: if you want to develop an App for Android you will need to know Java/Kotlin and use Android Studio, while for an iOS App you need to know Swift and use XCode.
To help developers, there are several frameworks that with a single language and a single tool can be used to develop applications for both systems. Among the various frameworks then we find the native ones or the hybrid ones, which use web technologies for development.
Very often, however, the software it is going to build requires different scenarios that are no longer satisfied by a simple mobile application. For example, if you develop a B2B solution, you will most likely need a Desktop application (Windows or Mac) or a web application to be installed on the internal server.
Until now we have found in Xamarin (and .NET) a valid ally for our solutions. However, in the last period, we realized that tools like Visual Studio, instead of speeding up our work, slowed it down, not only because of the countless bugs in the Mac version, but also because now Xamarin has never become an "old" framework. It is too heavy".
Instead of waiting for MAUI (Xamarin's successor) we preferred to look around and thus discover Flutter.
More than a framework, Flutter is a toolkit for the graphical interface, which allows you to create modern multi-platform apps with a very fast development logic.
The programming language used in Flutter is Dart, with a C-derived syntax such as C # or Java which allowed us to learn it very quickly.
Flutter's nested “Widget” logic, which at first glance seems misleading, has also proved very quick to write and consult, even for some of our less programming team.
The freedom to use alternative development tools (such as Visual Studio Code) has also made several stages of development much easier.
Unfortunately, the only drawback we encountered is the fact that the logic and interface are managed only through the Dart language, requiring that programmers always have to take care of the graphical interface as well, which was previously managed directly by the graphs working in AXML. But, it is also true that, as in previous years, our graphic designers had to learn to write in AXML, we have not seen it so complex to instruct them on designing interfaces with Dart.
This is why we have already started the migration from Xamarin to Flutter and we are already about to release the first App developed with this technology.
Let's see if we made the right choice!