web-dev-qa-db-fra.com

Quand utiliser Xamarin.Forms vs Xamarin Native?

J'ai besoin de choisir entre les applications natives Xamarin.Forms et Xamarin.

Je souhaite utiliser Xamarin.Forms car le code de l'interface utilisateur sera également partagé.

Alors, quels sont les inconvénients de Xamarin.Forms par rapport à Native.

150
Ajay Kumar

Outre les points affichés sur le site Web Xamarin, vous devez également prendre en compte:

Les antécédents de votre équipe

Un membre de votre équipe a-t-il déjà déjà codé de manière native pour Android ou iOS (avec Java ou Obj-C/Swift)? Cette expérience est réutilisée dans Xamarin natif, mais ils devront apprendre une autre plate-forme pour coder dans Forms.

La même chose est vraie s'ils ne savent rien sur iOS/Android mais connaissent certains XAML. Bien sûr, Xamarin.Forms est différent de WPF/Silverlight, mais connaître XAML m'a sûrement aidé à utiliser Forms.

Performance

Xamarin Forms a encore quelques problèmes, tels que le temps d’initialisation. Vous devez déterminer si cela posera ou non un problème à votre utilisateur final. Je ne prendrais pas la peine d'attendre un peu une application de tableau de bord que j'utilise de temps en temps pour l'ouvrir, mais je serais en colère si cela arrivait de même pour une application de messagerie.

Délai de livraison

Étant donné que le partage de code est plus important lorsque vous utilisez des formulaires, vous pouvez vous attendre à un délai de livraison plus court.

Complexité de votre application

Considérant le point précédent, en utilisant Forms, vous pourriez tomber sur un bogue de show stopper (une technologie très nouvelle après tout) qui annulera les gains de temps. Considérez la complexité de votre application avant de choisir.

138
William Barbosa

Xamarin.Forms

Pros

  • Créer une interface utilisateur pour toutes les plateformes
  • Utilisez des composants de base disponibles sur toutes les plates-formes (boutons, champs de texte, filtres, etc.).
  • Pas besoin d'apprendre tous les cadres de l'interface utilisateur native
  • Processus de développement inter-plateformes rapide
  • Les rendus natifs personnalisés vous permettent d'ajuster l'apparence et la sensation des commandes.

inconvénients

  • C'est toujours un nouveau framework et contient toujours des bugs
  • Surtout Windows RT n'est pas encore stable
  • C'est parfois plus lent que d'accéder directement aux contrôles natifs
  • Les rendus natifs personnalisés ont des limites et sont mal documentés

Xamarin.Android, Xamarin.iOS, Windows Phone, Windows RT

Pros

  • Créer une interface utilisateur par plateforme
  • Possibilité facile d'ajuster les caractéristiques et les composants de l'interface utilisateur spécifiques à la plate-forme
  • Tirez le maximum de votre interface utilisateur

inconvénients

  • Le processus de développement inter-plateformes est beaucoup plus lent
  • Vous devez apprendre tous les cadres d'interface utilisateur natifs
  • Vous pouvez avoir pour résultat un code en double (car vous décrivez presque la même interface utilisateur de trois manières différentes selon la plate-forme)

En plus de ce que Xamarin dit sur https://xamarin.com/forms :

Quelle approche Xamarin convient le mieux à votre application?

Xamarin.Forms est idéal pour:

  • Applications de saisie de données
  • Prototypes et preuves de concept
  • Applications nécessitant peu de fonctionnalités spécifiques à la plate-forme
  • Applications où le partage de code est plus important que l'interface utilisateur personnalisée

Xamarin.iOS & Xamarin.Android sont les meilleurs pour:

  • Applications nécessitant des interactions spécialisées
  • Applications avec un design très poli
  • Applications qui utilisent de nombreuses API spécifiques à la plate-forme
  • Applications où l'interface utilisateur personnalisée est plus importante que le partage de code
167
Wosi

Depuis le site Web Xamarin

Xamarin.Forms est idéal pour:

  • Applications de saisie de données
  • Prototypes et preuves de concept
  • Applications nécessitant peu de fonctionnalités spécifiques à la plate-forme
  • Applications où le partage de code est plus important que l'interface utilisateur personnalisée

Xamarin.iOS & Xamarin.Android sont les meilleurs pour:

  • Applications nécessitant des interactions spécialisées

  • Applications au design très soigné

  • Applications qui utilisent de nombreuses API spécifiques à la plate-forme

  • Applications où l'interface utilisateur personnalisée est plus importante que le partage de code

42