Intel® XDK : la nouvelle voie vers des applications universelles ?

Dans un monde où les terminaux alternatifs hétérogènes se multiplient (du smartphone à la tablette en passant par la fameuse phablette), le développement multiplateforme est devenu le nouveau Graal de l’IT !

Il est en effet économiquement, humainement et logistiquement difficile de systématiquement développer deux fois (ou même plus) la même application avec des technologies natives très différentes.

Devant ce besoin ont émergé plusieurs solutions de développement multiplateformes, telles que par exemple Appcelerator Titanium ou plus récemment Xamarin.

Certaines de ces solutions, notamment PhoneGap / Cordova, s’appuient fortement sur les technologies web (HTML5, CSS3 et JavaScript) pour produire ce que l’on appelle communément des applications mobiles hybrides.

C’est également le cas de l’Intel XDK, le kit de développement multiplateforme complet proposé par Intel depuis le printemps dernier (2013).

Le XDK qu’est-ce que c’est ?

Pour faire bref, le XDK d’Intel, c’est tout ce qu’il vous faut pour écrire vos applications une seule fois avec le “tryptique technologique” HTML5 - CSS3 - JavaScript et les déployer sur la plupart des plateformes courantes.

Concrètement, le kit d’Intel propose, entre autres, les outils suivants :

  • Un environnement de développement intégré

  • Un émulateur de terminaux mobiles

  • Un dispositif de déploiement rapide sur terminaux physiques

  • Un système packaging et de publication d’application

  • Des APIs multiplateformes

  • Un framework de développement web

  • Un designer d’interface utilisateur

  • Un accès à des services cloud pour la production

A noter que l’environnement de développement intégré du XDK permet d’accéder directement tous les autres outils.

Et pour ne rien gâcher, le XDK est gratuit et s’installe sur à peu près n’importe quelle machine de développement tournant sous Mac OSX, Windows 7-8 ou Linux !

L’environnement de développement intégré

L’environnement de développement intégré proposé, bien qu’il soit assez rudimentaire, a l’énorme avantage d’être léger et simple d’utilisation.

Il intègre Bracket pour l’édition de code source et propose des assistants, des exemples de projet et un accès direct à la documentation en ligne du XDK. A noter que les assistants et l’aide, pour l’instant uniquement en anglais, sont plutôt clairs et pertinents.

Il faut garder à l’esprit qu’il n’y a rien qui contraint à utiliser l’éditeur intégré. Les aficionados de SublimeText ou de WebStorm pourront continuer à utiliser leur éditeur de source préféré.

L'émulateur

L’émulateur proposé permet de simuler la webview des différents terminaux cibles en ajustant les paramètres d’affichage comme la résolution, la densité de pixel ou le user-agent. Il permet également de simuler la position GPS renvoyée par le mobile ou le type de connexion.

A noter cependant qu’il s’agit là d’un émulateur web léger et qu’il ne simule pas les couches matérielles basses des terminaux. Il ne propose donc pas le même niveau d’émulation que des émulateurs dédiés à une architecture matérielle comme le simulateur iOS d’XCode ou encore. Ceci dit, cet émulateur reste un outil très pratique et plutôt bien ficelé. De plus, la liste des terminaux émulés est assez large :

  • Apple iPad

  • Apple iPhone 3GS

  • Apple iPhone 4S

  • Apple iPhone 5

  • Google Nexus 4

  • Google Nexus 7

  • HTC Droid Incredible

  • Lenovo K900

  • Microsoft Surface Pro

  • Motorola Droid 2

  • Motorola RAZR i

  • Nokia Lumina 920

  • Nook Color

  • Samsung Galaxy S

  • Smsung Galaxy Tab 2 7.0

  • Toshiba Satellite Ultrabook

Test sur terminaux mobiles avec Intel App Preview

App Preview permet tester rapidement vos apps sur un terminal physique sans avoir à passer par les (trop) longues phases de construction puis d’installation sur le mobile.

L’opération de déploiement sur AppPreview  se fait en deux étapes :

  1. d’un clic l’environnement de développement synchronise les éléments web de votre app (c’est à dire le code HTML, CSS3 et JavaScript) avec les serveurs cloud d’Intel

  2. depuis l’app native App Preview préalablement installée sur votre terminal, vous lancer la synchronisation entre les serveurs cloud Intel et les fichiers locaux de l’application native Intel App Preview

