Maybaygiare.org

Blog Network

Le bien et le Mal du Développement mobile Xamarin

CONTENU

Temps de lecture: 16 minutes

Lorsque l’on considère le développement d’applications iOS ou Android, la plupart d’entre nous pensent à Objective-C vs Swift, et Java tout d’abord. Considérés comme des piles technologiques natives, ils sont naturellement les outils de développement mobile les plus utilisés en matière de développement d’applications iOS et Android. Cependant, il existe d’autres façons de créer des applications mobiles performantes et conviviales. Et Xamarin en fait partie. Dans cet article, nous effectuons un examen approfondi de Xamarin et le comparons aux solutions de développement mobile natives et multiplateformes sur le marché. Si vous connaissez les bases, pensez à sauter aux sections qui vous intéressent.

Qu’Est-Ce que Xamarin ?

Il est impossible d’ignorer Xamarin lorsqu’on parle des approches clés du développement d’applications mobiles. Xamarin est un outil utilisé pour le développement d’applications mobiles multiplateformes qui permet aux ingénieurs de partager jusqu’à 90% du code sur les principales plates-formes. Étant un outil relativement nouveau, il est basé sur la pile technologique Microsoft et compte déjà une communauté de plus de 1,4 million de développeurs.

La plate-forme a été construite par les développeurs derrière Mono, une plate-forme de développement open source basée sur le framework .NET, dirigée par Miguel de Icaza et introduite pour la première fois en 2001. La société Xamarin a été fondée le 16 mai 2011.

Cependant, contrairement à son prédécesseur, Xamarin a été créé comme un projet commercial jusqu’à ce que la société soit rachetée par Microsoft en 2016. Xamarin est devenu un produit multiplateforme populaire pour le développement d’applications mobiles au sein de l’écosystème Microsoft. Cette acquisition a brisé la barrière financière pour l’utilisation de Xamarin. Comme Microsoft a rendu le SDK Xamarin open-source, il est devenu une partie de l’environnement de développement intégré Xamarin Visual Studio (nous discutons des meilleursEs à utiliser pour le développement Xamarin ci-dessous). Quelles sont les principales caractéristiques de Xamarin?

Langue C#. Xamarin utilise un seul langage, C#, pour créer des applications pour toutes les plateformes mobiles. Contrairement aux solutions interprétées, telles que Appcelerator Titanium, Xamarin est compilé nativement, ce qui en fait une option incontournable pour créer des applications hautes performances avec un aspect et une convivialité natifs.

Basé sur .NET framework. C # est un langage mature avec un fort typage de sécurité qui empêche le code d’avoir un comportement inattendu. Comme C# est l’un des langages .NET framework, il peut être utilisé avec un certain nombre de fonctionnalités .NET utiles telles que Lambdas, LINQ et la programmation asynchrone (async/await).

Techniquement parlant, Xamarin utilise C # et des bibliothèques natives enveloppées dans le.Couche nette pour le développement d’applications multiplateformes. De telles applications sont souvent comparées à des applications natives pour les plates-formes de développement mobiles iOS et Android en termes de performances et d’expérience utilisateur. De plus, Xamarin peut tirer parti de tous les accès API natifs et les plus récents pour utiliser les capacités de la plate-forme sous-jacente dans les applications Xamarin telles que ARKit sur iOS ou Android Multi-Fenêtres.

Plate-forme Xamarin

Bien que le code lié à la logique métier, à l’accès à la base de données et à la communication réseau puisse être partagé sur toutes les plates-formes, Xamarin vous permet de créer une couche de code d’interface utilisateur spécifique à la plate-forme. Ainsi, les applications multiplateformes Xamarin semblent 100% natives sur n’importe quel appareil, offrant une meilleure expérience utilisateur, par rapport aux applications hybrides génériques.

Compilation. La plateforme propose deux produits majeurs : Xamarin.iOS et Xamarin.Android. Dans le cas d’iOS, le code source est compilé directement dans le code d’assemblage ARM natif (compilation à l’avance), tandis que les applications Android Xamarin sont d’abord compilées en langage intermédiaire, puis en code d’assemblage natif à l’exécution (compilation juste à temps). Cependant, dans les deux cas, le processus est automatisé et adapté pour gérer des problèmes tels que l’allocation de mémoire, la collecte des ordures et l’interopérabilité de la plate-forme par défaut.

