Description de la formation Electron
Depuis l’arrivée de Node.js en 2009, de nombreuses technologies ont émergé en vue d’élargir le déploiement d’applications JavaScript à de multiples plate-formes (web, serveur, mobile, IoT, …).
Electron en fait partie. Il s’agit d’un framework permettant la création d’applications de bureau multi-plateformes (Windows, MacOS, Linux) via des langages de programmation web (HTML, CSS, JS) et des APIs spécifiques (node, electron).
Proposer un large panel de plate-formes d’exploitation pour une solution est aujourd’hui devenu un enjeu majeur du développement logiciel. Electron répond à ce besoin en permettant aux développeurs JavaScript d’accéder à l’univers desktop, comme le font tous les autres langages système (C, Java, …).
Objectifs
Objectif opérationnel :
Savoir développer des applications de bureau à l’aide de technologies web (HTML, CSS, JS), du framework Electron et de ses APIs.
Objectifs pédagogiques:
Concrètement, à l’issue de cette formation Electron, vous serez en mesure de :
- Créer une application de bureau grâce à Electron
- Avoir une connaissance panoramique des APIs système proposées
- Créer, packager, déployer et mettre à jour une application
- Utiliser des outils pour vous faire gagner en productivité
À qui s’adresse cette formation ?
Public :
Ce cours Electron cible principalement les profils développeurs système et web.
Prérequis :
Pour suivre cette formation Electron, il est important de connaître HTML, CSS, JavaScript (ES2015 est un plus) et Node.js (les APIs de base) / npm.
Contenu du cours Electron
Présentation d’Electron
Contexte
Problématique
Solution
Concepts (Electron)
APIs (Electron & Node)
Processus principal
Processus de rendu
Communication inter-processus
Arborescence d’un projet (main.js, package.json index.html)
Outils pour Electron
Electron Fiddle
CLI (electron-forge)
UI toolkit : PhotonKit
Processus principal
Modules app & BrowserWindow & dialog
Événements principaux (ready, window-all-closed, activate)
Travaux Pratiques (Fil rouge – Création d’un CRM)
Dashboard & message de bienvenue
Processus de rendu
Intégration node
Isolation de contexte
Fichier de préchargement & module contextBridge
Travaux Pratiques (Fil rouge – Création d’un CRM)
Modules avec liste (clients, produits)
Communication inter-processus (IPC)
Modules ipcRenderer & ipcMain
Travaux Pratiques (Fil rouge – Création d’un CRM)
Gestion des modules
Ouverture de fenêtres
Méthode CRUD (Create, Read, Update, Delete)
Fichiers CSV
Gestion des menus
Menu d’application (template, roles, type, module Menu)
Menu contextuel (module MenuItem)
Travaux Pratiques (Fil rouge – Création d’un CRM)
CRUD via menus
Gestion des raccourcis
Raccourcis locaux (Accelerators)
Raccourcis globaux
Travaux Pratiques (Fil rouge – Création d’un CRM)
CRUD via raccourcis
Interactions avec le système
Personnaliser la barre des tâches (Windows) / Dock (MacOS)
Barre de notification (system tray)
Glisser déposer (drag & drop)
Fonctionnalités système (module shell)
Travaux Pratiques (Fil rouge – Création d’une CRM)
CRUD via barres des tâches (ou Dock)
CRUD via barre de notification
Export des listes via glisser-déposer
Ouverture des fichiers de liste avec application CSV par défaut
Déploiement et mises à jour
Distribution de l’application (packaging & GitHub release)
Mise à jour de l’application (update-electron-app, module autoUpdater)
Travaux Pratiques (Fil rouge – Création d’une CRM)
Autoupdate GitHub release via update-electron-app
Pour aller plus loin
Presse papier
Mode nuit
Notifications
Détection de la connexion (online/offline)
Documents récents
Barre de progression
Rendu hors d’écran (capture)
Intégrer du contenu web (BrowserView)
Tests (devtools, selenium, WebDriver)
Travaux Pratiques
Cette formation propose une alternance de pratique et de théorie pour une meilleure assimilation des connaissances.