Fermer

octobre 6, 2020

Quand utiliser Xamarin.Forms vs Xamarin Native?


Xamarin.Forms peut pousser vos compétences Xamarin.Native encore plus loin, mais cela a parfois plus de sens que d'autres.

Xamarin.Native (Xamarin.iOS et Xamarin.Android) est un excellent moyen de réutiliser le code et de tirer le meilleur parti de vos compétences .NET lors de la création d'une application mobile. Vous pouvez tirer encore plus loin ces économies de temps et d'argent avec Xamarin.Forms, mais quand devriez-vous et pourquoi pas vous?

Qu'est-ce que Xamarin?

Si vous êtes à un moment où vous envisagez de choisir entre Xamarin.Native et Xamarin.Forms, vous êtes probablement familier avec ce qu'est Xamarin. Pour être complet, cependant, récapitulons brièvement.

Xamarin est une plate-forme open-source de Microsoft pour la création d'applications iOS et Android avec C # et .NET. Il a commencé en 2011 avec Mono pour Android et MonoTouch.

Xamarin étend le framework .NET avec des bibliothèques spécifiques pour iOS, macOS, Android et autres.

Avec le développement natif traditionnel, créer une application pour iOS et Android serait être deux projets complètement séparés. L'application iOS serait probablement créée dans Swift du début à la fin – l'application Android avec Java. Des outils, des langages et des compétences très différents.

À l'aide de Xamarin, l'application entière est écrite en C #. La logique métier et le code backend sont entièrement partagés et ont un accès complet à la plate-forme sous-jacente.

Avec Xamarin.Forms, cette réutilisation du code s'étend même à l'interface utilisateur. iOS et Android ont des approches très différentes de la disposition de l'interface utilisateur. Vous pouvez, bien sûr, toujours utiliser C # pour l'interface utilisateur, mais la réutilisation du code à cette couche sera nécessairement limitée.

Xamarin.Forms, cependant, fournit une abstraction des composants d'interface utilisateur des plates-formes sous-jacentes et les expose de manière simple. à utiliser le langage de balisage.

 Code partagé avec Xamarin "title =" Code partagé avec Xamarin "/></p data-recalc-dims=

La combinaison de Xamarin.iOS, Xamarin.Android et Xamarin.Forms pourrait vous permettre d'obtenir plus de 90 % de partage de code en fonction de la complexité de votre application.

Xamarin.Forms (XF) UI

Ainsi, en utilisant Xamarin.Native, vous avez partagé du code backend, un seul langage, une courbe d'apprentissage plus facile pour les développeurs .NET et des économies déjà. Puis vient l'interface utilisateur…

Chaque composant à partir de ce point dans la pile est de nouveau écrit individuellement pour chaque plate-forme. Bien sûr, ce n'est pas pire que d'être dans une pile entièrement native – au moins vous avez un environnement de langage et de développement commun, mais il est maintenant temps de prendre cette décision. Si votre interface utilisateur native parfaite au pixel près, pouvez-vous sacrifier pour atteindre cet objectif de multiplate-forme entièrement?

Eh bien, étant donné le rythme actuel de progression de l'équipe Xamarin.Forms, avec l'aide de l'open-source

Bien sûr, il n'y a pas de réponse unique, mais nous pouvons examiner quelques cas d'utilisation principaux et peser le pour et le contre.

Les développeurs .NET existants?

Xamarin.Native et Forms ont tous deux couvert ce problème, mais avec XF, votre interface utilisateur est créée avec une version facile à utiliser de XAML. Vous pourriez même avoir ce vieux développeur Silverlight à bord! D'un autre côté, si vous avez une équipe avec une solide expérience Android et iOS, alors Xamarin.Native pourrait porter ses fruits et vous permettre de pousser pour des expériences vraiment raffinées.

Applications d'entreprise internes? [19659005] Ne perdez pas de temps et d'argent à écrire ces applications plus d'une fois. XF sera très rentable. Il n'est pas nécessaire que les applications soient laides ou peu intuitives: réfléchissez simplement à ce que XF peut vous apporter et travaillez avec vos concepteurs pour développer dans les limites. Croyez-moi, combattre le framework ne fera que causer des maux de tête. Utilisez le framework comme prévu et les résultats vous surprendront probablement.

Animations complexes et interactions d'interface utilisateur?

Si votre application doit absolument avoir les interactions les plus fluides et complexes disponibles sur les plates-formes sous-jacentes, alors vous pouvez avoir besoin d'accéder à Xamarin.Native. Mais ne sautez pas trop tôt. Découvrez les nombreux «défis de l'interface utilisateur Xamarin.Forms» que de nombreux développeurs ont entrepris récemment. Vous serez surpris de ce que XF peut faire avec un peu d’ingéniosité.

Consultez la chaîne YouTube de Kym Phillpotts pour quelques exemples de la puissance réelle de XF.

Budget limité ou délai?

Les applications mobiles coûtent cher. Si vous avez besoin d'une application mobile pour un coût minimum, Xamarin.Forms est probablement la solution. Pour un MVP ou une application qui utilise largement des listes et des mises en page propres et cohérentes, XF est difficile à battre. Deux plates-formes ou plus à partir d'une même base de code, y compris l'interface utilisateur, est une proposition que de nombreuses entreprises n'ignoreraient pas.

Maintenance et mises à jour

Pourquoi réparer quelque chose à deux endroits alors que vous pourriez simplement l'avez-vous fait une fois? Avec XF, votre interface utilisateur unique sera joliment présentée devant vous en XAML – corrigez le bogue une fois et toutes vos plates-formes sont corrigées.

Vous avez parfois besoin d'être spécifique à la plate-forme?

Xamarin.Native pourrait soyez le choix évident ici, mais n'oubliez pas que vous pouvez abandonner le framework XF et devenir spécifique à la plate-forme quand vous le souhaitez. Créez votre page avec XF et écrivez quelques moteurs de rendu spécifiques à une plate-forme pour un contrôle afin d'obtenir ce détail que seuls iOS ou Android peuvent fournir.

Qu'en est-il de la taille de l'application?

Les tailles des applications sont nettement plus grandes avec les frais généraux Mono et XF. Il existe des moyens d'atténuer ce problème, mais il est impossible de l'éviter complètement: vos applications Xamarin seront plus volumineuses que les applications natives équivalentes.

Conclusion

Xamarin.Forms ou Xamarin.Native, comme vous pouvez le voir, n'est pas particulièrement facile question à répondre. Il s'agit d'équilibrer les coûts, le temps et le raffinement.

Pour les plus beaux et les plus performants résultats – si vous avez les compétences, le budget et le temps disponibles (c'est un gros «si») – alors passez à la plateforme native.

Xamarin.Native vous y mènera également et vous fera gagner beaucoup de temps et d’argent en partageant beaucoup de code, si vous possédez les compétences .NET et de plate-forme.

Enfin, travailler dans les limites plus strictes de Xamarin.Forms devient plus facile avec chaque version. Si vous avez accès à des composants prédéfinis tels que Telerik UI pour Xamarin ces limitations sont encore levées. Vous devez examiner attentivement le léger impact sur les performances et travailler avec votre équipe de conception sur les détails et le raffinement de l'interface utilisateur, mais la perspective d'une réutilisation du code à 90% est très difficile à ignorer.





Source link