Xamarin.Forme. Xamarin.Forms est un produit distinct conçu pour créer des prototypes ou des applications mobiles partageant jusqu’à 100% du code sur iOS et Android.

Xamarin.Mac. De plus, les ingénieurs peuvent utiliser Xamarin.Mac pour créer des applications pour Mac OS. Ceux-ci et quelques autres produits de la pile Xamarin seront discutés dans un peu.

SDK de plate-forme. Xamarin permet d’accéder aux SDK spécifiques à la plate-forme (Cocoa Touch pour iOS et Android SDK) via une syntaxe C# simple.

Liaisons de code spécifiques à la plate-forme. Dans la plupart des cas, les ingénieurs seront en mesure de gérer le développement en conservant l’aspect natif des plates-formes respectives dans l’environnement Xamarin. Cependant, Xamarin vous permet d’appeler le code de plate-forme existant (par exemple Swift pour iOS) si vous devez réutiliser certains modules ou réaliser certaines fonctions spécifiques à la plate-forme comme la lecture de codes à barres, l’intégration de PayPal ou de Google Analytics.

Support des appareils portables. Xamarin prend en charge la création d’applications pour les appareils Apple et Android Watch. Les ingénieurs peuvent utiliser Visual Studio pour Mac et Windows pour créer des applications Apple Watch iOS. En outre, Xamarin prend entièrement en charge Android Wear.

Structure du projet Xamarin. La plupart des travaux liés à Xamarin devraient être exécutés via un ordinateur de développement Windows avec Visual Studio et Xamarin installés. Les applications peuvent être déboguées directement depuis le bureau ou sur des appareils et des émulateurs. Si vous envisagez de développer des applications iOS sous Windows, c’est également possible car Visual Studio se connecte au concepteur de storyboard iOS et au simulateur iOS. Il existe également Visual Studio pour Mac qui permet d’exécuter un simulateur sur le Mac ou directement sur un iPhone attaché. Le débogage est exécuté via Visual Studio.

Xamarin project structure

Xamarin project structure. Image source: Developer Support Blog

To get a more in-depth understanding of Xamarin engineering aspects consider checking these resources:

Main Xamarin Documentation Hub

Xamarin.Android Documentation

Xamarin.iOS Documentation

Xamarin.Documentation des formulaires

Visual Studio pour Xamarin

Centre d’application Xamarin Studio

Forum de la communauté Xamarin

Comme toute autre technologie, Xamarin a ses propres avantages et inconvénients, qui ont fait l’objet d’une discussion animée récemment. Pour prendre une décision éclairée sur le développement Xamarin vs native, pesons tous les avantages et les inconvénients du développement d’applications avec Xamarin. Si vous êtes vraiment pressé par le temps, nous vous recommandons de regarder cette vidéo offrant un aperçu de haut niveau des forces et des faiblesses de la plateforme Xamarin en moins de 6 minutes.

Si vous voulez entrer dans les détails, continuez à lire.

Avantages de l’utilisation de Xamarin pour le développement

Il existe de bonnes raisons pour lesquelles Xamarin est utilisé par de nombreuses entreprises, notamment Trello, Slack et GitHub.

⊕ Une pile technologique à Coder pour toutes les plates-formes

Xamarin utilise C# complété par .Net framework pour créer des applications pour n’importe quelle plate-forme mobile. Ainsi, vous pouvez partager en moyenne 80 à 90% du code sur toutes les plates-formes, accélérant ainsi le cycle d’ingénierie. Xamarin ne nécessite pas non plus de basculer entre les environnements de développement : vous pouvez créer toutes vos applications Xamarin dans Visual Studio ou Visual Studio Code. Les outils de développement multiplateformes sont fournis en tant que partie intégrée de l’EDI sans frais supplémentaires.

PerformancePerformances proches du natif

Contrairement aux solutions hybrides traditionnelles basées sur les technologies web, une application multiplateforme construite avec Xamarin peut toujours être classée comme native. Au fur et à mesure que la plate-forme se développe, les performances de Xamarin sont constamment améliorées pour correspondre pleinement aux normes du développement natif, Microsoft donnant des conseils sur les techniques d’optimisation. Visual Studio propose également une solution complète pour créer, tester et suivre les performances de l’application : Visual Studio App Center vous permet d’exécuter des tests d’interface utilisateur automatisés et d’identifier les problèmes avant la sortie. Cependant, ce service est fourni moyennant des frais supplémentaires.

