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.

Architettura 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.

Sicurezza 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.

Criticità 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.

Software che utilizzano Electron Numerose applicazioni desktop sono realizzate con Electron, tra cui: Atom Basecamp 3 Bitwarden CrashPlan Cryptocat Discord Etcher GitHub Desktop Keybase Light Table Microsoft Teams MongoDB Compass Shift Signal Skype Slack Symphony Chat Twitch.tv Visual Studio Code WebTorrent WhatsApp Wire Yammer

Derivazioni Electron.NET 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.

Note

Voci correlate Apache Cordova Applicazione HTML Blink (browser engine) XULRunner

Altri progetti

Collegamenti esterni

Categoria:Google Chrome Categoria:Software del 2013 Categoria:Software con licenza MIT Categoria:Software libero