Electron (framework): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m Eliminato il parametro "Licenza del programma" nel template "Software"
 
(27 versioni intermedie di 18 utenti non mostrate)
Riga 1:
{{Software
|Sviluppatore = [[GitHub]] (sussidiaria di [[Microsoft]])Inc.
|Logo = Electron Software Framework Logo.svg
|Sviluppatore = [[GitHub]] (sussidiaria di [[Microsoft]])
|SistemaOperativo = Windows
|Genere = web framework
|SoftwareLibero = sì
|SitoWebUltimaVersione =
|DataUltimaVersione =
|DataPrimaVersione = 15 luglio 2013<ref>{{cita web |url=https://github.com/electron/electron/releases/tag/v0.1.0 |titolo=Release v0.1.0: Update node: use node's implementation of setImmediate. · electron/electron |sito=[[GitHub]] |accesso=5 settembre 2019}}</ref>
|UltimaVersioneBeta = 23.0.0-alpha.2
|UltimaVersione = 6.0.11
|DataUltimaVersioneDataUltimaVersioneBeta = 28 ottobredicembre 20192022<ref name=rl>{{cita web |lingua=en |titolo=Release Notes |url=https://github.com/electron/electron/releases/latest |sito=[[GitHub]] |accesso=510 ottobredicembre 20192022}}</ref><ref>{{cita web |lingua=en |titolo=Stable Releases |url=https://electronjs.org/releases/stableprerelease |accesso=510 ottobredicembre 20192022}}</ref>
|SistemaOperativo2 = Linux
|SistemaOperativo3 = macOS
Line 14 ⟶ 13:
|Linguaggio2 = JavaScript
|Linguaggio3 = Objective-C
|LinguaggioAltri = [[Python]]
}}<nowiki> </nowiki>'''Electron''' (precedentemente noto come '''Atom Shell'''<ref>{{Cita web|url=https://electronjs.org/blog/electron|titolo=Atom Shell is now Electron|cognome=Sawicki|nome=Kevin|sito=Electron Blog|data=23 aprile 2015|lingua=en|accesso=5 ottobre 2019}}</ref>) è un [[framework]] [[open source]] gestito e ospitato da [[GitHub]].<ref>{{Cita web|url=https://github.com/electron/electron|titolo=electron/electron|sito=GitHub|accesso=5 ottobre 2019}}</ref> Electron consente lo sviluppo della [[Interfaccia grafica|GUI]] di applicazioni desktop utilizzando tecnologie Web: combina il motore di rendering [[Chromium]] e il runtime [[Node.js|Node.js.]].<ref>{{Cita web|url=https://electronjs.org/blog/electron-internals-using-node-as-a-library|titolo=Electron Internals: Using Node as a Library|cognome=Zhao|nome=Cheng|sito=Electron Blog|data=8 agosto 2016|lingua=en|accesso=5 ottobre 2019}}</ref> Electron è il principale framework per la [[Interfaccia grafica|GUI]] dietro alcuni importanti progetti open source tra cui [[Atom (editor)|Atom]],<ref>{{Cita web|url=https://github.com/atom/atom|titolo=atom/atom|sito=GitHub|accesso=5 ottobre 2019}}</ref> [[GitHub|GitHub Desktop]],<ref>{{Cita web|url=https://desktop.github.com/|titolo=GitHub Desktop|sito=GitHub|lingua=en|accesso=5 ottobre 2019}}</ref> Light Table,<ref name="LT1">{{Cita web|url=http://lighttable.com/2015/12/10/light-table-0-8-0/|titolo=Light Table 0.8.0|cognome=Horner|nome=Gabriel|editore=Light Table Blog|data=10 dicembre 2015|lingua=en|accesso=5 ottobre 2019}}</ref> [[Visual Studio Code]]<ref>{{Cita news|lingua=en|nome=Mike|cognome=James|autore=|url=https://www.i-programmer.info/news/90-tools/9202-visual-studio-code-now-with-added-extensions.html|titolo=Visual Studio Code - Now With Added Extensions|pubblicazione=I Programmer|data=23 nobrembre 2015|accesso=5 ottobre 2019}}</ref> e WordPress Desktop.<ref>{{Cita web|url=https://github.com/Automattic/wp-desktop|titolo=GitHub Repository|accesso=16 Junegiugno 2019}}</ref>
|Licenza = [[Licenza MIT|MIT]]
}} '''Electron''' (precedentemente noto come '''Atom Shell'''<ref>{{Cita web|url=https://electronjs.org/blog/electron|titolo=Atom Shell is now Electron|cognome=Sawicki|nome=Kevin|sito=Electron Blog|data=23 aprile 2015|lingua=en|accesso=5 ottobre 2019}}</ref>) è un [[framework]] [[open source]] ospitato da [[GitHub]].<ref>{{Cita web|url=https://github.com/electron/electron|titolo=electron/electron|sito=GitHub|accesso=5 ottobre 2019}}</ref> Electron consente lo sviluppo della [[Interfaccia grafica|GUI]] di applicazioni desktop utilizzando tecnologie Web: combina il motore di rendering [[Chromium]] e il runtime [[Node.js|Node.js.]]<ref>{{Cita web|url=https://electronjs.org/blog/electron-internals-using-node-as-a-library|titolo=Electron Internals: Using Node as a Library|cognome=Zhao|nome=Cheng|sito=Electron Blog|data=8 agosto 2016|lingua=en|accesso=5 ottobre 2019}}</ref> Electron è il principale framework per la [[Interfaccia grafica|GUI]] dietro alcuni importanti progetti open source tra cui [[Atom (editor)|Atom]],<ref>{{Cita web|url=https://github.com/atom/atom|titolo=atom/atom|sito=GitHub|accesso=5 ottobre 2019}}</ref> [[GitHub|GitHub Desktop]],<ref>{{Cita web|url=https://desktop.github.com/|titolo=GitHub Desktop|sito=GitHub|lingua=en|accesso=5 ottobre 2019}}</ref> Light Table,<ref name="LT1">{{Cita web|url=http://lighttable.com/2015/12/10/light-table-0-8-0/|titolo=Light Table 0.8.0|cognome=Horner|nome=Gabriel|editore=Light Table Blog|data=10 dicembre 2015|lingua=en|accesso=5 ottobre 2019}}</ref> [[Visual Studio Code]]<ref>{{Cita news|lingua=en|nome=Mike|cognome=James|autore=|url=https://www.i-programmer.info/news/90-tools/9202-visual-studio-code-now-with-added-extensions.html|titolo=Visual Studio Code - Now With Added Extensions|pubblicazione=I Programmer|data=23 nobrembre 2015|accesso=5 ottobre 2019}}</ref> e WordPress Desktop.<ref>{{Cita web|url=https://github.com/Automattic/wp-desktop|titolo=GitHub Repository|accesso=16 June 2019}}</ref>
 
== 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<ref>{{Cita web|url=https://electronjs.org/blog/from-native-to-js|titolo=From native to JavaScript in Electron {{!}} Electron Blog|cognome=Vohr|nome=Shelley|sito=Electron Blog|data=19 marzo 2019|lingua=en|accesso=5 ottobre 2019}}</ref>.
 
== Sicurezza ==
Poiché le applicazioni Electron sono [[Applicazione web|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.<ref name="cve-2018-1000136">{{Cita web|url=https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/cve-2018-1000136-electron-nodeintegration-bypass/|titolo=Electron nodeIntegration Bypass {{!}} SpiderLabs Blog|cognome=Scarvell|nome=Brendan|sito=Trustwave|data=10 maggio 2018|lingua=en|accesso=5 ottobre 2019}}</ref> Esempi di tali vulnerabilità sono stati risolti nelle versioni di Electron 1.7.13, 1.8.4 e 2.0.0-beta.5.<ref name="Webview Vulnerability Fix">{{Cita web|url=https://electronjs.org/blog/webview-fix|titolo=Webview Vulnerability Fix|cognome=Kerr|nome=Charles|sito=Electron Blog|data=21 marzo 2018|lingua=en|accesso=5 ottobre 2019}}</ref>
 
== Criticità ==
Electron non supporta i sistemi operativi mobili come Android e iOS.
Electron è stato criticato poiché le applicazioni programmate in questo framework (come Atom e Visual Studio Code) spendono molta più RAM rispetto ad altre applicazioni simili (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.<ref>{{Cita web|url=https://drewdevault.com/2016/11/24/Electron-considered-harmful.html|titolo=Electron considered harmful|sito=Drew DeVault's Blog|data=24 novembre 2016|lingua=en|accesso=5 ottobre 2019}}</ref> Altre critiche sono focalizzate sul fatto che le applicazioni Electron non sono native, il che significa mancanza di integrazione.<ref>{{Cita news|lingua=en|nome=Casper|cognome=Beyer|autore=|url=https://medium.com/commitlog/electron-is-cancer-b066108e6c32|titolo=Electron is Cancer - Commit Log|pubblicazione=Medium|data=8 novembre 2017|accesso=5 ottobre 2019}}</ref>
 
Electron è stato criticato poiché le applicazioni programmate incon questo framework (come Atom e Visual Studio Code) spendonoconsumano 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.<ref>{{Cita web|url=https://drewdevault.com/2016/11/24/Electron-considered-harmful.html|titolo=Electron considered harmful|sito=Drew DeVault's Blog|data=24 novembre 2016|lingua=en|accesso=5 ottobre 2019}}</ref> Altre critiche sono focalizzate sul fatto che le applicazioni Electron non sono native, il che significa mancanza di integrazione.<ref>{{Cita news|lingua=en|nome=Casper|cognome=Beyer|autore=|url=https://medium.com/commitlog/electron-is-cancer-b066108e6c32|titolo=Electron is Cancer - Commit Log|pubblicazione=Medium|data=8 novembre 2017|accesso=5 ottobre 2019}}</ref>
 
== Software che utilizzano Electron ==
Numerose applicazioni desktop sono realizzate con Electron, tra cui:<ref name="AP1">{{Cita web|url=https://electronjs.org/apps|titolo=Applicazioni Electron|sito=Electron Blog|accesso=5 ottobre 2019|urlarchivio=https://web.archive.org/web/20190927073420/https://electronjs.org/apps|dataarchivio=27 settembre 2019|urlmorto=sì}}</ref> {{Div col}}
* [[Atom (editor)|Atom]]<ref name="electron-blog">{{cita web |lingua=en |cognome=Sawicki |nome=Kevin |titolo=Atom Shell is now Electron |url=https://electronjs.org/blog/2015/04/23/electron |sito=Electron Blog |data=23 aprile 2015 |accesso=5 ottobre 2019 |dataarchivio=16 ottobre 2019 |urlarchivio=https://web.archive.org/web/20191016124310/https://electronjs.org/blog/electron |urlmorto=sì }}</ref>
* [[Basecamp (software)|Basecamp 3]]<ref name="AP1" />
* [[Bitwarden]]
* [[CrashPlan]]<ref>{{cita web |lingua=en |titolo=CrashPlan for Small Business version 6.7 |url=https://support.code42.com/Release_Notes/CrashPlan_for_Small_Business_version_6.7 |sito= Code42 Support |accesso=5 ottobre 2019 |dataarchivio=26 aprile 2018 |urlarchivio=https://web.archive.org/web/20180426075730/https://support.code42.com/Release_Notes/CrashPlan_for_Small_Business_version_6.7 |urlmorto=sì }}</ref>
* [[Cryptocat]]<ref name="AP1" />
* [[Discord (software)|Discord]]
* [[Etcher (software)|Etcher]]<ref name="etcher-github">{{cita web | titolo=balena-io/etcher | url=https://github.com/balena-io/etcher | accesso=2018-08-28 agosto 2018}}</ref>
* [[GitHub Desktop]]<ref name="github-blog">{{cita web |lingua=en |congnomecognome=Haack |nome=Phil |titletitolo=Announcing Git Integration for Atom and GitHub Desktop Beta |url=https://github.blog/2017-05-16-announcing-git-integration-for-atom-and-github-desktop-beta/ |sito=The GitHub Blog |data=16 maggio 2017 |accesso=5 ottobre 2019}}</ref>
*[[ Keybase]]
* [[Light Table (software)|Light Table]]
* [[Microsoft Teams]]<ref name="ms-teams">{{cita web |lingua=en |url=https://techcommunity.microsoft.com/t5/Microsoft-Teams/Electron-Helper-and-branding/m-p/71595 |titolo=Electron Helper and branding |data=20 maggio 2017 |accesso=5 ottobre 2019}}</ref>
* [[MongoDB#Front-end di gestione e amministrazione|MongoDB Compass]]<ref name="AP1" />
Riga 49:
* [[Skype]]<ref name="AP1" />
* [[Slack (software)|Slack]]<ref name="slack">{{cita web |lingua=en |titolo=Building hybrid applications with Electron |url=https://slack.engineering/building-hybrid-applications-with-electron-dc67686de5fb |sito=Several People Are Coding |data=25 ottobre 2016 |accesso=5 ottobre 2019}}</ref>
* [[Symphony Communication|Symphony Chat]]<ref name="SymphonyElectron-github">{{cita web |url=https://github.com/symphonyoss/SymphonyElectron |titolo=symphonyoss/SymphonyElectron |sito=GitHub |accesso=5 ottobre 2019}}</ref>
* [[Twitch.tv]]
* [[Visual Studio Code]]<ref name="ars-electron">{{cita news |lingua=en |cognome=Bright |nome=Peter |titolo=Microsoft’s new Code editor is built on Google’s Chromium |url=https://arstechnica.com/information-technology/2015/04/microsofts-new-code-editor-is-built-on-googles-chromium/ |pubblicazione=[[Ars Technica]] |data=29 aprile 2015 |accesso=5 ottobre 2019}}</ref><ref name="gh-source">{{cita web |url=https://github.com/Microsoft/vscode |titolo=Microsoft/vscode |sito=[[GitHub]] |accesso=5 ottobre 2019}}</ref>
* [[WebTorrent]]<ref name="AP1" />
* [[WhatsApp]]
* [[Wire (software)|Wire]]<ref name="twire-github">{{cita web |url=https://github.com/wireapp/wire-desktop |titolo=wireapp/wire-desktop |sito=[[GitHub]] |accesso=5 ottobre 2019}}</ref>
Riga 59:
 
== Derivazioni ==
 
=== Electron.NET ===
Il 27 ottobre 2017, la comunità ha rilasciato un clone chiamato ''Electron.NET''<ref>[https://github.com/ElectronNET/Electron.NET Electron.NET]</ref> per il framework [[.NET Core]]. Questo è un progetto open source che consente l'accesso alle API Electron native passando per il [[C sharp|linguaggio di programmazione C#]]. Lo sviluppo .NET fa riferimento a proprio ecosistema, anziché utilizzare JavaScript.
 
 
== Note ==
<references/>
{{References}}
 
== Voci correlate ==
Line 71 ⟶ 69:
* [[Applicazione HTML]]
* [[Blink (motore di rendering)|Blink (browser engine)]]
* [[XULRunner]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{SitoCollegamenti ufficialeesterni}}
* [https://github.com/ElectronNET/Electron.NET Electron.NET su GitHub]
 
{{Portale|informatica}}
 
[[Categoria:Google Chrome]]
[[Categoria:Software del 2013]]