Apri il menu principale

Electron (framework)

Electron
software
Logo
GenereFramework per applicazioni web
SviluppatoreGitHub Inc.
Data prima versione15 luglio 2013[1]
Ultima versione6.0.11 (2 ottobre 2019[2][3])
Sistema operativoMicrosoft Windows
Linux
macOS
LinguaggioObjective C
TypeScript
C++
JavaScript
Python
LicenzaMIT
(licenza libera)
Sito web

Electron (precedentemente noto come Atom Shell[4]) è un framework open source gestito e ospitato da GitHub.[5] Electron consente lo sviluppo della GUI di applicazioni desktop utilizzando tecnologie Web: combina il motore di rendering Chromium e il runtime Node.js.[6] Electron è il principale framework per la GUI dietro alcuni importanti progetti open source tra cui Atom,[7] GitHub Desktop,[8] Light Table,[9] Visual Studio Code[10] e WordPress Desktop.[11]

ArchitetturaModifica

Le applicazioni Electron sono composte da più processi: il processo "browser" e diversi processi "renderer". Il processo browser esegue la logica dell'applicazione e può quindi avviare più processi di rendering, restituendo le finestre che appaiono sullo schermo di un utente processando HTML e CSS.

Entrambi i processi browser e renderer possono essere eseguiti con l'integrazione di Node.js se abilitati.

La maggior parte delle API di Electron sono scritte in C++ o Objective-C e quindi esposte direttamente al codice dell'applicazione tramite i collegamenti JS[12].

SicurezzaModifica

Poiché le applicazioni Electron sono applicazioni web eseguite nel motore Chromium, potrebbero essere vulnerabili ad attacchi relativi al Web come attacchi di scripting cross-site, attraverso gli stessi vettori di attacco di un browser (ad es. Chromium) o altri componenti interni (Node.js) se si utilizzano determinate versioni di Electron.[13] Esempi di tali vulnerabilità sono stati risolti nelle versioni di Electron 1.7.13, 1.8.4 e 2.0.0-beta.5.[14]

CriticitàModifica

Electron è stato criticato poiché le applicazioni programmate in questo framework (come Atom e Visual Studio Code) spendono molta più RAM rispetto ad altre applicazioni simili (Nano, Vim, Sublime Text). Le applicazioni in Electron vengono fornite con un pre-bundle di Chromium, quindi strumenti in origine molto semplici (es. terminali, appunti) con Electron vengono appesantiti.[15] Altre critiche sono focalizzate sul fatto che le applicazioni Electron non sono native, il che significa mancanza di integrazione.[16]

Software che utilizzano ElectronModifica

DerivazioniModifica

Electron.NETModifica

Il 27 ottobre 2017, la comunità ha rilasciato un clone chiamato Electron.NET[28] per il framework .NET Core. Questo è un progetto open source che consente l'accesso alle API Electron native passando per il linguaggio di programmazione C#. Lo sviluppo .NET fa riferimento a proprio ecosistema, anziché utilizzare JavaScript.

NoteModifica

  1. ^ Release v0.1.0: Update node: use node's implementation of setImmediate. · electron/electron, su GitHub. URL consultato il 5 settembre 2019.
  2. ^ (EN) Release Notes, su GitHub. URL consultato il 5 ottobre 2019.
  3. ^ (EN) Stable Releases, su electronjs.org. URL consultato il 5 ottobre 2019.
  4. ^ (EN) Kevin Sawicki, Atom Shell is now Electron, su Electron Blog, 23 aprile 2015. URL consultato il 5 ottobre 2019.
  5. ^ electron/electron, su GitHub. URL consultato il 5 ottobre 2019.
  6. ^ (EN) Cheng Zhao, Electron Internals: Using Node as a Library, su Electron Blog, 8 agosto 2016. URL consultato il 5 ottobre 2019.
  7. ^ atom/atom, su GitHub. URL consultato il 5 ottobre 2019.
  8. ^ (EN) GitHub Desktop, su GitHub. URL consultato il 5 ottobre 2019.
  9. ^ (EN) Gabriel Horner, Light Table 0.8.0, Light Table Blog, 10 dicembre 2015. URL consultato il 5 ottobre 2019.
  10. ^ (EN) Mike James, Visual Studio Code - Now With Added Extensions, in I Programmer, 23 nobrembre 2015. URL consultato il 5 ottobre 2019.
  11. ^ GitHub Repository, su github.com. URL consultato il 16 giugno 2019.
  12. ^ (EN) Shelley Vohr, From native to JavaScript in Electron | Electron Blog, su Electron Blog, 19 marzo 2019. URL consultato il 5 ottobre 2019.
  13. ^ (EN) Brendan Scarvell, Electron nodeIntegration Bypass | SpiderLabs Blog, su Trustwave, 10 maggio 2018. URL consultato il 5 ottobre 2019.
  14. ^ (EN) Charles Kerr, Webview Vulnerability Fix, su Electron Blog, 21 marzo 2018. URL consultato il 5 ottobre 2019.
  15. ^ (EN) Electron considered harmful, su Drew DeVault's Blog, 24 novembre 2016. URL consultato il 5 ottobre 2019.
  16. ^ (EN) Casper Beyer, Electron is Cancer - Commit Log, in Medium, 8 novembre 2017. URL consultato il 5 ottobre 2019.
  17. ^ a b c d e f g Applicazioni Electron, su Electron Blog. URL consultato il 5 ottobre 2019.
  18. ^ (EN) Kevin Sawicki, Atom Shell is now Electron, su Electron Blog, 23 aprile 2015. URL consultato il 5 ottobre 2019.
  19. ^ (EN) CrashPlan for Small Business version 6.7, su Code42 Support. URL consultato il 5 ottobre 2019.
  20. ^ balena-io/etcher, su github.com. URL consultato il 28 agosto 2018.
  21. ^ (EN) Phil, Announcing Git Integration for Atom and GitHub Desktop Beta, su The GitHub Blog, 16 maggio 2017. URL consultato il 5 ottobre 2019.
  22. ^ (EN) Electron Helper and branding, su techcommunity.microsoft.com, 20 maggio 2017. URL consultato il 5 ottobre 2019.
  23. ^ (EN) Building hybrid applications with Electron, su Several People Are Coding, 25 ottobre 2016. URL consultato il 5 ottobre 2019.
  24. ^ symphonyoss/SymphonyElectron, su GitHub. URL consultato il 5 ottobre 2019.
  25. ^ (EN) Peter Bright, Microsoft’s new Code editor is built on Google’s Chromium, in Ars Technica, 29 aprile 2015. URL consultato il 5 ottobre 2019.
  26. ^ Microsoft/vscode, su GitHub. URL consultato il 5 ottobre 2019.
  27. ^ wireapp/wire-desktop, su GitHub. URL consultato il 5 ottobre 2019.
  28. ^ Electron.NET

Voci correlateModifica

Collegamenti esterniModifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica