Electron software | |
---|---|
![]() | |
![]() | |
Genere | Framework per applicazioni web |
Sviluppatore | GitHub Inc. |
Data prima versione | 15 luglio 2013[1] |
Ultima versione | 31.2.1 (15 luglio 2024) |
Ultima beta | 23.0.0-alpha.2 (8 dicembre 2022[2][3]) |
Sistema operativo | Microsoft Windows Linux macOS |
Linguaggio | Objective C TypeScript JavaScript C++ Python Python |
Licenza | MIT (licenza libera) |
Sito web | www.electronjs.org |
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]
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].
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]
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.[15] Altre critiche sono focalizzate sul fatto che le applicazioni Electron non sono native, il che significa mancanza di integrazione.[16]
Numerose applicazioni desktop sono realizzate con Electron, tra cui:[17]
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.