Difference between revisions of "VT2017 Electron"

From air
Jump to navigation Jump to search
Line 30: Line 30:
 
[[File:Icone-gitkraken-from-electron.png|50px|link=https://www.gitkraken.com/]]
 
[[File:Icone-gitkraken-from-electron.png|50px|link=https://www.gitkraken.com/]]
 
[[File:Icone-visualStudioCode-from-electron.png|50px|link=https://code.visualstudio.com/]]
 
[[File:Icone-visualStudioCode-from-electron.png|50px|link=https://code.visualstudio.com/]]
  +
  +
=== Fonctionnement ===
  +
  +
D’un point de vue plus pratique les applications ELECTRON sont réalisées en Javascript, HTML et CSS, ce qui permet aux utilisateurs familiers avec le développement web de rapidement prendre en main ELECTRON. Cependant, ces applications sont des applications de bureau. Ainsi, dans certain cas, l’utilisateur doit pouvoir interagir avec les fichiers présents sur la machine ou accéder à certaines variables d’environnement, ce qui n’est pas possible en programmation web pour des raisons de sécurité. Pour contrer ce problème tout en permettant l’utilisation des langages de développement web, les développeurs de la librairie ont décidé d’utiliser Node.js pour faire le lien entre l’application et le système d’exploitation. En ce qui concerne le rendu graphique des applications ELECTRON, celui -ci utilise la librairie de rendu Chromium pour afficher les différentes pages. Comme il s’agit juste d’une librairie graphique, certaines fonctionnalités présentes dans le navigateur Chromium et Google Chrome ne sont pas présentes dans ELECTRON.
  +
  +
*'''image lien node et chroium'''

Revision as of 20:02, 18 October 2017

ELECTRON

Résumé

ELECTRON est une librairie permettant de développer des applications de bureau multiplateforme. C’est une librairie open-source aussi bien utilisée par des particuliers que des professionnels (Slack, Discord…). Il existe beaucoup de framework permettant de développer ce genre d’application. Cependant, ELECTRON se démarque de ses concurrents grâce aux langages de programmation qu’il utilise (javaScript,html,css) et la structure particulière de ses applications(Multi-processus). La technologie ELECTRON possède beaucoup d’atouts comme un module autoUpdater et une forte activité sur le dépôt Git, néanmoins sa consommation de processus et de mémoire vive peut parfois être un problème.

Multi-processus, Multiplateforme, Node.js, javascript, html, css, Chromium, open-source, NW.js, Atom, Squirrel


Abstract

ELECTRON is a framework which allow multiplatform desktop app development. This open-source library is used by particular but also by professional (Slack, Discord…). However, there are a lot of library for develop this kind of application but ELECTRON stands out from the others thanks to his programming language(javascript, html, css) and his app structure(multi-process). This technology gets a lot of advantages like an autoUpdater module and a high activity on the GIT repository nonetheless his RAM and process consumption can be sometimes an issue.

Multi-process, Multiplateform, Node.js, javascript, html, css, Chromium, open-source, NW.js, Atom, Squirrel

Synthèse

Introduction et besoin

Le développement multiplateforme est de nos jours un point très un important dans le marché du logiciel. En effet, il existe toutes sortes de plateforme comme Linux, Android, Windows, IOS qui possède leurs propres caractéristiques et leur propre langage natif. Ainsi, pour réaliser une application dite multiplateforme, il faut réaliser autant de version de codes différents que de plateforme. Le problème de ce genre de programmation est qu’elle est très coûteuse en temps et en argent. C’est pourquoi, généralement l’entreprise se contente de réaliser l’application seulement pour une ou deux plateformes, ce qui pénalise certains utilisateurs et fait perdre de nouveaux clients à l’entreprise.

C’est de ce besoin que sont nées les librairies de développement d’applications multiplateforme. Le principe de ces logiciels est de générer une application pour tous types de plateforme et ceux à partir d’un seul code. Il existe des dizaines de logiciels de ce type, certains permettent de générer les applications à partir de n’importe quel langage de programmation, d’autres utilisent des langages qui leur sont propres. De plus ces logiciels peuvent être payants ou open-source et plus ou moins performants.

Depuis quelques années une librairie souvent citée dans le développement d’applications bureautiques multiplateforme est ELECTRON. Cependant quels sont les avantages et inconvénients de cette librairie et comment fonctionne-t-elle ? Dans un premier temps nous pencherons sur l’origine ce projet et comment la librairie fonctionne-t-elle. Ensuite, nous aborderons les inconvénients et avantages de celle-ci en la comparant à un autre produit du marché.

Petit historique

ELECTRON était à l’origine un Framework développer par l’équipe GitHub pour passer l’éditeur de texte ATOM en multiplateforme. En 2014 le code est devenu open-source et c’est en 2016 que les premières applications ELECTRON deviennent disponible sur les stores IOS et Windows. La librairie étant open source, elle est utilisable aussi bien par des particuliers que des professionnels et évolue au grès des contributions apportées par l’équipe GitHub, les développeurs indépendants ou les entreprises. Ainsi parmi les applications basées sur ELECTRON il est possible de retrouver : [Slack], [Discord], [GitKraken], [Visual Studio code]…

Icone-slack-from-electron.png Icone-discord-from-electron.png Icone-gitkraken-from-electron.png Icone-visualStudioCode-from-electron.png

Fonctionnement

D’un point de vue plus pratique les applications ELECTRON sont réalisées en Javascript, HTML et CSS, ce qui permet aux utilisateurs familiers avec le développement web de rapidement prendre en main ELECTRON. Cependant, ces applications sont des applications de bureau. Ainsi, dans certain cas, l’utilisateur doit pouvoir interagir avec les fichiers présents sur la machine ou accéder à certaines variables d’environnement, ce qui n’est pas possible en programmation web pour des raisons de sécurité. Pour contrer ce problème tout en permettant l’utilisation des langages de développement web, les développeurs de la librairie ont décidé d’utiliser Node.js pour faire le lien entre l’application et le système d’exploitation. En ce qui concerne le rendu graphique des applications ELECTRON, celui -ci utilise la librairie de rendu Chromium pour afficher les différentes pages. Comme il s’agit juste d’une librairie graphique, certaines fonctionnalités présentes dans le navigateur Chromium et Google Chrome ne sont pas présentes dans ELECTRON.

  • image lien node et chroium