Plus tôt, nous avons testé et comparé les performances de Xamarin et des applications natives. Les résultats pourraient être quelque peu dépassés; cependant, ils démontrent clairement le niveau décent de performances des applications Xamarin.

Experiences Expériences utilisateur natives

Xamarin vous permet de créer des expériences sans faille à l’aide d’éléments d’interface utilisateur spécifiques à la plate-forme. Il est également possible de créer des applications multiplateformes pour iOS, Android ou Windows à l’aide de Xamarin.Outil de formulaires, qui convertit les composants de l’interface utilisateur de l’application en éléments d’interface spécifiques à la plate-forme lors de l’exécution. Comme l’utilisation de Xamarin.Forms augmente considérablement la vitesse de développement d’applications, c’est une excellente option pour les projets axés sur les entreprises. Pourtant, il pourrait y avoir une légère baisse des performances en raison de la couche d’abstraction supplémentaire. Pour une interface utilisateur d’application personnalisée et des performances supérieures, vous pouvez toujours utiliser Xamarin.iOS et Xamarin.Android séparément pour assurer d’excellents résultats.

Traditionnellement, Xamarin n’est pas considéré comme la meilleure option pour les applications avec des graphismes lourds. Cela dit, il existe un certain nombre de bibliothèques comme OpenGL ES et des frameworks comme SkiaSharp et Urho qui rendent possible le développement d’applications avec une interface utilisateur personnalisée riche, des animations complexes ou des jeux même dans Xamarin.

Support Support matériel complet

Avec Xamarin, votre solution obtient des fonctionnalités d’application de niveau natif. Il élimine tous les problèmes de compatibilité matérielle, en utilisant des plugins et des API spécifiques, pour fonctionner avec les fonctionnalités communes des appareils sur toutes les plates-formes. En plus de l’accès aux API spécifiques à la plate-forme, Xamarin prend en charge la liaison avec les bibliothèques natives. Cela permet une meilleure personnalisation et des fonctionnalités de niveau natif avec peu de frais généraux.

TechnologyTechnologie Open Source avec un Fort soutien de l’entreprise

Après l’acquisition de la société par Microsoft en février 2016, les politiques de licence de Xamarin ont subi des changements radicaux. Le SDK Xamarin, y compris les outils d’exécution, les bibliothèques et les outils de ligne de commande, est devenu open source et disponible pour tous sous licence MIT dans le cadre de Visual Studio. En éliminant l’obstacle majeur, le coût de la licence, Microsoft a ouvert la voie à la poursuite de la croissance de la plate-forme. Plus, dirigé par Microsoft, et soutenu par Unity, JetBrains et Red Hat, le.NET Foundation en général et Xamarin en particulier est devenu une pile technologique fiable et puissante.

Maintenance Maintenance simplifiée

Grâce à son application multiplateforme, Xamarin facilite la maintenance et les mises à jour. Vous pouvez simplement déployer les modifications ou mises à jour du fichier source et elles seront appliquées aux applications iOS et Android. Ainsi, cela vous permet d’économiser du temps et de l’argent tout en maintenant vos applications à jour.

Ecosystem Écosystème de développement complet

Xamarin est livré en un seul paquet avec un ensemble complet d’outils de développement, y compris son propreE. En avril 2018, de nombreux outils de développement Xamarin précédemment connus sous le nom de fonctionnalités distinctes sont devenus une partie du centre d’applications Visual Studio. La plate-forme elle-même (SDK Xamarin), les tests (anciennement Xamarin Test Cloud), la distribution et l’analyse (anciennement Xamarin) sont inclus.Insights) plates-formes, et bien d’autres. Puisque la boîte à outils reste gratuite, il n’est pas nécessaire d’investir dans des outils supplémentaires ou d’intégrer des applications tierces pour créer, tester et déployer vos applications Xamarin.

X Xamarin.Formulaires : un cadre pour créer des mises en page d’interface utilisateur natives

Xamarin suggère aux développeurs de créer des applications mobiles de deux manières. La première consiste à utiliser Xamarin.iOS et Xamarin.Android, apparu plus tôt et initialement considéré comme plus capable. Utilisation de Xamarin.Forms est la deuxième approche. Il s’agit d’une version plus avancée qui permet un prototypage rapide ou la production d’applications avec moins de fonctionnalités spécifiques à la plate-forme. C’est pourquoi Xamarin.Forms est la meilleure solution pour les applications où le partage de code est plus important que l’interface utilisateur personnalisée. Cela vous permettrait de réutiliser jusqu’à 99% du code, ce qui signifie que vous pourrez créer une interface unique et la partager sur plusieurs plates-formes sans concevoir pour chaque plate-forme individuellement. Vous pouvez également créer des applications où certaines parties de leurs interfaces utilisateur sont créées avec Xamarin.Les formulaires et les autres sont conçus à l’aide de la boîte à outils d’interface utilisateur native.

Comme Xamarin.Des formes développées au fil des ans, il est devenu un outil universel et a acquis une communauté dynamique qui y prête attention. Par exemple, certains fournisseurs de technologie fournissent leurs bibliothèques comme l’interface utilisateur Telerik qui enrichit les capacités d’ingénierie en fournissant des composants d’interface utilisateur préconfigurés.

X Xamarin.Forme Le Rechargement À Chaud XAML

En Tant Que Xamarin.Forms vise un développement rapide et sans friction, Microsoft suggère d’utiliser un outil de rechargement à chaud XAML. Il accélère le développement en vous permettant de modifier XAML pendant le débogage et de voir immédiatement ces modifications dans l’application en cours d’exécution, sans vous obliger à l’arrêter et à la reconstruire. De plus, votre état de navigation et vos données seront maintenus, afin que vous puissiez rapidement itérer sur votre interface utilisateur. De cette façon, le rechargement à chaud XAML permet une reconstruction et un déploiement plus rapides de vos applications pour valider les modifications de l’interface utilisateur.

Building Création d’applications pour Mac avec Xamarin.Outil Mac

Xamarin.Mac permet de développer des applications Mac entièrement natives en utilisant C# et .NET. Il s’intègre aux mêmes bibliothèques que celles utilisées pour le développement dans Objective-C avec Xcode. En utilisant Xamarin.Mac combiné avec Xamarin.iOS et Xamarin.Android, les développeurs peuvent partager jusqu’à 90% du code natif sur Android, iOS et Mac OS. En outre, Xamarin.Mac s’intègre à Xcode, de sorte qu’un développeur peut utiliser le générateur d’interface de Xcode pour créer les interfaces utilisateur d’une application.

Resources Ressources d’apprentissage Xamarin

Microsoft Learn est un portail éducatif en ligne qui aide les utilisateurs à développer des compétences techniques liées aux produits Microsoft, y compris Xamarin. La plate-forme propose des cours pour les ingénieurs débutants et expérimentés, permettant aux apprenants de se préparer aux certifications Microsoft. Les ressources éducatives comprennent un apprentissage autoguidé gratuit, des cours en ligne en direct, des conférences au bureau et des conférences invitées.

supportPrise en charge Xamarin des téléviseurs, des appareils portables et de l’IoT

Le framework Xamarin, grâce à son Xamarin.Forms, permet de créer des versions portables pour de nombreuses plates-formes. En plus des téléphones iOS, Android, Windows et Mac, vous pouvez développer des applications pour Tizen – un système d’exploitation utilisé sur certains appareils Samsung – pour les appareils portables, les téléviseurs et l’IoT. À part ça, Xamarin.iOS permet de créer des applications pour tvOS pour Apple et watchOS.

Xamarin Contre à considérer

Cependant, il y a encore quelques inconvénients qui peuvent jeter une ombre sur la plate-forme. Alors, pourquoi ne pas utiliser Xamarin?

Θ Prise en charge légèrement retardée des dernières Mises à jour de la plate-forme

Cela dépend entièrement de l’équipe de développeurs Xamarin. Il est impossible pour des outils tiers de fournir un support immédiat pour les dernières versions iOS et Android car il faut un certain temps pour implémenter les modifications et / ou introduire de nouveaux plugins, etc.

ΘAccès limité aux bibliothèques Open Source

Le développement natif utilise largement les technologies open source. Avec Xamarin, vous devez utiliser les éléments fournis par la plate-forme et certaines ressources open source .NET, face aux développeurs et aux consommateurs. Bien que le choix ne soit pas aussi riche que pour le développement d’applications mobiles Android et iOS, vous pouvez utiliser des packages NuGet qui contiennent désormais tout ce qui se trouvait dans les composants Xamarin retirés.

