DevFest Nantes 2016 : « Electron, application desktop en techno web »

devfest2016_logo

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).

electron

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.

electron_architecture

  • 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 :

atomgitkrakenvscodepostmanslack

Plus d'infos

Présentation DevFest
Site d'Electron

Enregistrer

Enregistrer

Un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *