Electron (framework)

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Electron
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereFramework per applicazioni web
SviluppatoreGitHub Inc.
Data prima versione15 luglio 2013[1]
Ultima versione21.3.3 (1 dicembre 2022[2][3])
Ultima beta23.0.0-alpha.2 (8 dicembre 2022[4][5])
Sistema operativoMicrosoft Windows
Linux
macOS
LinguaggioObjective C
TypeScript
JavaScript
C++
Python
Python
LicenzaMIT
(licenza libera)
Sito webwww.electronjs.org e github.com/electron/electron#readme

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

Architettura[modifica | modifica wikitesto]

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[14].

Sicurezza[modifica | modifica wikitesto]

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.[15] Esempi di tali vulnerabilità sono stati risolti nelle versioni di Electron 1.7.13, 1.8.4 e 2.0.0-beta.5.[16]

Criticità[modifica | modifica wikitesto]

Electron non supporta i sistemi operativi mobili come Android e iOS.

Electron è stato criticato poiché le applicazioni programmate con questo framework (come Atom e Visual Studio Code) consumano molta più RAM rispetto ad altre applicazioni simili (Emacs, 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.[17] Altre critiche sono focalizzate sul fatto che le applicazioni Electron non sono native, il che significa mancanza di integrazione.[18]

Software che utilizzano Electron[modifica | modifica wikitesto]

Numerose applicazioni desktop sono realizzate con Electron, tra cui:[19]

Derivazioni[modifica | modifica wikitesto]

Electron.NET[modifica | modifica wikitesto]

Il 27 ottobre 2017, la comunità ha rilasciato un clone chiamato Electron.NET[30] 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.

Note[modifica | modifica wikitesto]

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

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

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