Θ Coût élevé pour une utilisation professionnelle et professionnelle

Bien que Xamarin soit une plate-forme open-source gratuite pour les développeurs individuels, le framework peut coûter un joli centime pour les besoins de l’entreprise. Vous dépenserez beaucoup pour acheter une licence pour Visual Studio. Par exemple, Visual Studio Professional avec l’ensemble d’outils de développement de base coûte 1 199 for pour la première année et 799 for pour le renouvellement. Dans le même temps, une entreprise Visual Studio, qui permet d’expérimenter des outils supplémentaires, coûtera 5 999 for pour la première année et 2 569 for pour le renouvellement. Les caractéristiques des deux nous couvrons ci-dessous.

Θ Bassin de talents Xamarin et Contraintes communautaires

De toute évidence, la communauté Xamarin est nettement plus petite que celles d’iOS ou d’Android natifs. Il est également plus petit que les communautés React et Ioniques. Ainsi, trouver un développeur Xamarin expérimenté pourrait être un défi.

Selon l’enquête de débordement de pile 2020, seulement 5.8 % utilisaient Xamarin framework en 2020, contre 11,5 % pour React Native et 7,2 % pour Flutter.

Utilisation du Xamarin par rapport aux autres frameworks. Source de l’image: Stack Overflow

Malgré le fait que le nombre d’ingénieurs Xamarin ne se compare pas aux communautés natives iOS ou Android, la plate-forme fournit un support étendu à ses développeurs. Comme mentionné ci-dessus, Microsoft Learn propose des ressources et une formation pratique pour ceux qui sont nouveaux dans cette technologie. En utilisant ce support, la courbe d’apprentissage pour un ingénieur C# / .Net expérimenté est minimale.

Un autre problème rencontré par certains développeurs est la fragmentation et le manque de normes dans les ressources d’apprentissage et de développement, y compris les documents. Cela a un impact sur la qualité du soutien que vous obtiendrez.

Θ Connaissance de base des langues natives

Lors de l’utilisation de Xamarin.iOS et Xamarin.Android pour créer des applications mobiles avec une apparence vraiment native, vous devrez toujours écrire une couche de code spécifique à la plate-forme à l’aide des API natives de chaque plate-forme. Ainsi, même si ce n’est pas obligatoire comme avant, il serait utile d’avoir au moins une connaissance de base des technologies natives (Java / Kotlin pour Android et Objective-C / Swift pour iOS) pour pouvoir comprendre et tirer le meilleur parti de la documentation spécifique à la plate-forme. Aussi, Xamarin.La bibliothèque Essentials fournit plusieurs API multiplateformes et peut être utilisée pour accéder aux fonctionnalités natives. Ceci, cependant, ne s’applique pas à Xamarin.Forme.

Θ Taille de l’application plus grande

Selon leur type et leur complexité, les applications Xamarin sont généralement plus grandes que les applications natives (ces dernières peuvent être la moitié de la taille d’une application Xamarin). Une simple application « bonjour, monde » pour Android peut prendre jusqu’à 16 Mo, une grande partie étant utilisée par les assemblages de bibliothèques, de contenu, d’exécution Mono et de bibliothèque de classes de base (BCL) associés.

Taille de l'application xamarin

Taille de l’application Xamarin. Source de l’image: développeur.xamarin.com

Ainsi, les applications Xamarin ont généralement besoin d’une optimisation supplémentaire telle que la liaison pour supprimer le code inutilisé des bibliothèques incluses et garder la taille du fichier d’application raisonnable.

Θxamarine.Les formulaires Cesseront Bientôt d’Exister

En mai 2020, la conférence annuelle Microsoft Build a eu lieu. Entre autres nouvelles, il a été annoncé que Xamarin.Forms va fusionner avec .NET et évoluer dans un nouveau framework multiplateforme appelé .NET Multi-plateforme App UI, ou MAUI. MAUI aura toutes les interfaces utilisateur natives et donnera accès à toutes les API natives.

