#12 Cross-platform mobile application : Development with Xamarin
With his 10 years of experience in the computer field, Igor joined Technology Partner as a Software developer. After several mobile applications developed with the Xamarin platform, he looks back on his own technical experience.
Igor, what is Xamarin ?
Xamarin is a Microsoft Framework that allows developer to create cross-platform applications. This Framework is open-source and free.
Xamarin is a toolbox composed of several Microsoft technolgies that why is quite easy for a Microsoft software developer to integrate a Xamarin Project.
Thanks to its developed and active community, it is easy to find the right answers to any problems encountered. All members are competent and they give thier help and advices to software developers
What are the reasons to use Xamarin for cross-platform development ?
I would say that use Xamarin for the cross-platform develoment allow to save time. Namely, one team is able to develop for all platforms (IOS and Android) thanks to Xamarin.Forms. Xamarin.Forms is, in a nutshell, an abstraction of platform-specific GUI development technologies into one.
Also, the advantage is that the resultut of the project compilation is Native applications. Developing a native application generally allows you to use all the functionalities related to the target operating system (GPS, camera, etc.) using a single technology found in the Xamarin.Essentials library.
The adaptation of different screen types is also done quickly thanks to XAML, a special markup language integrated in the Xamarin environment. Switching from a desktop to a mobile version is then very simple.
As explained in the previous question, thanks to Xamarin and its Microsoft technologies, it is easy for a developer to learn and/or integrate a current project. The reuse of existing resources and skills is easily accessible.
The Framework is suitable for all types of applications, from small to large. However, care must be taken to adapt the structure and architecture of the project.
What is the architecture of a Xamarin mobile application?
In the first layer you choose to work with one or more different platforms and create the corresponding projects. For example Xamarin.iOS and Xamarin.Android. Each project offers the possibility to develop the business logic using the C# language. As far as the graphical interface is concerned, the development principles remain platform-specific.
A second upper layer abstracts the GUI of the two native apps in a Shared project(Shared). All the logic common to the apps (business and graphical) is developed in this project. This is when we talk about Xamarin.Forms. It is however possible to target a particular platform to develop a visual or logical behavior specific to it.
Xamarin doesn't stop at generating this logic and GUI but adds a Xamarin.Essentials library. It integrates into Xamarin projects and makes it possible to make generic use of mobile device resources such as GPS, different sensors... for different platforms.
The advantage is that if the developer needs to program a platform-specific feature, he will be able to work on one or the other without making any changes.
What applications have you already developed in Xamarin in Technology Patner and other companies ?
On the personal side, I have several small projects underway but which are more useful for the continuous learning of Xamarin technology. Self-study is quintessential and I try to integrate new things into my projects.
Within Technology Partner I have already developed a Xamarin.forms application for booking helicopters in the world for the company Luxaviation and I am currently developing another one for the Luxembourg Ministry of the Environment.
Written by Charline Pennisi