Accueil > Mobile, Objets connectés, Web > Tizen : une nouvelle plate-forme prometteuse… ou un pétard mouillé ?

Tizen : une nouvelle plate-forme prometteuse… ou un pétard mouillé ?

Logo Tizen

Avant de répondre à cette question, précisons ce qu’est Tizen: il s’agit d’une plate-forme logicielle créée par Samsung afin de s’émanciper de la coupe de Google et de son OS Android. Il permet donc de développer des applications sur différents supports (mobiles, tablettes, montres, téléviseurs) en se basant soit sur son langage natif soit sur les technologies du web: HTML5, CSS3 et JS. C’est d’ailleurs cette dernière particularité qui va nous intéresser : elle semble en effet très prometteuse. Mais voyons ce qu’il en est réellement.

Et tout commença par le téléchargement du SDK…

Voici le premier, et sans doute principal défaut de cette nouvelle plate-forme: les outils. En effet, sur le site, après quelques bonnes dizaines de minutes à chercher ledit SDK et sa documentation, on en arrive finalement à une page où, chose surprenante, nous ne pouvons pas télécharger le SDK seul. L’IDE n’est pas au choix de l’utilisateur. Cela peut avoir l’avantage de mettre en place un IDE parfaitement optimisé pour le développement, comme c’est le cas pour le développement iOS avec XCode, mais nous verrons ici que ce n’est pas forcément le cas.

Le lancement de l’IDE.

Nouveau problème : où est-il installé ? Peu clair sur ce point, il nous faut chercher dans l’un des dossiers nouvellement créés (tizen-sdk) et lancer un exécutable nommé savamment « IDE.app » (sous mac). Une version personnalisée d’éclipse démarre. Une question se pose dès qu’il se lance: récemment les développeurs et grosses organisations semblent s’éloigner et bouder eclipse, pourquoi ce choix?… Après, il ne s’agit que d’un choix et de ce côté, il reste viable bien que curieux.

Emplacement de l'IDE

Emplacement de l’IDE

Le fameux Hello World…qui se transforme en montre analogique ?!

Lors de la création d’un nouveau projet ou en allant sur les exemples d’applications pour montre (wearable 2.3 dans mon cas), impossible de trouver le classique Hello World… L’exemple Lambda dans n’importe quelle langage n’existe ici tout simplement pas.

Soit, nous allons donc commencer par un exemple un peu plus complexe, à savoir la montre analogique (exemple nommé AnalogWatch). Le projet se créé et nous découvrons un fichier index.html, un dossier /js et /css qui comprennent respectivement un fichier main.js et style.css. Du grand classique pour le web. Très bien, c’est ce que nous souhaitions.

En les ouvrant, rien de particulier ou d’étrange, tout est compréhensible et c’est tant mieux. Il est temps de lancer l’application sur un émulateur (je n’ai, à ce moment là, pas de montre Tizen). Nous cliquons donc sur le bouton “run” et choisissons “Tizen Web Application”… une erreur apparaît « org.tizen.web.zimlaunch.exception.NoConnectedDeviceException ». 

Error au lancement

Il faut donc lancer une machine virtuelle, cette dernière ne se lançant pas automatiquement. Après une recherche assez longue sur internet, je comprends qu’il faut utiliser l’outil  «connection explorer» . Un choix surprenant, on s’attend en effet à un outil qui détecte les devices connectés et non pas un outil pour lancer les émulateurs (nom étonnamment choisi… Emulator explorer aurait été plus clair). Enfin ce n’est pour le coup qu’un avis.

Après paramétrage de la VM et de son lancement (aussi long que la VM Android), il est temps de relancer l’exemple… et encore une erreur. Cette fois c’est une histoire de security profile qui n’est pas configuré. Après la création de ce dernier, très simple, on relance l’application et ça marche !!! Parfait, la montre affiche un beau cadran qui n’est pas à l’heure mais c’est déjà un bon début. Malheureusement, l’application crash dès que la montre se met en veille. Décidément… Après cela peut être dû à l’utilisation de l’émulateur…

La montre marche bien...

La montre marche bien…

... mais bug aussi

… mais bug aussi

Un exemple plus concret : le HRM sur une montre GearS

Maintenant qu’un exemple basique tourne sur l’émulateur, il est temps de tester sur un vrai device (une montre GearS m’a été prêtée) avec une fonction plus intéressante de la montre : le capteur de rythme cardiaque (HRM “Heart Rate Meter” pour les intimes). Nous ne voulons pas faire quelque chose de trop compliqué, juste tester la fonctionnalité et afficher un simple label qui contient cette mesure.

Après recherche dans la documentation (encore en cours d’évolution), j’arrive sur la page qui m’intéresse : à savoir les signatures des fonctions écrites en Tizen (lien). Je me lance donc dans la création du dit exemple et c’est assez simple au final. Nous arrivons rapidement au déploiement sur la montre. Une erreur survient et il nous est demandé de créer un certificat.  Et c’est pour le moins contraignant. Il faut passer par trois étapes qui demandent des allers/retours avec Samsung afin de récupérer différents fichiers de signatures. Sachant que cette étape doit être reproduite à chaque modification de privilège…  c’est sans doute le point le plus problématique de ce kit de développement : le processus de signature est long et gagnerait à être simplifié.

Une fois l’application créée,il est enfin temps de tester la fonctionnalité et tout marche parfaitement !!

Concernant la GearS

L’un des avantages les plus flagrants de la GearS est qu’elle embarque directement une carte SIM ce qui lui permet d’envoyer des SMS et de passer des appels sans l’intermédiaire d’un téléphone. La où le bât blesse, c’est qu’à l’heure actuelle, il n’est pas possible de l’utiliser de manière totalement autonome, car pour télécharger et installer de nouvelles applications sur la montre, il faut passer impérativement par son téléphone (forcément un Samsung bien entendu). Un choix surprenant et à contresens avec le volonté de rendre la montre indépendante.
De même, d’après la documentation, de nombreuses fonctionnalités semblent n’être disponibles qu’avec des développements natifs. Notamment l’envoie de SMS qui nous intéressait particulièrement et la géolocalisation qui ne fonctionnait pas lors de mes tests. Voici la liste des fonctionnalités proposées par l’api web. Il manque donc un certain nombre de fonctions très intéressantes mais le SDK est encore en évolution et après avoir demandé au Tizen Lab (du 28 février 2015), il semblerait que l’accès au SMS notamment soit prévu d’ici peu (les développeurs Tizen disaient que ce serait fourni sous peu…ce n’est toujours pas le cas).

Logo Tizen DevLabs

Logo Tizen DevLabs

En conclusion

On peut dire pour le moment que Tizen n’est pas prêt du tout à concurrencer les deux acteurs majeurs sur le marché, à savoir AndroidWear et watchOS. Son système de certificat rend le processus lent et contraignant, certaines features manquantes lui font perdre les principales particularités de ses devices et son IDE ne semble pas encore au point avec des messages d’erreurs floues voir incompréhensibles. Ajouter à cela une communauté quasi inexistante et nous voilà avec une plate-forme casse-tête pour le développeur lambda qui se retrouve bloqué très rapidement. Dans le secteur, une communauté peu existante entraîne une faible croissance du nombre de développeurs et donc un essoufflement rapide de cette dernière dès son lancement.

En trois mots : prometteuse mais décevante.

  1. Pas encore de commentaire
  1. Pas encore de trackbacks


+ 3 = douze