Xamarin est un outil vous permettant de construire des applications mobiles pour n'importe quelle plateforme avec environ 90% de code partagé. Cela signifie que vous pouvez créer la même application pour iOS et Android beaucoup plus rapidement et en utilisant une plus petite équipe de développeurs que si vous construisez des applications natives.
L'approche multiplateforme de Xamarin avec l'approche native et hybride, sont trois principales techniques de développement mobile. Il y a beaucoup de choses à prendre en compte pour déterminer quelle approche fonctionnerait le mieux pour votre application. Vous pouvez trouver une vue d'ensemble très détaillée de Xamarin ici et bien sûr mener vos propres recherches en plus de cela.
L'approche Xamarin implique que tout le code lié à l'accès aux bases de données et à la logique métier est partagé, tandis que l'interface utilisateur de chaque système peut être personnalisée pour garantir un aspect et une convivialité proches de l'aspect natif. Ainsi, la personnalisation de l'interface de votre application pour chaque plateforme peut être la partie la plus difficile de tout le processus.
A part cela, les principales caractéristiques de la construction d'applications avec Xamarin comprennent :
La pile technologique partagée. Xamarin utilise C# et .Net comme pile technologique partagée, de sorte que seule la connaissance minimale des langages respectifs de chaque plateforme (Java/Kotlin pour Android et Objective-C/Swift pour iOS) est requise.
UX et performances proches du natif. Xamarin vous permet de créer des apps dont l'apparence et les performances sont très proches de celles des apps natives. Et si vous utilisez une bibliothèque de modèles appelée Xamarin.Forms, vous pouvez créer des apps multiplateformes sans interface utilisateur ni prototypes spécifiques beaucoup plus rapidement.
Un IDE partagé. Xamarin utilise Visual Studio IDE (environnement de développement intégré) où les programmeurs construisent des apps pour le web, le mobile, le bureau et plus encore. Visual Studio peut être installé et configuré sur n'importe quel ordinateur vous donnant la flexibilité de programmer sur tout matériel choisi. Donc, pour répondre à votre deuxième question : non, vous n'avez pas besoin de Mac OS pour développer des applications iOS avec Xamarin.