Lundi 11 décembre 2017
NASDAQ : 0.0 0   nasdaq0 %
RECHERCHE
OK
 
NEWSLETTER
newsletter
Abonnez-vous gratuitement
à notre newsletter
hebdomadaire - Cliquez ICI
Indexel
  • DOSSIERS
  • PRATIQUE
pub Publicité
 

APPLICATIONS

Développer des applications multisystèmes

Imprimer Envoyer à un ami Contacter la rédaction
Par Thierry Lévy-Abégnoli le 11/05/2011 - indexel.net
 
Developper-application-multisystemes

L'iPhone a longtemps constitué la priorité des développeurs d'applications mobiles. Avec la montée en puissance de la concurrence, il devient nécessaire de cibler plusieurs systèmes. Les premiers outils arrivent mais le principe fait débat.

 

Avec la montée en puissance d'Android, BlackBerryOS ou Windows Phone 7, la nécessité de porter les applications mobiles sur plusieurs systèmes multiplie leur coût. Les outils de développement multisystème constituent une solution logique. "Mais il est difficile d'être à la fois dans l'esprit de l'iPhone et dans celui d'Andoid dont l'ergonomie est assez différente", estime Bruno Marchesson, directeur technique chez Valtech.

Mutualiser les développements

Cecile-Chassagne-Quai-BranlyChargée du web au musée du quai Branly, Cécile Chassagne (photo) est sceptique sur le sujet. Ce musée a développé plusieurs applications sur iPhone et iPad, dont la plus simple, un digest des informations du site web, vient d'être déclinée sur Android. "Une application commune aux deux systèmes réduirait la qualité de l'expérience utilisateur", considère Cécile Chassagne (photo). Elle estime qu'il vaut mieux développer sur chaque système. "Mais c'est deux fois plus cher", rétorque Bruno Marchesson, finalement partisan d'une certaine mutualisation des développements. Des solutions open source ou signées Adobe et Novell oscillent entre une mutualisation partielle et totale.

PhoneGap : une approche basée sur HTML 5

HTML 5 casse la frontière entre les systèmes mais les applications ne sont alors accessibles que dans le navigateur. La librairie open source PhoneGap permet toutefois d'encapsuler un code HTML5 dans une application. Celle-ci est pseudo-native dans la mesure où elle utilise toujours le moteur du navigateur afin d'interroger un site web, mais sans que l'utilisateur en ait conscience. Le mode déconnecté est même possible si le navigateur le supporte. "Cette méthode est adaptée à 80 % des applications, surtout celles qui font du push d'information ou même qui délivrent des contenus vidéo", explique Bruno Marchesson. Mais elle ne permet pas d'exploiter le système de fichiers du mobile. De plus, les performances sont moins bonnes que pour une véritable application native. 

David Deraedt"Les APIs de PhoneGap donnent accès à certaines fonctions spécifiques aux différents mobiles, comme la géolocalisation, la caméra ou l'accéléromètre", note toutefois David Deraedt (photo), consultant avant-vente pour le web, Flash et HTML, chez Adobe. Cet éditeur vient en effet d'intégrer PhoneGap dans son outil Dreamweaver CS 5.5.

Titanium : une technologie tactique

Bruno MarchessonDéjà connu dans les mondes Mac et PC, l'environnement open source Titanium permet pour sa part de développer une application en code JavaScript à partir duquel il génère un code natif pour iPhone, Android ou BlackBerry. Des mécanismes différents selon le système peuvent être spécifiés, comme des boutons ou une barre de notification. "L'exécutable est plus lourd qu'un véritable code natif mais pour l'utilisateur, le rendu est natif", explique Bruno Marchesson (photo), tout en jugeant incertaine la pérennité de cette solution.

Monotouch : un compromis entre mutualisation et développement natif

Jean-Baptiste EvainNovell propose deux environnements cousins, basés sur le code du projet open source Mono. Avec Monotouch pour Android, on travaille sous Visual Studio, donc sous Windows. Tandis qu'avec la version iPhone, on utilise Mono Develop sur Macintosh. "Considérant qu'il n'y a pas de recette miracle pour développer une seule fois une application, nous avons choisi de proposer deux environnements différents avec un accès natif à toutes les fonctions de chaque système",  explique Jean-Baptiste Evain (photo), ingénieur Mono chez Novell.

Pour autant, l'effort peut être partiellement mutualisé car les versions iPhone et Android reposent toutes deux sur le couple C# / .NET. "Il faut séparer les couches traitements, communication et interface utilisateur afin de réutiliser une partie du code", conseille Jean-Baptiste Evain. Il reste que cette réutilisation sera limitée. "Le code de la partie présentation est complètement différent. Seul bénéfice : un développeur C# n'aura pas besoin d'apprendre Objective C et Java, les langages des outils d'Apple et Google", regrette Bruno Marchesson.

Adobe Air : un développement vraiment multi-OS

Pour sa part, Adobe a fait sienne l'idée d'un développement mutualisé. L'éditeur a en effet intégré le support de l'iPhone, d'Android et du BlackBerry PlayBook, dans sa technologie Flash. Celle-ci permet désormais de décliner un même exécutable Flash sous la forme de différentes applications natives. Adobe a ajouté Flex Mobile, un jeu de composants qui permet de créer rapidement une interface graphique commune à iPhone et Android. "On peut ainsi concevoir une ergonomie assez neutre, ni complètement iPhone, ni complètement Android", explique Bruno Marchesson, qui apprécie ce compromis, ainsi que l'intégration avec la suite Adobe.

Les principaux outils de développement multisystèmes mobiles :

Outil  Fournisseur  Systèmes ciblés  Description 
Librairie Phone Gap  Open source  iPhone et Android   Encapsule un code HTML 5 pour générer une application native mais qui utilise le moteur du navigateur et interroge un site Web.  
Titanium Open source   iPhone, Android et BlackBerry   Compilation d'un code JavaScript pour générer une application native.  
Dreamweaver CS 5.5 Adobe    iPhone et Android  Intégration de la technologie PhoneGap dans Dreamweaver.  
SDK Adobe Air, Flash Professional et Flash Builder   Adobe   iPhone, Android et PlayBook   Développement d'applications Flash en ActionScript. 
Monotouch pour Android Novell Android   Développement en C# sous Visual Studio (donc sous Windows).  
Monotouch pour iPhone Novell    iPhone Développement en C# sous Mono Develop (sur Macintosh) et Apple Interface Builder. 

LIRE AUSSI
 
 
pub Publicité

CloudStack by IkoulaCloudStack by Ikoula

Cloud Computing : Atouts et freins, acteurs du marché, conseils et témoignages