Créer une WebExtension

Les WebExtensions sont les modules complémentaires (ou add-on) que nous ajoutons à nos différents navigateurs pour leurs ajouter des fonctionnalités. Elles ont l'avantage d'être, de manière générale et avec parfois quelques adaptations, compatibles avec l'API de plusieurs navigateurs comme Chrome, Firefox, Opéra, Edge (oui oui !). Dans cet article, nous allons le créer et le tester en suivant les directives fournies par Mozilla.

Dart: langage alternatif à JavaScript

Dart est un nouveau langage de script lancé par Google qui permet de créer des applications web de petite ou grande envergure. Ce langage tourne dans une machine virtuelle qui sera bientôt intégrée dans Chrome. Pour le moment, Google fournit une version de Chrome nommée Dartium qui intègre cette machine virtuelle.

Ce langage a été présenté comme une alternative à JavaScript lors de la conférence Goto en octobre 2011. L’objectif de Google est de proposer un langage de programmation modulaire pour écrire des scripts web qui comble les lacunes de JavaScript.

En JavaScript, il est possible de réaliser rapidement de petits scripts, mais leur évolution vers des applications web complexes devient vite fastidieuse, difficile à maintenir. Le manque de structure en JavaScript ne facilite pas la lecture du code, ni le débogage.

Google, connu pour son innovation, tente donc de combler les manques de JavaScript en fournissant son nouveau langage. La particularité principale de Dart est qu'il combine les avantages d'un langage structuré tel que Java, tout en gardant la flexibilité de JavaScript.

Tout comme Java, les classes et les interfaces présentent dans Dart encouragent l’encapsulation et la réutilisation. Les concepteurs ont privilégié un typage fort, mais qui reste optionnel. Les développeurs peuvent coder avec la même flexibilité que JavaScript et ajouter le typage par la suite,
Dart est inspiré de nombreux langages notamment de Java, mais la syntaxe a été simplifiée pour faciliter son utilisation.

Google fournit également un ensemble de bibliothèques riches qui accélèrent les développement, ainsi qu'un environnement de développement: le Dart Editor.

Initié par Google puis ouvert à la communauté Open Source, Dart Editor est basé sur Eclipse, il permet de valider, de compiler et d'exécuter le code.

Un site dédié à cette technologie a été mis en ligne : www.dartlang.org.

Pour assurer la compatibilité avec les autres navigateurs, Google fournit un compilateur qui convertir le code Dart en JavaScript (compatible avec Chrome, Safari 5+ et Firefox 4+).

Pourtant malgré ses nombreux avantages, les efforts de Google ne donnent pas à ce jour de résultats. La seule façon de rendre le code utilisable par tous les navigateurs est de convertir le code en Java Script.

Un exemple Dart de type Hello World compile en 17 259 lignes de JavaScript, ce qui n'est pas acceptable, de plus cette approche est fortement découragée par les grands acteurs du marché: Microsoft rend un avis négatif sur le sujet ainsi que Apple.

En parallèle, Mozilla, souhaite lancer une future version de JavaScript qui pourrait intégrer les améliorations apportées par Dart, ce qui serait finalement la solution la plus pérenne.

Finalement, le projet Dart a pour mérite de mettre en lumière les inconvénients de la programmation en JavaScript et d'y apporter une solution concrète, mais son adoption par le marche reste faible, et son avenir très incertain.

Gagner de l’espace disque avec Chrome / Chromium (ou comment ne pas en perdre…)

chrome-chromium-hard-disk.png

Le navigateur Chrome / Chromium a la fâcheuse habitude de conserver l’historique de ses versions sur le système. Utile pour revenir à une version antérieure en cas d’échec d’installation de la nouvelle, ces anciennes versions s’accumulent rapidement et finissent par diminuer votre espace disque. Sachant qu’une version du navigateur fait environ 80 Mo, le calcul est vite fait !