ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎ Π΅ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Electron 13.0.0, ΠΊΠΎΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠ°ΠΌΠΎΠ΄ΠΎΠ²ΠΎΠ»Π½Π° ΡΠ°ΠΌΠΊΠ° Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Chromium, V8 ΠΈ Node.js. ΠΠ½Π°ΡΠ°ΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° ΡΠ΅ Π΄ΠΎΠ»ΠΆΠΈ Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Chromium 91, ΡΠ°ΠΌΠΊΠ°ΡΠ° Node.js 14.16 ΠΈ V8 9.1 JavaScript ΠΌΠΎΡΠΎΡΠΎΡ.
ΠΠ΅ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ ΡΠ²ΠΎΡΡΡΠ²ΠΎ process.contextIsolated Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΠΈ Π΄Π΅ΠΊΠ° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½, ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ ΠΏΡΠΎΡΠ΅Ρ.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ session.storagePath Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΡ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΡΠ΅ΡΠΈΡΠ°ΡΠ°.
- WebContents API ΡΠ° Π·Π°ΡΡΠ°ΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π½Π°ΡΡΠ°Π½ΠΎΡ βnew-windowβ ΠΈ Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ° ΡΡΠ΅Π±Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°Ρ ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ ΠΏΡΠ΅ΠΊΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΡ webContents.setWindowOpenHandler().
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ process.contextId, ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΎΡ @electron/remote ΠΊΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΎ Π΅ API Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΈΠ»ΠΈ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡ.
ΠΠ° ΠΏΠΎΡΡΠ΅ΡΠΈΠΌΠ΅, Electron Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π±ΠΈΠ»ΠΎ ΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°Ρ, ΡΠΈΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° Π²ΠΎ JavaScript, HTML ΠΈ CSS, Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠΈ ΠΏΡΠ΅ΠΊΡ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π΄ΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΈΠΌΠ°Π°Ρ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Node.js, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΡΠΎΡΠΈΡΠ΅Π½ API Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΈΡΠΎΠ΄Π½ΠΈ Π΄ΠΈΡΠ°Π»ΠΎΠ·ΠΈ, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΈ ΠΌΠ΅Π½ΠΈΡΠ°, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°ΡΠ΅, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ Chromium.
ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½ΠΈ ΡΠ΅ ΠΈΡΠΏΠΎΡΠ°ΡΡΠ²Π°Π°Ρ ΠΊΠ°ΠΊΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΠ½ΠΈ ΠΈΠ·Π²ΡΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ Π²ΡΠ·Π°Π½ΠΈ Π·Π° ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°Ρ. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, Electron ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ Π·Π° ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ Π²ΠΎ Chromium. Electron, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠ° ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ° (Π°ΠΆΡΡΠΈΡΠ°ΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΈΠ»ΠΈ ΠΎΠ΄ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ΄ GitHub).
ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Electron Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ Atom ΡΡΠ΅Π΄Π½ΠΈΠΊ, Mailspring ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π° Π΅-ΠΏΠΎΡΡΠ°, GitKraken Π°Π»Π°ΡΠΊΠΈ, WordPress Desktop ΡΠΈΡΡΠ΅ΠΌ Π·Π° Π±Π»ΠΎΠ³ΠΈΡΠ°ΡΠ΅, WebTorrent Desktop BitTorrent ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΎΡΠΈΡΠΈΡΠ°Π»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΠΊΠΎ Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire , Wrike, Visual Studio Code ΠΈ Discord. Π‘Π΅Π²ΠΊΡΠΏΠ½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Electron ΡΠΎΠ΄ΡΠΆΠΈ 1016 Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° Π½ΠΎΠ²ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ Π΅ ΡΠ΅Ρ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ Π΄Π΅ΠΌΠΎ-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠ·Π²ΠΎΡ: opennet.ru