Le DevFest 2016 de Nantes, ce sont des conférences, des stands mais c'est aussi l'occasion de découvrir et pratiquer de nouvelles technologies autour de "codelab".
Cette année, un codelab était organisé autour d'Electron par Philippe Charrière (GitHub), Yvonnick Frin et Eric Briand (Zenika).
Présentation
Qu'est-ce que Electron ?
C'est une technologie permettant de développer des applications desktop en utilisant celles utilisées habituellement pour réaliser des sites web (HTML, CSS, Javascript).
Electron a été créé initialement par GitHub lors du développement de l'éditeur de texte "Atom" puis est ensuite passé open-source en juillet 2014.
Il intègre NodeJs et Chromium associé au moteur V8 de Javascript.
L'avantage est donc que l'on peut utiliser son framework Javascript favori et que l'on a pas à développer une application compatible avec tous les navigateurs du marché mais uniquement Chrome.
Pourquoi faire une application desktop aujourd'hui ?
Même en 2016, il est parfois encore utile d'avoir une application desktop pour certaines utilisations.
En effet, une application desktop a des avantages :
- Travail hors connexion (Éditeur de texte, ...)
- Indépendant des navigateurs internet
- Accès aux fonctionnalités de l'OS (Notification, système de fichier, ...)
- Coté rassurant de posséder l'application
Quel est l’intérêt d'utiliser Electron par rapport à un développement desktop natif ?
- Profiter de la forte communauté et des nombreux frameworks existants autour des technologies web
- Simplicité du développement
- Multi-plateforme (Windows, MacOS et Linux)
- Performances équivalentes au natif
Principes de fonctionnement
Architecture type d'une application
Le schéma ci-dessous résume l'architecture typique d'une application sous Electron.
- Le Main Process est comme son nom l'indique le processus principal, c'est lui qui va instancier les autres processus (Renderer Process), accéder au système et réaliser les plus gros traitements.
- Les Renderer Process servent à gérer les fenêtres et les interactions avec les utilisateurs.
- Les IPC (Inter-Process Communication) servent à la communication entre le Main Process et les Renderer Process.
Fonctionnalités utiles
Plusieurs fonctionnalités pratiques peuvent être intégrées facilement grâce à Electron :
- Mises à jour automatiques
- Menu natif et notifications
- Reporting de crash
- Debugging & Profiling
- Windows installer
Exemple d'utilisation
De nombreuses applications créées avec Electron sont déjà disponibles. En voici quelques exemples connus :
Plus d'infos
Présentation DevFest
Site d'Electron
Un commentaire