samedi 30 novembre 2013

[Chrome Apps] Spark pour construire une Chrome App en un éclair

C'était il y a plus de 10 jours, le 21 novembre dernier, que +François Beaufort dévoilait l'existence de Spark, un IDE développé par l'équipe Chromium sous la forme d'une application Chrome.

Un projet open source, disponible sur GitHub
J'ai d'abord hésité à relayer l'information car le projet en est encore au stade "pre alpha", mais finalement il y a pas mal de choses à dire là-dessus. Spark va s'appuyer sur 2 technologies majeures et avant-gardistes: Dart et Polymer

Le SDK 1.0 est enfin lancé
  • Dart : Mieux structuré et plus performant que JavaScript
Lancé en Octobre 2011, Dart est un nouveau langage de programmation développé par Google afin de remplacer JavaScript. L'objectif premier est de structurer et simplifier la programmation d'applications web en la rendant au passage plus performante.

Le projet est notamment piloté par Lars Bak, ingénieur danois à l'origine du moteur d'interprétation JavaScript V8. En gros, si Chrome est aussi rapide aujourd'hui, c'est en grande partie grâce à lui.


En programmant avec Dart, non seulement la syntaxe du code est plus compacte, compréhensible et structurée que JavaScript, mais le moteur d'interprétation exploite également mieux les capacités des nouveaux processeurs. 

Enfin, une application écrite avec Dart peut non seulement tourner sur Chrome, mais aussi sur les autres navigateurs car une traduction vers JavaScript est automatiquement générée. 

Dart est passé en version stable 1.0 le 14 novembre dernier. Il est utilisé pour la construction de Spark. En revanche, je ne sais pas si le nouvel IDE permettra de programmer en Dart. Vous me suivez?

Une implémentation de la spécificaiton Web Components
  •  Polymer : Pour construire une application avec des widgets
Polymer est une implémentation du standard W3C, en cours d'écriture, nommé Web Components. Sans rentrer dans le détail du document, disons que Polymer permet de simplifier la création d'applications web en mettant à disposition un ensemble d'éléments. Par exemple, des dépliants, des cartes ou des menus

Tout cela peut déjà être construit à grand renfort de JavaScript et CSS. L'idée des Web Components est d'encapsuler la complexité du code dans des éléments qui peuvent alors être invoqués aussi facilement qu'un formulaire HTML


Pour que cela soit plus clair, vous pouvez aller directement à la 14e minute de la vidéo ci-dessus qui fait la démonstration d'un constructeur d'interface graphique piochant dans une bibliothèque de widgets.

Spark proposera très probablement à terme une interface similaire. Google nous permet déjà de monter un site web très facilement grâce à Google Sites. Demain, pourra-t-on construire aussi facilement une Chrome App avec Spark?

Je suis preneur en tout cas. Mon rêve est de pouvoir construire mes propres applications, adaptées à mes besoins spécifiques. Cela pourrait devenir réalité si Google réussissait à faire de Spark un outil de développement abordable par des gens avec très peu de notions de programmation.