Article mis à jour le 20 avril 2022

 

Vous êtes actuellement en train de travailler sur votre projet d’application mobile et vous vous demandez peut-être si vous avez choisi la bonne technologie pour votre App ? Il existe actuellement un nombre important de technologies sur le marché et choisir une solution de développement mobile n’est pas toujours évident. En effet, au moment de choisir la technologie, de nombreuses questions se posent car ce choix engage généralement sur plusieurs années.

Chez Cellenza, nos experts Mobile vous proposent de vous accompagner dans ce choix grâce à un arbre décisionnel autour de technologies que nous avons présélectionnées pour leurs qualités.

Cet arbre est un outil pour vous aider à vous projeter : si vous souhaitez approfondir le sujet pour affiner ou confirmer votre choix, n’hésitez pas à contacter Cellenza.

 

Outils aide choix technologie mobile

 

Comment trouver la technologie adaptée à mon projet mobile ?

Lorsque l’on fait l’état actuel du marché, on se rend très vite compte de la multiplicité des solutions à notre disposition. Sans compter les nouvelles technologies qui font le buzz. À l’heure où nous publions cet article, c’est le cas par exemple pour Flutter.

Devez-vous suivre ces nouvelles tendances ? C’est une autre question.

Avec John Thiriet, nous avons eu l’occasion d’animer une matinale sur le sujet et sur les problématiques suivantes :

  • La mobilité en entreprise
  • Le multi-plateforme
  • L’Intelligence Artificielle et la Data
  • L’UX et l’UI pour une application mobile
  • Le Cloud Mobile
  • DevOps dans un projet mobile
  • La Sécurité de vos applications

Cette présentation avait pour objectif de transmettre les bonnes pratiques permettant à tout décisionnaire ou gestionnaire de projet mobile d’effectuer des choix éclairés. A cette occasion, nous avons créé une infographie sous forme d’arbre décisionnel permettant en un coup d’œil de savoir quelle technologie envisager en fonction de son besoin.

En avril 2022, les experts Cellenza ont mis à jour cette infographie pour prendre en compte les nouvelles technologies et bonnes pratiques : découvrez vite cette nouvelle version d’arbre décisionnel indispensable pour choisir la technologie pour développer votre application mobile !

 

 

Présentation des différentes technologies pour créer une App

Il y a de cela quelques années, nous avions déjà travaillé sur un référencement des différentes solutions pour créer une Mobile App. Face à une évolution constante des technologies, le marché a beaucoup changé. Voici donc ce qu’il faut savoir.

 

iOS Natif avec Swift

 

Swift est un langage de programmation puissant et intuitif essentiellement utilisé pour MacOS, iOS, watchOS et tvOS. L’écriture de code Swift est interactive et amusante, la syntaxe est concise, mais expressive, et Swift inclut des fonctionnalités modernes. De par sa conception, le code Swift est sûr. Autre point intéressant, il permet de produire une solution qui fonctionne rapidement.

Coder nativement avec Swift, c’est s’assurer d’obtenir les meilleures performances possible pour son application, mais seulement sur les plateformes ciblées par ce langage.

Pour tout savoir sur cette technologie, nous vous invitons à consulter notre article sur les avantages et inconvénients de Swift/SwiftUI

 

Kotlin : le langage Android natif

 

Kotlin est maintenant le langage officiel sur Android. Ce langage est expressif, concis et puissant. Mieux encore, il est interopérable avec l’environnement d’exploitation Android. Tout comme Android, Kotlin est un projet open source sous Apache 2.0. Le choix de Kotlin réaffirme l’engagement de Google envers son écosystème de développeurs.

Coder nativement sur Android vous procurera les meilleures performances possible, mais seulement sur les plateformes supportées.

Pour découvrir les avantages et inconvénients de Kotlin, découvrez le dernier article d’un de nos experts mobile : « Kotlin, le nouveau Java ? »

 

 

Unity

Unity Home Page

Bien plus qu’un simple moteur de jeu, Unity vous fournit tout ce dont vous avez besoin pour créer des expériences mobiles à succès. Unity vous permet de développer votre activité en vous permettant de concevoir des contenus de qualité et d’obtenir l’aide d’une communauté dynamique. L’éditeur permet de réaliser rapidement et facilement des prototypes en vous fournissant un vaste choix d’outils, de services et de méthodologies.

Il est également entièrement extensible, pour vous permettre de répondre à vos besoins de production spécifiques. Unity est multi-plateforme : il vous permet de porter votre projet à la fois sur mobile mais aussi sur desktop et sur de nombreux casques de réalité virtuelle entre autres.

 En savoir plus sur Unity.

 

Unity

 

.NET Android / .NET iOS (ex Xamarin)

 

xamarin-background

 

Depuis le framework .NET 6, créer des applications mobiles iOS et Android est possible en utilisant directement le framework, sans passer par Xamarin. Ce dernier a connu en quelques sorte une intégration de sa technologie, faisant ainsi pleinement partie du framework .NET.

Tout comme pour Xamarin (native, à distinguer de Xamarin Forms) vous avez la possibilité de créer des applications natives sans aucune restriction de fonctionnalité et continuer à partager une base de code commune entre les deux plateformes.

