electron.json 2.7 KB

12345
  1. {
  2. "id": "electron",
  3. "title": "Electron",
  4. "content": "Electron permet de faire des applications avec les technologies web (HTML 5 / CSS 3 / Javascript). \r\nLes applications créées avec Electron peuvent être compilées pour tous les OS existants, ce qui permet avec une seule base de code d'avoir un executable pour tous les environements. \r\nDe plus les applications Electron utilisent les éléments d'interfaces de l'OS cible, de ce fait l'application ressemblera à une application native de l'OS.\r\n\r\n#### Principe\r\n\r\nElectron utilise Node.js et Chromium pour permettre de faire des applications. \r\nChromium est utilisé pour le rendu des fichiers HTML et Node.js pour exécuter le code Javascript du processus main (Node est basé sur la version 8 du moteur javascript de Chromium).\r\nPour les processus de rendus il est possible (via une option lors de la création de la fenêtre) d'utiliser le moteur javascript de Node ou celui intégré à Chromium.\r\nSi l'on utilise le moteur de Chromium dans le rendu il n'est pas possible de faire plus que dans un navigateur classique.\r\n\r\nDans cette version de l'application le moteur de Node est utilisé partout, mais dans la version sans intégration spécifique d'Electron c'est le moteur de Chromium qui est utilisé.\r\n\r\n#### Fonctionnement\r\n\r\nElectron possède deux types de processus, le processus principal et les processus de rendus.\r\nLe processus principal est celui du fichier `main.js` chargé lors du lancement de l'application, \r\nles processus de rendus correspondent chacun à une fenêtre de l'application.\r\nLes fenêtres peuvent être visibles ou non (ainsi le calcul du nombre premier est fait dans un processus de rendu lié à une fenêtre invisible).\r\n\r\nLes deux types de processus peuvent communiquer entre eux par le biais d'évènements et d'écouteurs sur ces derniers.\r\nChacun possède des fonctionnalités qui lui sont propre et que l'autre ne peut pas réaliser \r\n(par exemple les notifications ne peuvent être émises que depuis un processus de rendu).\r\n\r\nAu lancement de l'application le fichier `main.js` est éxécuté. Dans un premier temps il va charger les autres fichiers utilisés dans le processus principal.\r\nCes fichiers servent par exemple à gérer les différents menus de l'application.\r\nEnsuite l'application va charger la page HTML correspondant au dashboard et ouvrir une fenêtre (et donc un processus de rendu).\r\nDans ce processus de rendu tous les imports javascript vont être chargés par les balises script dans le fichier HTML.\r\nLe fichier principal pour le chargement des dépendances et des fonctions necessaires pour les processus de rendus est `electronotes.js`"
  5. }