Electron permet de construire des applications de bureau multi-plateformes avec les technologies du web (HTML, CSS et JS). Il était initialement développé par Github pour son éditeur de texte Atom et est maintenant un projet à part entière. Il vient d'atteindre la version 1.0, signe d'une certaine maturité.
D'un point de vue technique, une application Electron se compose de 2 parties : un processus principal et une (ou plusieurs) fenêtre(s). Le processus principal est un node.js et il sert à contrôler l'application. Il peut lancer une ou plusieurs fenêtres, qui ne sont rien d'autres que le navigateur Chromium dépouillé de son interface. Les processus peuvent communiquer entre eux via un système d'IPC.
Electron offre une intégration avec les trois principaux systèmes d'exploitation (Linux, OSX et Windows), que ce soit pour les icônes de lancement, la tray icon, les notifications, la gestion de l'énergie, etc. Il vient également avec certains outils. On peut citer devtron, un complément à l'inspecteur de Chromium qui simplifie le développement, spectron, un framework de tests, ou encore electron-builder pour faire des installeurs et mises à jour automatiques.
Electron souffre toutefois de certaines limitations. Embarquer Chromium et Node.js veut dire que la moindre application pèse plus de 100 Mo. L'intégration avec les différents systèmes d'exploitation est encore incomplète et fonctionne parfois de manière déroutante (la tray icon qui ne s'affiche pas dans certains environnements par exemple). Electron-builder est très compliqué à mettre en place pour de la cross compilation. Espérons que Github continuera à travailler pour améliorer tout ça.
Il existe déjà de belles applications avec Electron :
- J'ai cité Atom, l'éditeur de texte de Github.
- Dans un style très proche, Microsoft a utilisé Electron pour Visual Studio Code.
- Nylas N1 est un client de courriel.
- Web Torrent Desktop permet de visionner des films depuis un torrent en cours de téléchargement (c'est un portage de la version web qui permet également de faire passerelle entre les deux).
- Black Screen est un terminal pour le 21e siècle.
Et j'espère pouvoir vous parler d'une autre application Electron bientôt.
Aller plus loin
- Annonce de la sortie de la version 1.0 d'Electron (330 clics)
- Site officiel d'Electron (1070 clics)
- Awesome Electron, une compilation de liens sur Electron (252 clics)
# Mozilla's Tofino
Posté par aurel (site web personnel, Mastodon) . Évalué à 3.
C'est aussi Electron qui est utilisé par Mozilla pour son projet Tofino, travail exploratoire autour de l'interface utilisateur des navigateurs (source anglophone).
Le lien entre electron et chromium, et donc entre tofino est chromium, est perçue par certains comme un signe inquiétant concernant les principes et les bases techniques historiques de Mozilla.
[^] # Re: Mozilla's Tofino
Posté par aurel (site web personnel, Mastodon) . Évalué à 3.
Autre application, le tout récent Whatsapp Desktop.
[^] # Re: Mozilla's Tofino
Posté par atalargo . Évalué à 5.
On peut trouver aussi les clients desktop de Slack et son équivalent libre Mattermost
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.