Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Xamarin.Forms vs MAUI : Testez vos connaissances ! Quiz en 10 questions.

L'été approche et j'ai déjà beaucoup parlé de MAUI, il est temps de faire le point, et quoi de mieux qu'un quiz ! C'est parti ...

Aujourd'hui, nous allons comparer deux technologies de développement Microsoft dont j'ai beaucoup parlé : Xamarin.Forms et .NET MAUI (Multi-platform App UI). Dans cet article, je vous propose un quiz pour vous aider à mieux comprendre les différences entre ces deux frameworks. Les lecteurs assidus ne devraient avoir aucun problème et faire un 10/10 !
Alors, êtes-vous prêts à tester vos connaissances ? C'est parti !

Les questions

Question 1 : Quelle est la principale différence entre Xamarin.Forms et .NET MAUI ?

a) Xamarin.Forms est basé sur .NET Framework, tandis que .NET MAUI est basé sur .NET Core.

b) Xamarin.Forms est destiné au développement d'applications mobiles, tandis que .NET MAUI est destiné au développement d'applications Web.

c) Xamarin.Forms est l'ancienne génération, tandis que .NET MAUI est la nouvelle génération de développement multiplateforme avec .NET.

Question 2 : Quel type de projet est remplacé par le projet .NET MAUI à partir de .NET 6 ?

a) Projets partagés (.shproj)

b) Bibliothèques de classes PCL (Portable Class Libraries)

c) Projets .NET Standard

Question 3 : Quelle plateforme n'est PAS prise en charge par Xamarin.Forms ?

a) Android

b) iOS

c) Windows 11

Question 4 : Quel est l'IDE recommandé pour développer avec Xamarin.Forms et .NET MAUI ?

a) Visual Studio Code

b) Visual Studio

c) JetBrains Rider

Question 5 : Quel est le modèle de conception utilisé pour la communication entre les éléments de l'interface utilisateur et les données métier dans Xamarin.Forms et .NET MAUI ?

a) MVC (Model-View-Controller)

b) MVP (Model-View-Presenter)

c) MVVM (Model-View-ViewModel)

Question 6 : Quel outil est utilisé pour définir les interfaces utilisateur dans Xamarin.Forms et .NET MAUI ?

a) XAML (eXtensible Application Markup Language)

b) HTML (HyperText Markup Language)

c) CSS (Cascading Style Sheets)

Question 7 : Quelle est la principale méthode de partage de code entre les différentes plateformes dans Xamarin.Forms et .NET MAUI ?

a) Bibliothèques de classes partagées

b) Projets partagés

c) Copie de fichiers

Question 8 : Quel package NuGet est requis pour utiliser Xamarin.Essentials dans un projet .NET MAUI ? (attention piège !)

a) Xamarin.Essentials

b) Microsoft Maui Essentials

c) Microsoft.Extensions.Essentials

Question 9 : Quel est le rôle principal de l'outil Hot Reload dans le développement avec Xamarin.Forms et .NET MAUI ?

a) Gestion des dépendances

b) Compilation et déploiement rapides

c) Aperçu en temps réel des modifications de l'interface utilisateur

Question 10 : Quelle technologie est utilisée pour les animations dans Xamarin.Forms et .NET MAUI ?

a) Lottie

b) SkiaSharp

c) Xamarin.Forms.Animation

Les Réponses

Il est temps de vous dévoiler les réponses agrémentées de quelques explications.

Q1 - c) Xamarin.Forms est l'ancienne génération, tandis que .NET MAUI est la nouvelle génération de développement multiplateforme avec .NET.

Explication : .NET MAUI est l'évolution de Xamarin.Forms et offre une approche unifiée pour le développement multiplateforme avec .NET.

Q2 - c) Projets .NET Standard

Explication : .NET MAUI remplace les projets .NET Standard en unifiant les projets pour toutes les plateformes prises en charge. Le nouveau type de projet s'appelle "le projet unique".

Q3 - c) Windows 11

Explication : Xamarin.Forms prend en charge Android, iOS et UWP (Universal Windows Platform), mais pas spécifiquement Windows 11. Toutefois, via UWP et grâce à la compatibilité ascendante de ce type de projet il est parfaitement possible de cibler Windows 11 mais pas en tant que version 11 spécifique. Ni mieux ni moins bien que UWP donc.

Q4 - b) Visual Studio

Explication : Visual Studio est l'IDE recommandé pour développer avec Xamarin.Forms et .NET MAUI, car il offre une intégration complète et des outils spécifiques à ces frameworks. 

Q5 - c) MVVM (Model-View-ViewModel)

Explication : Le modèle MVVM est largement utilisé dans le développement avec Xamarin.Forms et .NET MAUI pour faciliter la séparation des responsabilités et améliorer la maintenabilité du code.

Q6 - a) XAML (eXtensible Application Markup Language)

Explication : XAML est le langage de balisage utilisé pour définir les interfaces utilisateur dans Xamarin.Forms et .NET MAUI. Il est néanmoins possible sous MAUI de préférer une approche entièrement en C# pour définir l'UI.

Q7 - b) Projets partagés

Explication : Les projets partagés sont la méthode principale de partage de code entre les différentes plateformes dans Xamarin.Forms et .NET MAUI.

Q8 - b) Microsoft Mau Essentials

Explication : Pour utiliser Xamarin.Essentials dans un projet .NET MAUI, le package NuGet Microsoft.Maui.Essentials était requis, mais, le piège était là, depuis longtemps maintenant Essentials est devenu partie intégrante de la fourniture de base de MAUI et ne nécessite donc plus l'installation du package, et au passage le namespace Essentials a disparu laissant la place à une réorganisation plus logique des API (namespace Microsoft.Maui.Accessibility, Microsoft.Maui.ApplicationModel, Microsoft.Maui.ApplicationModel.Communication, etc).

Q9 - c) Aperçu en temps réel des modifications de l'interface utilisateur

Explication : L'outil Hot Reload permet aux développeurs de voir en temps réel les modifications apportées à l'interface utilisateur sans avoir besoin de recompiler et redéployer l'application.

Q10 - a) Lottie

Explication : Il y a un piège ici aussi... MAUI propose tout un ensemble de méthodes pour créer des animations simples ou plus complexes. Toutefois si on entend par "animation" une animation sophistiquée les outils de base ne sont pas adaptés. Dans ce cas, la librairie la plus "pro" est Lottie. Elle est utilisée dans Xamarin.Forms et .NET MAUI pour créer des animations fluides et performantes à partir de fichiers Adobe After Effects, outil destiné aux graphistes plus qu'aux développeurs. SkiaSharp offre une autre approche. En réalité toutes les solutions indiquées sont valides, tout dépend de ce qu'on entend par "animation", du niveau de sophistication visuelle attendu et des compétences dont on dispose (soi-même ou au sein de l'entreprise).

Conclusion

J'espère que vous avez tous eu 10/10 !  J'espère aussi que vous avez apprécié ce quiz et qu'il vous a aidé à réviser vos connaissances et à mieux comprendre une partie des différences entre Xamarin.Forms et .NET MAUI. N'hésitez pas à laisser un commentaire si vous avez des questions ou des suggestions pour de futurs articles. 

Stay Tuned !

Faites des heureux, PARTAGEZ l'article !