Longue vie à Cordova

La semaine dernière, un sondage express est passé sur twitter pour les développeurs Cordova, pour apprécier leur ressenti sur la techno.

Les questions portent sur la documentation essentiellement, et bien sûr sur le niveau de satisfaction à l’utilisation de Cordova.

Comme à la fin il y avait un champ pour indiquer son email, pour poursuivre la conversation avec l’équipe de dév, j’ai laissé mon adresse.

J’ai reçu dès le lendemain un mail me proposant un RV téléphonique. J’ai apprécié la réactivité de l’équipe, et j’ai encore plus apprécié l’échange.

Le RV s’est passé vendredi à 17h30, avec deux développeurs américains, dont l’un de chez Microsoft. Je suis toujours surprise par l’implication réelle des développeurs de chez MS sur les projets libres. Après tout, cela fait des années que MS parle du logiciel libre comme du grand Satan, et leur récent free/libre-washing ne m’a pas vraiment convaincue. Mais force est de constater que si je continue de me méfier de l’entreprise, j’ai pleinement confiance dans les hommes et les femmes qui la composent (enfin, par au sommet, à la base, bref, les développeurs, quoi 😉 ).

L’échange a duré 45 minutes, en français et en anglais (je pense qu’on est tous sortis épuisés de cette conversation). On est revenu sur les questions sur sondage, notamment la documentation, mais les deux intervenants ont beaucoup insisté pour que j’exprime mes « frustrations » (pour reprendre leur terme) à l’utilisation de Cordova.

Celles-ci ne sont pas nombreuses mais quand j’y repense, ce sont finalement les freins à une adoption plus massive.

L’émulateur

L’émulateur met une plombe à se lancer, et il met 3/4h de plombe à émuler l’appli quand je la relance avec la commande build.

Quand je suis en plein debuggage javascript, à mettre des alert partout, je vois bien que je manque d’outils pour développer, mais en plein dév, on est dans une espèce d’urgence, et on ne prend pas le temps de chercher autre chose, mieux. Donc on soupire, on serre les dents et on patiente.

L’installation

Un point auquel je pense en écrivant cet article, mais que je n’ai pas pensé à mentionné aux développeurs, c’est la difficulté à installer l’environnement de dév. La première fois, cela a pris une journée entière, la 2e fois, une demi-journée (sur un poste différent). J’espère encore gagner un peu de temps la prochaine fois, mais je ne pense pas descendre un jour en-dessous de 3 heures. Il manque toujours un truc : un jdk, un nodejs, un PATH mal configuré… c’est un peu la plaie.

La performance

Même avec une appli très simple, Cordova est *légèrement »* plus lente. Oh, parfois c’est vraiment rien. Mais on *sent* cette différence, et tant qu’on la sentira, les applis natives seront préférées à Cordova.

Somme toute Cordova a encore un peu de boulot, mais manifestement les core-developpers y travaillent. Je ne voudrais pas faire un article qui mentionne uniquement les points négatifs, alors allons-y pour le positif.

La documentation

La doc est bien faite. Vraiment. Complète, avec des exemples. Je lui donne une note de 9/10, pas parce que la perfection n’existe pas mais parce qu’il manque parfois des exemples d’utilisations un peu bâtardes. Ou du moins, des utilisations moins standard. Mais une techno aussi bien documentée, moi je dis que ça vaut le coup de le mentionner.

Les core-plugins

Les core-plugins sont réduits à l’essentiel mais ils suffisent pour développer un projet normalement complexe : manipulation de l’appareil-photo, de la capture de sons et des medias, géolocalisation, file system, accès aux infos du téléphone (du device), gestion de la connectivité, manipulation des contacts, pour ne citer qu’une partie, tout est là.

Bon, sauf les push notifications, qui sont désormais en standard dans à peu près toutes les applis, et qui deviennent donc indispensables.

L’éco-système de plugins

Et justement, des plugins de push notifications, il en existe plein ! ainsi que d’autres, beaucoup beaucoup d’autres, pour faire à peu près tout ce que vous voulez : manipulation du calendrier natif, scan de code-barres, NFC, Bluetooth, … plus de 600 plugins existent à ce jour.

En conclusion

Cordova est un bon environnement pour développer une appli. Facile à prendre en main, multi-plateforme, maintenu à un ryhme appréciable, avec un éco-système encore un peu light mais qui progresse, et bien sûr, libre (licence Apache 2.0). Le fait qu’il soit porté par la fondation Apache et non par un éditeur lui assure un futur chargé de promesses.