Applications mobiles

Vous souhaitez une application mobile, mais vous hésitez à choisir la technologie ?

Web ? Hybride ? Natif ?

Un bon compromis est d’avoir les avantages du natif et de l’hybride en choisissant Xamarin.

Xamarin permet de développer en C# .Net Standard pour faire des applications cross-plateformes : Android, iOS, Windows 10, macOs, Tizen… et bientôt du web, grâce à WebAssembly (cf WebSharp) !

 

https://alchiweb.fr/dev-mobile/

Développement mobile

Xamarin Forms

Pour mutualiser le code pour l’interface graphique, le mieux est d’utiliser Xamarin Forms (bientôt en version 3.0).

Avec Xamarin, il est naturel de rendre le code lié à la couche « métier », commun aux différentes plateformes (Android/iOS).

Pour gérer l’interface graphique, on peut :

  • soit développer nativement pour chaque plateforme
  • soit avoir une base commune, avec la technologie Xamarin Forms

Faire une interface avec Forms permet toutefois de réaliser nativement certaines spécificités pour chaque plateforme.

 

https://alchiweb.fr/dev-mobile/xamarin-forms/

Natif : performances et nouveautés

Les avantages principaux de développer nativement pour une plateforme sont :

  • les performances : la réactivité d’une application mobile est en effet primordiale, quelque soit le type de smartphone utilisé
  • l’adaptation aux dernières nouveautés du système d’exploitation. Ainsi, à chaque sortie de nouvelles versions d’iOS et d’Android, il y a des fonctionnalités supplémentaires qui sont intéressantes à utiliser pour certaines applications

Le développement en Xamarin permet d’avoir ces 2 avantages.
Bien que multi-plateforme, cette technologie s’appuie sur du natif, et permet d’avoir des performances optimales.
De plus, le développement de Xamarin (acheté par Microsoft en 2016) est très soutenu et permet d’être compatible avec les dernières versions des OS, même quand ceux-ci sont encore en version bêta.

Choisir Xamarin, c’est aussi choisir de développer dans un seul langage : le C#. Pas besoin d’être expert en Objective-C, Swift, Java/Android…
Pour l’environnement de développement, Visual Studio est l’outil qui est naturellement utilisé, sous macOS également.

Bien sûr, savoir développer sous Xamarin n’est pas suffisant pour maîtriser le développer mobile. Il faut connaître aussi les spécificités natives.
Ainsi, l’expérience acquise par Alchiweb.fr (cours donnés sous Java/Android et notions sous Swift/iOS) permet d’avoir la culture du développement natif.

https://alchiweb.fr/dev-mobile/natif-performances-nouveautes/

Progressive Web Apps / Cordova

Depuis de nombreuses années, il est possible de développer des applications web.

Alchiweb.fr a suivi cette évolution : Cordova, PhoneGap, Intel XDK, HTML 5 et maintenant Progressive Web Apps, Native Script, React Native, Ionic…

Suivant le projet, on peut être amené à choisir une de ces technologies.

Ceci dit, les Progressive Web Apps permettent de faire évoluer un site web au niveau d’une application mobile (consultation offline, notifications…).

https://alchiweb.fr/dev-mobile/progressive-web-apps-cordova/

Applications Windows 10

30Au delà de Xamarin, ça peut être intéressant de créer une application spécifique à Windows 10, mais multi-devices (ordinateur, smartphone, console Xbox One, casque holographique…).

Avec l’arrivée de Windows 10 S, où ne sont acceptées que des applications sur Windows Store, il y aura de plus en plus besoin d’applications Windows 10.

Le C# .Net avec la technologie UWP est très puissant, et adapatable à tous les scénarios. Certains outils gratuits et opensource peuvent être utiles :

Mon expérience avec Windows App Studio va me servir : j’ai en projet de porter mon convertisseur d’applications UWP vers Xamarin (Android/iOS) de Windows App Studio, vers Windows Template Studio.

https://alchiweb.fr/dev-mobile/applications-windows-10/