Applications mobiles – Titanium, PhoneGap, Xamarin : lequel choisir? Lequel utiliser?

Dans un objectif concurrentiel  certain et une adaptation rapide au marché, les petites et moyennes entreprises se posent actuellement les mêmes questions : Utiliser un outil « cross Platform » pour le tout en un ou développer chaque application avec les outils natifs pour une grande marge de manœuvre en ce qui concerne les performances et les optimisations.

De ce fait entre en jeu le budget, le temps nécessaire à la mise en place, les compétences sous le nez,…qui pourront à tous être des indicateurs à prendre en compte pour la prise décision.

Le marché du mobile est actuellement fortement dicté par les appareils iOS, Android et Windows. Une entreprise qui souhaite développer une application aura au moins besoin d’être présent sur  ces trois plates-formes. L’approche standard que les entreprises privilégient est le choix du natif. Toutefois, les spécificités de chaque environnement obligent à obtenir des kits de développement logiciel et des outils de chaque plate-forme respectif, embaucher des développeurs de chaque plate-forme, de créer des bases de code multiples et d’adapter exclusivement le design pour chaque plate-forme.

Compliqué! Vous me direz tout ça. Dès lors il devient de plus en plus judicieux de suivre ce que les entreprises modernes et les développeurs d’applications disent «écrire une fois et exécuter partout». Avec le développement cross plate-forme, il est possible de développer des applications qui peuvent être déployés sur plusieurs stores (ios, android, windows, …). Avec le développement cross plate-forme, vous pouvez réduire le coût de développement en dessous du seuil de la somme totale des coûts de développement natifs pour chaque plate-forme.

Faisons une plongée en profondeur sur PhoneGap, Titanium et Xamarin et essayons de trouver celle qui vous convient le mieux.

  • PhoneGap

Adobe PhoneGap ou seulement PhoneGap est un framework destiné à faciliter la création d’applications mobiles pour différentes plateformes – Android, iOS, Windows Phone. Développé par Adobe Systems, il est basé sur Apache Cordova et distribué sous licence open-source.

Les applications qui en résultent sont hybrides, ce qui signifie qu’elles ne sont ni vraiment natives, ni purement basées sur les langages HTML, CSS et JavaScript.

Avantages

  1. Des APIs natives petites et simples permettant une portabilité aisée sur différents environnements.
  2. Haute réutilisabilité avec HTML5, CSS et JavaScript.Le code de la page Web peut être transformé rapidement en page native.
  3. Prend en charge toutes les plateformes et systèmes d’exploitation que sont iOS, Android, Windows Phone 8, Blackberry, Firefox OS et Ubuntu.
  4. Les développeurs qui sont habitués à HTML/CSS/JavaScript, trouvent qu’il est facile de commencer à travailler avec PhoneGap.

Inconvénients

  1. Moindre performance des applications en comparaison des applications natives.
  2. Beaucoup trop de bibliothèques et de frameworks de niveau basic.
  3. Interface utilisateur qui varie en fonction de la qualité de du rendu Web.
  • Titanium

Titanium est une plate-forme de développement basée sur JavaScript. En cela, il utilise JavaScript pour écrire des codes d’application avec des API natives et les conventions de l’interface utilisateur de chaque plate-forme. Cela signifie qu’il ne cherche pas à accomplir la notion de «écrire une fois et exécuter partout», mais il tente d’écrire des applications réutilisant JavaScript avec des caractéristiques et des performances spécifiques à la plateforme.

Titanium demande un effort de prise en main plus important que Xamarin et PhoneGap. Il est nécessaire d’apprendre à connaitre l’API de l’interface utilisateur de chaque plate-forme au-delà de JavaScript. Titanium supporte actuellement seulement Android et iOS. Dans la dernière version de l’API, Windows Phone commence à faire ses premiers pas.

D’ailleurs j’ai eu à utiliser Titanium pour le développement des applications SeneNews pour Ios et Android. Mais il faut bien noter que Titanium est beaucoup plus optimisé pour IOS que sur Android.

Avantages

  1. Meilleure performance en raison de l’utilisation de l’API native, qui donne également accès à des éléments et caractéristiques d’iOS et d’Android
  2. Le look and fill des applications Titanium est meilleur que les applications construites sur d’autres plateformes puisque l’interface est essentiellement native
  3. Avec Javascript, il assure un développement rapide et facile

Inconvénients

  1. Pas de support pour des bibliothèques tierces
  2. Difficulté à développer des applications complexes
  3. Comme il ne pas utiliser HTML5 et CSS, les animations et les éléments DOM sont moins sensibles et peuvent avoir des temps de réaction plus importants.

Xamarin

Xamarin, appelé à l’origine MonoTouch est un autre cadre multiplateforme qui est arrivé sur le marché du développement avec son propre IDE. Il fonctionne sur C# dans le cadre de .NET et permet de créer des applications natives en utilisant les API et les interfaces de chaque plate-forme native.

Xamarin est livré avec Xamarin.Forms bibliothèque qui  permet d’écrire des interfaces natives pour une fois, puis de les partager et de les convertir pour les autres plate-forme spécifiques. Xamarin prend actuellement en charge iOS, Android et Windows. Il permet également le développement d’applications pour Blackberry en compilant les applications Android.

Avantages

  1. Xamarin utilise TestCloud qui permet de tester des applications automatiquement
  2. Fournit le code 100% de réutilisable pour le développement de l’interface utilisateur en utilisant Xamarin.Forms qui fournit une base de code et une logique commune. Cela permet d’économiser beaucoup de temps et de ressources
  3. Prise en charge des modèles comme MVC et MVVM
  4. Xamarin.Android supporte les périphériques Google verre, Android Wear, et Firephone
  5. La courbe d’apprentissage est relative. Avec des compétences C#, il est relativement facile de commencer avec Xamarin.

Inconvénients

  1. Ne donne pas accès à certains contrôles d’interface utilisateur spécifiques Android.
  2. des Impacts sur le temps de chargement vu qu’il utilise son propre runtime.
  3. Ne supporte pas le partage de codes en dehors de l’environnement Xamarin pour du natif ou de l’HTML5

En gros voilà quelques indicateurs qui peuvent être étudiés avant de commencer le développement de vos applications mobiles. En règle générale le choix final se fait en fonction du besoin et des caractéristiques du projet.

*** Merci à Cygnet InfoTech pour le partage des informations

A propos de l'auteur

Massamba KANE
Massamba KANE

Récipiendaire des Calebasses d'OR 2015 dans le domaine des Nouvelles Technologies de l'information au Sénégal, ce trophée distingue les compatriotes sénégalais qui sont les plus remarqués dans leur domaine d'activité. Je suis diplômé de l'EPITA (Ecole pour l'informatique et les technologies avancées) en spécialisation MTI (Multimédia des Technologies de l'Information). Je partage ici l'ensemble des éléments qui pourront servir au développement de l'activité numérique au Sénégal.

Un commentaire

Donner un avis

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous devez utiliser ces balises HTML

Copyright © 2015. Created by Kane Fx