Également, dans le cadre du graduel.Unification NETTE, Xamarin.Android et Xamarin.iOS deviendra éventuellement une partie de .NET 6 en tant que .NET pour iOS et .NET pour Android et sera mis à jour pour correspondre aux autres charges de travail .NET. Le calendrier pour cela n’est pas encore connu, alors restez à l’écoute pour les futures mises à jour.

Pendant ce temps, le Xamarin.La migration des formulaires devrait avoir lieu en novembre 2021. Une fois MAUI libéré, Xamarin sera pris en charge pendant 12 mois supplémentaires. Donc, si pour le moment vous travaillez avec Xamarin ou si vous envisagez de créer de nouvelles applications Xamarin, il vaut la peine de garder un œil sur les dates et de rechercher des guides Microsoft pour une transition en douceur.

ΘProblèmes de compatibilité avec les bibliothèques et outils tiers

Il peut y avoir des problèmes lors de l’intégration de ressources tierces avec votre application Xamarin. Alors que la plupart des outils et bibliothèques offrent une prise en charge complète des technologies natives, la prise en charge de Xamarin peut ne pas être fournie par un fournisseur. Bien que Xamarin dispose de son propre magasin de composants, il est toujours possible que vous ayez besoin d’une fonctionnalité ou d’une intégration spécifique au sein de votre application qui n’est pas fournie par la plate-forme. Donc, pour tirer parti d’autres paquets tiers, vous devez utiliser des wrappers.

E Xamarin Visual Studio

Si vous avez le sentiment que Xamarin vous convient, vous serez intéressé de connaître les principaux ID Xamarin pouvant être utilisés et comment ils se comparent les uns aux autres.

Visual Studio (VS) est un environnement de développement intégré Microsoft, ou software, logiciel utilisé pour la création, le débogage et la publication d’applications sur toutes les plates-formes et appareils. Il existe trois versions principales de Visual Studio pour Xamarin : Visual Studio Community, Visual Studio Professional et Visual Studio Enterprise. Les facteurs clés pour choisir une version acceptable sont l’expérience des développeurs (étudiants ou ingénieurs professionnels) et la taille de leur équipe. Les programmeurs peuvent développer des logiciels pour le Web, le mobile, le serveur et le bureau avec toutes les versions. En savoir plus sur Visual Studio dans notre article sur les outils utilisés pour le développement .NET.

La dernière version est Visual Studio 2019. Par rapport à VS 2017, il contient de nombreuses améliorations qui accélèrent le développement d’applications, de la collaboration en temps réel à l’aide du partage en direct de Visual Studio à la nouvelle fenêtre de démarrage de Visual Studio. En outre, il prend en charge le DPI par moniteur et les capacités de débogage améliorées.

La charge de travail Xamarin est maintenant réduite d’environ 3 fois par rapport aux versions précédentes, ce qui signifie qu’elle est passée de 23 Go à 7 Go. Il réduit considérablement l’impact du disque et accélère l’installation. De plus, la nouvelle version a apporté des améliorations considérables à la gestion du SDK et des émulateurs Android. Il a également déployé d’importants efforts pour renforcer la création de l’interface utilisateur. Cela inclut Xamarin.Améliorations des formulaires avec IntelliCode pour XAML, améliorations AXML pour Android, livraison iOS Xamarin améliorée et de nombreuses autres fonctionnalités.

La communauté Visual Studio convient parfaitement aux étudiants, aux projets open source et aux petites équipes de développement comptant jusqu’à 5 utilisateurs. Le package communautaire est également bon pour les équipes qui débutent dans Visual Studio. Cette version est gratuite.

Visual Studio Professional est un ensemble d’outils et de services créés pour les développeurs professionnels, les petites équipes et les entreprises. Cette version fournit des fonctionnalités puissantes pour comprendre rapidement votre code: affichage des références de code, des modifications apportées à votre code, affichage de la dernière modification d’une méthode ou découverte de la réussite des tests. La version professionnelle inclut Azure DevOps, un ensemble de fonctionnalités telles que des outils de planification et de test de projets agiles, des pipelines CI/ CD, des solutions de reporting, etc. Le prix annuel de cette version est de 1 199 $.

Visual Studio Enterprise dispose d’outils et de services de support plus solides. Ils permettent de gérer des processus plus complexes entre le développement et les opérations informatiques, de suivre la qualité avec des outils de test manuels et automatisés, d’accéder à une formation professionnelle et à l’ensemble de l’écosystème d’ingénierie et de test Microsoft. La version Entreprise offre également un support prioritaire, des offres de partenaires et bien plus encore. Le prix annuel pour Enterprise Studio est de 5 999 $.

