Electron ti consente di scrivere applicazioni desktop multipiattaforma utilizzando JavaScript, HTML e CSS
È stata annunciata la pubblicazione della nuova versione di Electron, la 27.0 , che introduce diverse novità , tra cui la rimozione di vari metodi, proprietà ed eventi, nonché il supporto per macOS 10.13 e, indirettamente, per Windows 7/8/8.1.
Per chi non ha familiarità con Electron, si tratta di una piattaforma che permette di creare qualsiasi applicazione grafica utilizzando le tecnologie del browser, la cui logica è definita in JavaScript, HTML e CSS e la cui funzionalità può essere estesa tramite un sistema di plugin.
Gli sviluppatori hanno accesso ai moduli Node.js e a un'API estesa per la creazione di finestre di dialogo native, l'integrazione di app, la creazione di menu contestuali, l'integrazione con il sistema di visualizzazione delle notifiche, la manipolazione delle finestre e l'interazione con i sottosistemi di Chromium.
Principali novità di Electron 27.0
In questa nuova versione di Electron 27.0, una delle novità più importanti è il miglioramento del supporto per Wayland. La modalità WaylandWindowDecorations è ora abilitata per impostazione predefinita, consentendo il corretto ridimensionamento e spostamento delle finestre in ambienti basati su Wayland come GNOME e Weston, che non supportano il protocollo di decorazione XDG , quando si utilizza il supporto per Wayland (--ozone-platform=wayland) . Negli ambienti che supportano la decorazione XDG, come KDE e Sway, la modalità WaylandWindowDecorations viene ignorata.
Un'altra novità di Electron 27.0 è la nuova API aggiunta per tenere conto della configurazione di sistema che controlla il livello di trasparenza dello sfondo nelle applicazioni , nonché il supporto per l'API chrome.scripting, che consente di inserire codice JavaScript e CSS personalizzato nelle pagine.
Inoltre, si segnala che è stata aggiunta l' API BrowserWindow.showAllTabs e che la proprietà tabingIdentifier è stata aggiunta all'oggetto BrowserWindow. L'API chrome.tabs.query è parzialmente implementata.
In Linux, è possibile definire la configurazione del tema scuro tramite il portale "xdg configuration", mentre l'API ipcRenderer.sendTo() è stata deprecata e dovrebbe essere sostituita da un MessageChannel per la comunicazione tra due renderer.
D'altra parte, in Preferenze di Sistema, gli eventi di modifica della combinazione di colori sono stati rimossi (l'evento di aggiornamento del modulo NativeTheme dovrebbe essere utilizzato al posto della modifica della combinazione di colori invertita e della modifica della combinazione di colori ad alto contrasto).
Inoltre, in questa nuova versione di Electron 27, la compatibilità con macOS 10.13 (High Sierra) e macOS 10.14 (Mojave) è stata interrotta e, in base alla politica di supporto, questa release segna la fine del supporto per le versioni di Electron 24.x. È stato inoltre completato il ciclo di supporto esteso per Electron 22.x, che rappresentava l'ultima versione compatibile con Windows 7/8/8.1.
Tra le altre modifiche degne di nota in questa nuova versione si segnalano:
- Cromo 118.0.5993.32, DevTools 118
- Nodo.js 18.17.1
- V8 11.8
- Aggiunta la possibilità di inviare intestazioni HTTP specifiche ai metodi session.downloadURL() e webContents.downloadURL().
- Aggiunti i metodi safeStorage.setUsePlainTextEncryption e safeStorage.getSelectedStorageBackend.
- Aggiunto il flag "–dns-result-order".
- Il metodo webContents.getPrinters è stato rimosso a favore di webContents.getPrintersAsync.
- I metodi systemPreferences.{get,set}AppLevelAppearance e systemPreferences.appLevelAppearance sono stati rimossi e sostituiti dal modulo nativeTheme.
- Il metodo systemPreferences.getColor ha deprecato il valore del testo di controllo selezionato alternativo a favore dello sfondo del contenuto selezionato.
- Aggiunto il supporto per il flag CLI Node.js –dns-result-order.
- Aggiunto il supporto per personalizzare il carattere matematico predefinito insieme ad altri caratteri.
- Aggiunto il supporto per contrassegnare un menu come avviato da tastiera.
- Aggiunto supporto per molti altri flag cli Node.js nel processo principale.
- Aggiunto il supporto per molte altre chiavi manifest delle estensioni, tra cui host_permissions, autore e short_name.
- Aggiunta la possibilità di inviare intestazioni HTTP con session.downloadURL()
- Aggiunta la possibilità di inviare intestazioni HTTP con webContents.downloadURL()
Infine, se siete interessati a saperne di più su questa nuova versione, potete trovare i dettagli al seguente link.
Come ottenere Electron su Linux?
Per eseguire applicazioni e/o lavorare con Electron su Linux, è sufficiente avere Node.js installato sul sistema e il relativo gestore di pacchetti NPM.
Per installare l'ultima versione, basta digitare il seguente comando:
npm install electron@latest