Navigate Space

La liste d'utilisateurs n'est pas rendue car vous ne possédez pas les droits d'accès nécessaires pour afficher les profils utilisateur.
Pages enfant
  • Frameworks mobiles cross-platform

Vous regardez une version antérieure (v. /wiki/display/PROJESUPMOBILE/Frameworks+mobiles+cross-platform) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 3) afficher la version suivante »

Une application cross-platform, en opposition à une application native,  est une application qui une fois développée est capable de s’exécuter sur plusieurs plates-formes comme Android, iOS, ou encore Windows Phone. Dans l'idéal on ne développe qu'une seule fois et on exécute partout. Ce qui n'est pas tout à fait vrai, on mutualise une grande partie du code mais jamais la totalité. Les applications cross-platforms sont généralement développées à l’aide des technologies web, à savoir le HTML, le CSS et le JavaScript.

Tout n'est évidemment pas parfait, on reproche souvent aux applications cross-platform, bien que ça soit de moins en moins vrai, d’être moins performantes que les applications natives. En réalité, tout dépend de la complexité et des fonctionnalités de votre application. L'autre chose que l'on reproche souvent, c'est d'être moins immersives d'un point de vue purement graphique. En effet les guidelines graphiques d'une application Android, iOS et Windows Phone sont très différentes ce qui permet de les identifier au premier coup d'oeil. Dans le cas d'une application cross-platform, on a souvent tendance à créer un design standard qui sera exactement le même pour toutes les plates-formes.

  • Apache Cordova (ex PhoneGap)
  • Titanium
  • Sencha
  • Xmarin
  • Ionic
  • React

Apache Cordova (ex PhoneGap)

Surement le plus connu des outils cross-platform car également un des plus simple d'utilisation. En effet l'écriture d'une application Cordova se fait en HTML, JavaScript et CSS. L'outil s'occupe ensuite d'encapsuler ce code dans une WebView et génère une application native qui sert de conteneur pour lancer la WebView. De plus, et c'est là tout l'intérêt de Cordova, le JavaScript peut accéder aux fonctionnalités native du mobile (contacts, photos, notification...), ce que les applications web classiques ne peuvent pas. 

Pour

  • Développement en langage web donc pas de nouveau langage à apprendre, vous êtes déjà prêt à commencer !
  • Cordova utilise une architecture en plugin pour les accès aux fonctions natives. C'est à dire qu'il suffit de piocher dans une bibliothèque les plugins dont nous avons besoin pour rajouter des fonctionnalités.
  • Open source et gratuit, que demander de plus ?
  • Supporte avec plus ou moins de fonctionnalités quasiment tous les OS mobile (iOS, Android, FfOS, BB, WP...)
  • Produit mature, un des premier dans ce secteur, et toujours là.

Contre

  • Les développeurs devront prêter particulièrement attention aux performances, ainsi qu'à la bonne adaptation de leur UI aux mobiles.
  • La majorité des modules dépends de la communauté, il peut arriver que certain plugins ne s'exécutent pas sur un OS en particulier, ou ne soit plus à jour.

Titanium

Titanium est un acteur de longue date dans le développement cross-platform. Il a subit beaucoup de mutations avant de devenir ce qu'il est aujourd'hui, une plateforme complète d'outils et services pour le développement d'applications native. Titanium utilise Alloy, un framework MVC, les modules créés ainsi sont facilement réutilisables dans différentes apps, réduisant le temps de développement. Tout le code est écrit en JavaScript, celui est combiné avec l'API Titanium afin d'être interprété en tant que code natif dans l'environnement d'exécution du mobile. Titanium n'utilise pas de WebView comme ses concurrents. L'interface de l'application est 100% native et vous pouvez accéder aux fonctionnalités natives du mobile.

Pour

  • L'outil Titanium de base est open source -- ce n'est pas très clair, dans leur option commercial il est écrit qu'il faut un compte payant pour pouvoir déployer -- ...
  • Supporte iOS, Android, Windows Phone
  • Utilisation de l'UI natif de chaque OS, ce qui se traduit par une rapidité / fluidité des interfaces et un visuel adapté à chacun.
  • Apps réellement natives

Contre

  • ...cependant pour bénéficier de tous les outils de la plateforme Appcelerator (push, statistique, tests unitaires), il faut payer !

 

 

  • Aucune étiquette