Electron
KEZAKO ?
Cette partie d'atome est un framework permettant de développer des applications desktop multi-plateformes à partir de JavaScript/Html/CSS.
Le processus de développement est "Simple".
#
Mise en place d'un environnement de devinfo
Pour la suite de cette page je pars du principe qu'on ajoute la stack electron sur un projet déjà existant, dans une autre doc j'explique la mise en place de mon environnement post electron.
L'environnement pré-electron est disponible ici
#
1. Installation des packagesElectron permet de lancer la solution sans construire (build) la solution complĂšte.
Electron-Builder permet de compiler la solution.
"Wait-On" permet d'attendre une réponse d'une url spécifique pour ici continuer le processus.
"Concurrently" permet de lancer plusieures commandes aux mĂȘme moment.
#
2. Un peu de configurationToutes ces lignes sont-elles vraiment nécessaires ?
Dans notre cas oui, mais je suis lĂ pour vous les expliquer:
- main : L'emplacement de votre fichier electron.js, celui-ci est le point d'entrée de votre application (imaginez cliquer sur ce fichier quand vous lancer la solution finale ou uniquement en dev)
- build:
- productName : Le nom de votre produit (sera utilisé pour la compilation de votre exécutable)
- appId : Id Linux/Apple, cette id permet de reconnaĂźtre le package.
- icon : L'icon utiliser pour vos exĂ©cutables (penser Ă bien importer le dossier oĂč il est dans les fichiers)
- asar : Si vous utilisez le format asar pour vos fichiers compressés. Théoriquement il accélÚre les requires.
- files: Tous les fichiers/dossiers incluent dans le package finale, penser Ă include le node_modules, vos ou votre dossier(s) de source ainsi que votre icon (ici, build contient le client ainsi que l'icon)
#
3. Ajout des scriptsPour le bon fonctionnement de la solution TOUS ces scripts sont nécessaires:
- postinstall : Est exécuté aprÚs l'installation d'un package, il permet de reconstruire les extensions dans un format propice à l'utilisation electron.
- electronDev : Permet de lancer votre environnement de dev via start puis d'attendre que celui-ci soit lancé pour lancer le client electron.
- electronAlone : Dans beaucoup de cas j'ai eu à modifier uniquement la partie electron, afin d'accélérer les starts/restarts je lançais une fois unique start puis relançais uniquement la partie electron.
- pack : Permet d'obtenir uniquement le dossier contenant la solution compilée.
- dist : Permet via la configuration de l'étape 2 de compiler vos fichiers (par défault .snap pour linux, .exe pour windows et .appImage pour mac)
- distStartup : Permet en une commande de build les composants ainsi que le client electron.
#
4. electron.jsJe vous fournis une version simplifiée de mon fichier electronJs les commentaires sont intégrés dans le code fournis, si vous souhaitez mettre en place un systÚme plus complet avec un icon tray, veuillez vous en référer à mon code.
Le code electron.js est placé dans mon dossier public afin d'éviter que celui ci sois modifié, ne comptez pas sur du TypeScript pour celui ci.
#
How It WorkLors du démarrage de notre solution notre electron va démarrer notre serveur web, celui ci intÚgre une partie statique qui n'est autre que notre client ainsi qu'une partie Api.
#
Pourquoi Electron et pas React-NativeReact native et Electron n'ont pas le mĂȘme objectif.
React native vise les appareille Android et Ios contrairement a Electron qui vise les Ordinateur.