Pour une utilisation en entreprise, nous vous recommandons également de consulter le centre d’applications Visual Studio. C’est un outil qui organise le flux de développement d’applications sur différentes technologies mobiles, y compris Xamarin. Ici, les équipes d’ingénierie qui travaillent sur plusieurs applications peuvent rassembler leurs outils. Il automatise l’emballage des applications via GitHub ou Bitbucket, fournit l’intégration de différents services de test, permet la distribution d’applications de messagerie pour les tests, effectue le suivi et l’analyse des pannes.

Visual Studio Code, ou VS Code, s’est classé comme l’environnement de développement le plus populaire en 2019 avec 50,7 % des développeurs déclarant l’utiliser. VS Code est un éditeur de code open source gratuit et léger qui fournit tous les principaux outils nécessaires à un cycle simple d’édition, de création et de débogage de code, mais ne dispose pas des capacités desEs complets qui permettent de gérer des flux de travail plus complexes. Il fonctionne sur Mac, Linux et Windows et prend en charge des opérations de développement de base telles que l’exécution de tâches, le dépannage et le contrôle de version. Il dispose également d’IntelliSense pour le développement assisté par l’IA, fonctionne avec GitHub et dispose d’un riche écosystème d’extensions. VS Code est rapide, simple à utiliser, hautement configurable et peut être un bon choix si vous avez besoin de quelque chose de léger, mais avec de bonnes fonctionnalités

Visual Studio Online, ou GitHub Cloudspaces, est un environnement de développement basé sur un navigateur qui prend en charge VS 2019 et VS Code. Il n’est désormais disponible qu’en version bêta et a des fonctionnalités limitées

Passage d’Android Studio ou Xcode à Visual Studio

Si votre équipe de développement envisage de passer d’Android Studio (AS) ou Xcode à Visual Studio, la courbe d’apprentissage ne sera pas si raide. Les comparaisons de fonctionnalité à fonctionnalité montrent que lesEs sont très identiques en termes de flux de développement avec peu de nuances pour chacun des environnements.

D’Android Studio à Visual Studio. Alors que le support officiel d’Android Studio se concentre sur les langages Java, C / C ++, Kotlin et XML, VS prend en charge tous les principaux langages de programmation, y compris ceux de AS. Cela est dû au large éventail de plates-formes auxquelles l’E s’adresse. VS offre plus de liberté d’ingénierie et permet de travailler avec différents projets à partir d’un seul environnement. Si vous utilisez la plate-forme Google Cloud intégrée à AS pour exécuter des machines virtuelles ou simplement gérer des projets, Google a la gentillesse de fournir également son extension de plate-forme cloud pour VS. En gros, vous pouvez utiliser à la fois l’écosystème Microsoft Cloud et Google Cloud directement depuis VS. Visual Studio peut être installé sur toutes les plates-formes principales: Windows, Android, Mac OS et Linux.

De Xcode à Visual Studio. L’E Xcode, similaire à VS, prend en charge le code source de tous les principaux langages de programmation. Donc, il n’y aura pas de surprise après la transition. Encore une fois, si vous avez été lié à Mac OS lors de l’utilisation de Xcode, le matériel Apple n’est pas nécessaire pour VS. Pour ceux qui utilisent CloudKit pour le stockage côté serveur, Visual Studio et Xamarin permettent une intégration simple de CloudKit. Le principal inconvénient de l’utilisation de VS par rapport à Xcode est son prix: Android Studio et Xcode sont gratuits tandis que VS nécessite des frais d’abonnement assez élevés.

Selon les estimations des développeurs, Visual Studio et Android Studio, tous deux, ont la plupart du temps le même niveau de facilité d’utilisation et la même qualité de support. En comparant les mêmes index avec VS et Xcode, on peut dire que les estimations VS sont un peu meilleures. En outre, Visual Studio est plus populaire parmi les entreprises (> 1000 employés), tandis qu’environ 50% des utilisateurs d’Android Studio et de Xcode sont de petites entreprises (50 employés ou moins).

