| Electron software | |
|---|---|
| Genere | Framework per applicazioni web |
| Sviluppatore | GitHub Inc. |
| Data prima versione | 15 luglio 2013 |
| Ultima versione | 45.2.1 (31 ottobre 2026) |
| Ultima beta | 23.0.0-alpha.2 (8 dicembre 2022) |
| Sistema operativo | Microsoft Windows
Linux macOS |
| Linguaggio | Objective C TypeScript JavaScript C++ Python Python |
| Licenza | licenza MIT (licenza libera) |
| Sito web | www.electronjs.org |
Electron (precedentemente noto come Atom Shell) è un framework open source gestito e ospitato da GitHub. Electron consente lo sviluppo della GUI di applicazioni desktop utilizzando tecnologie Web: combina il motore di rendering Chromium e il runtime Node.js. Electron è il principale framework per la GUI dietro alcuni importanti progetti open source tra cui Atom, GitHub Desktop, Light Table, Visual Studio Code e WordPress Desktop.
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.
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. Esempi di tali vulnerabilità sono stati risolti nelle versioni di Electron 1.7.13, 1.8.4 e 2.0.0-beta.5.
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. Altre critiche sono focalizzate sul fatto che le applicazioni Electron non sono native, il che significa mancanza di integrazione.
Numerose applicazioni desktop sono realizzate con Electron, tra cui:
Il 27 ottobre 2017, la comunità ha rilasciato un clone chiamato Electron.NET 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.