Ainsi vous pouvez accéder à toutes vos applications XDK depuis votre terminal mobile directement via l’application Intel AppPreview qui tient le rôle de conteneur générique d’application hybride. Le système est astucieux !

Cerise sur la gâteau, le dispositif vous permet de faire du debugging distant.

A noter qu’il vous faudra ouvrir un compte (gratuit) sur le portail Intel pour accéder à ce service.

Packaging

Depuis l’onglet “Build”, vous pourrez construire une application prête à la publication pour les plateformes mobiles suivantes :

D’autre part il est aussi possible de cibler des formats webapp depuis cet onglet de build :

  • Webapp classique (norme W3C)

  • Webapp Chrome

  • Webapp Facebook

Comme pour l’App Preview, le processus de build fait appel à un service cloud distant, ce qui dispense d’installer les SDK propre à chaque plateforme en local (et ainsi dispense d’un Mac pour cibler la palteforme iOS), mais nécessite une connexion Internet !

Tout ça n’est pas sans rappeler le service PhoneGap Build proposé par Adobe.

APIs multiplatformes compatibles Cordova

Pour permettre d’accéder à l’ensemble des capacités des terminaux mobiles (GPS, accéléromètre, contacts, appareil photo etc.), le XDK propose un jeu d’APIs JavaScript assez complet :

  • accelerometer

  • cache

  • camera

  • canvas

  • contacts

  • device

  • display

  • facebook

  • file

  • geolocation

  • multitouch

  • notification

  • oauth

  • player

  • playingtrack

La (très) bonne nouvelle est que ces APIs sont compatibles avec celles de PhoneGap / Cordova, ce qui doit devrait normalement permettre de migrer sans douleur des applications (ou seulement des snippets de code) de Cordova vers XDK et vice versa.

Ce choix d’Intel mérite d’être salué et offre une belle garantie supplémentaire de maintenabilité et d’évolutivité pour les applications développé sous le XDK.

Framework web Intel App Framework

L’Intel App Framework est un framework web dédié mobile qui se veut léger et rapide, et qui se décompose en deux parties :

  • Un “query selector”

  • Un ensemble de composants UI/UX évolués

D’autre part, le framework dispose d’un système de plugin qui le rend extensible. Il existe d’ailleurs un plugin permettant l’intégration de jQuery avec l’Intel App Framework.

A noter que le XDK, n’impose pas d’utiliser le framework Intel App Framework pour la réalisation des développements, rien ne s’oppose à utiliser jQueryMobile ou Sencha Touch comme framework et de profiter du XDK pour tout le reste !

L'App Designer et son petit frère App Starter

L’environnement de développement propose également App Designer, un designer d’interface utilisateur “point and click”, bien sur compatible avec l’Intel App Framework mais aussi avec les frameworks Topcoat, Bootstrap 3 et jQueryMobile.

A noter qu'il existe également App Starter, qui est un designer en ligne utilisable depuis son navigateur web, indépendamment du XDK. Cependant App Starter ne supporte pour sa part que le framework Intel App Framework.

Services cloud

Depuis le dernier onglet “Services”, il est possible d’activer et d’utiliser des services cloud destinés à accompagner l’application après sa mise en production. Il s’agit en fait des services d’AppMobi, racheté par Intel en février 2013, notamment  :

  • 1Touch (prise en charge des paiements de type in-app),

  • Live Update (notification des mises à jour),

  • PushMobi (retourner des alertes aux mobinautes),

  • StoreView (analyse des performances d'un store)

Et maintenant ?

Le XDK est jeune et doit donc faire ses preuves, cependant certains éléments sont d’emblée assez séduisants :

  • Le XDK propose une suite d’outils complète qui couvre l’ensemble des tâches et phases d’un projet de développement multiplateforme et c’est à ma connaissance le seule suite intégrée à proposer gratuitement un tel niveau de couverture

  • Le XDK n’enferme pas le développeur : il est libre d’utiliser uniquement les outils de XDK qu’il apprécie et remplacer les autres par des briques tiers de son choix. La compatibilité avec les APIs Cordova est une marque supplémentaire de cette ouverture

  • Contrairement à l’idée que l’on peut se faire d’une suite logicielle issue d’un grande société, le XDK est léger :-)

Je vais moi-même pendant les prochains mois mettre le XDK à l’épreuve de projets concrets et je ne manquerai pas de vous faire des retours dans ces colonnes ou d’autres.

D’ici là bonne découverte du XDK, et n’hésitez pas à partager vos premiers retours d’expérience dans les commentaires de cet article !

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.