Pour rappel, cela fonctionne de la façon suivante : au niveau le plus bas, le framework expose en C# tout le SDK Android et iOS existant afin que vous puissiez coder dans un seul langage. Cette exposition est obtenue grâce à un mécanisme de Binding automatique qui permet au ramework d’être toujours à jour lors des évolutions d’Android et iOS.

⚠️ Attention, le support de Microsoft à Xamarin prendra fin aux alentour de novembre 2023. Nous vous encourageons à migrer dès que possible, d’autant que la migration est assez simple. Si vous souhaitez vous faire accompagner dans cette migration, n’hésitez pas à contacter les experts mobile Cellenza.

Avec .NET for Android / iOS, vous pouvez continuer à créer des applications de qualité, performante et cross-platform.

 

 

Outils aide choix technologie mobile

 

 

MAUI (ex Xamarin Forms)

xamarin-forms-background

 

Xamarin Forms était une surcouche multi-plateforme de l’interface utilisateur de Xamarin permettant aux développeurs de partager le code graphique entre Android, iOS, macOS, Linux, et Windows avec UWP. Ces interfaces utilisent ensuite les contrôles natifs des plateformes ciblées. Elles ont donc l’apparence des applications créées nativement tout en ayant une excellente réactivité.

En 2022, MAUI constitue une refonte totale en .NET 6 de Xamarin Forms dont elle reprend tous les codes : découvrez les avantages et inconvénients de MAUI.

 

 

PWA (Progressive Web App)

Les PWA ont été introduites en 2015. Parce qu’elles sont plus légères qu’une application mobile ordinaire, elles ont d’abord décollé dans les marchés émergents qui souffrent d’un manque d’infrastructure Internet. Elles ont rapidement suscité un engouement général. Des centaines de spécialistes du marketing mondial les utilisent pour créer des expériences utilisateur mobiles plus homogènes. Les PWA permettent d’offrir des expériences applicatives en utilisant des technologies web. Les consommateurs n’ont pas besoin de trouver ces applications dans les Stores et de les installer. Ils peuvent y accéder à partir de n’importe quel navigateur : Chrome, Safari, Mozilla Firefox…

Les PWA sont très bien prises en charge avec Chrome sur les appareils Android, mais un peu moins sur les appareils sous iOS. Notons que d’année en année, Apple supporte de plus en plus les PWA. On le voit par exemple à travers le support expérimental des push notifications (Push API) sur iOS 15.4.

Nous vous invitons à consulter notre article pour en savoir plus sur les Progressive Web App.

 

 

React Native

 

 

React Native est, comme son nom l’indique, un framework basé sur le populaire React.JS. Il reprend les mêmes principes et les applique au développement mobile natif. Comme son grand-frère, il a une approche orientée composants et états. Lorsqu’un état est mis à jour, la vue se met à jour.

L’utilisation de JavaScript comme langage principal lui a permis de rapidement séduire les développeurs web et de mettre en place le Live-Reload. Le LiveReload est un mode de développement qui envoie chaque modification au mobile sans compilation, faisant ainsi gagner du temps aux développeurs lors de la conception des interfaces graphiques. C’est un concept auquel les développeurs web sont familiers et attachés.

L’utilisation de fonctionnalité natives nécessite l’ajout de plugins, développés dans les langages natifs de chaque plateforme : Objective-C et Java. C’est ici que le bât blesse car les cibles principales de ReactNative sont les développeurs web, qui n’ont souvent que très peu, voire aucune expérience dans ces technologies natives. De même, l’écosystème mobile et ses règles sont fondamentalement différentes du web, ce qui nécessite un certain temps d’adaptation ou la présence de compétences mobiles natives dans les équipes.

 

Flutter

Flutter

 

Flutter est un framework open source créé par Google. Basé sur le langage Dart, il permet de réaliser des applications multi-plateforme parmi lesquelles iOS, Android, Windows et le Web.

Les applications réalisées en Flutter sont compilées directement en code natif afin d’offrir les meilleures performances. Comme React Native, Flutter utilise une approche réactive dans la création de l’interface. Cependant, la comparaison s’arrête là. Flutter offre une expérience réellement native grâce à une compilation en code natif et son moteur écrit en C++ qui lui permet de se passer d’un bridge entre l’os et le Framework pour dessiner les éléments à l’écran, impliquant des performances largement supérieures.

Réaliser une interface en Flutter est un peu comme dessiner sur un grand canevas sur lequel on va afficher son interface graphique grâce au moteur de rendu Skia (moteur graphique de Chrome), accéder grâce au framework aux événements (touch…) et aux services (emplacement, caméra, etc.). Enfin, l’une des caractéristiques les plus populaires de Flutter est son rechargement rapide et dynamique et son support du Live Reload, fonctionnalité très appréciée par les développeurs.

Découvrez les différents avantages et limites de Flutter.

 

 

Arbre de décision : quelle technologie pour créer une application mobile

Maintenant que vous avez un petit aperçu sur certaines technologies pour créer des applications, il est temps de faire un choix. Pour vous y aider, n’hésitez pas à télécharger l’arbre décisionnel créé par les experts mobile de Cellenza.

Il vous permettra de vous guider ou de vous rassurer sur votre choix technologique.

Vous souhaitez approfondir le sujet ? Vous avez un doute sur le choix d’une technologie ? N’hésitez pas à nous laisser un message en commentaires ou à contacter nos experts !

 

Outils aide choix technologie mobile