Compte tenu des classements de Strategy Analytics sur les environnements de développement mobiles, Xcode a obtenu le meilleur classement sur les capacités de test, tout comme Visual Studio. Studio Android à la traîne. Les scores totaux étaient: Xcode – 22; Visual Studio -21; et Android Studio -13.

Considérant d’autres options: Xamarin vs Développement Hybride vs iOS / Android natif vs Autres Frameworks Multiplateformes

Récemment, de nombreux développeurs ont tendance à convenir que Xamarin peut être considéré comme un outil de développement « natif”. En effet, il existe une opinion selon laquelle « tout ce qui peut être fait dans une application iOS utilisant Objective-C ou Swift, et tout ce qui peut être fait dans une application Android utilisant Java, peut être fait en C # en utilisant Xamarin. »

Pourtant, il y a de nombreux pièges dans le débat natif vs Xamarin. Voyons comment Xamarin se compare aux outils de développement natifs et aux plates-formes de développement hybrides (Ionic, PhoneGap/Cordova).

Développement Xamarin vs natif vs hybride

Xamarin vs développement hybride vs natif en un mot

Bien que les outils de développement mobiles hybrides évoluent rapidement, ils n’ont toujours pas les performances et les capacités natives offertes par Xamarin à peu près au même coût. Cependant, le délai de mise sur le marché plus court reste leur principal avantage.

Quant au choix entre Xamarin ou iOS/Android natif, il faut tenir compte du temps et du budget disponibles (le développement natif est généralement plus cher et prend plus de temps) et du type d’application. Si vous avez besoin de performances haut de gamme et d’une interface utilisateur parfaitement ajustée, il vaut la peine d’opter pour des applications natives.

À mesure que de plus en plus de frameworks multiplateformes émergent et se développent, il devient plus difficile pour Xamarin de conserver sa position sur le marché. Aujourd’hui, un certain nombre de frameworks ont déjà dépassé Xamarin en termes de popularité et de performances. React Native a été élu premier choix de 2020, suivi de près par Flutter.

Dynamique d’utilisation des frameworks mobiles multiplateformes. Source: Statista

Chaque infrastructure d’application multiplateforme présente des fonctionnalités et une structure différentes. Pour avoir une meilleure image, consultez nos articles de comparaison: Xamarin vs Flutter et Xamarin vs React Native vs Ionic vs NativeScript. Ce dernier, par exemple, bien qu’il soit moins populaire, serait particulièrement utile pour les développeurs qui utilisent Angular framework car ils sont étroitement interconnectés.

Conseil

Lors de la comparaison des avantages et des inconvénients, les inconvénients énumérés sont généralement considérés comme un dommage collatéral. La plupart des propriétaires d’entreprise choisissent la plate-forme de développement d’applications mobiles Xamarin car elle réduit les délais de mise sur le marché et les coûts d’ingénierie, en partageant le code et en utilisant une seule pile technologique. Pourtant, le but de l’application et son public cible pourraient être un facteur encore plus important à considérer.

Sur la base de l’expérience de notre équipe, le meilleur cas d’utilisation de Xamarin est celui des solutions mobiles d’entreprise. Avec l’interface utilisateur standard qui couvre 90% des projets, toute la logique produit de base peut être facilement partagée entre les plates-formes. Par conséquent, la personnalisation de la plate-forme ne prendra que 5 à 10% de l’effort d’ingénierie.

Dans le cas d’applications destinées aux consommateurs avec une interface utilisateur lourde, la quantité de code partagé diminue considérablement. Ainsi, le développement multiplateforme de Xamarin perd son avantage majeur et pourrait être égal en temps et en coût aux solutions natives.

Cet article fait partie de notre série « Le Bon et le Mauvais”. Si vous êtes intéressé par le développement web, jetez un œil à notre article de blog sur le

Le Bon et le Mauvais du Développement Angular

Le Bon et le Mauvais du Développement JavaScript Full Stack

Le Bon et le Mauvais de Node.développement d’Applications Web js

Le Bon et le Mauvais de ReactJS et React Native

Le Bon et le Mauvais du Langage de Programmation Swift

Le Bon et le Mauvais de Selenium Test Automation Tool

Le Bon et le Mauvais du Développement d’Applications Android

Le Bon et le Mauvais de.Développement NET

Le Bien et le Mal de l’outil d’automatisation des tests GUI Ranorex

Le Bien et Le Mal du Développement d’applications Flutter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.