ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Electron 28.0.0, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Chromium, V8 ΠΈ Node.js. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ Chromium 120, ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Node.js 18.18.2 ΠΈ JavaScript-Π΄Π²ΠΈΠΆΠΊΠ° V8 12.0.
Π‘ΡΠ΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° JavaScript-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ESM (ECMAScript Modules), ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ECMAScript 6 ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΡ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ (ΡΠ°Π½Π΅Π΅ Π² Electron ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ CommonJS, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Node.js). ESM-ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π² ΡΠ°ΠΌΠΎΠΌ Electron, ΡΠ°ΠΊ ΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ Π½Π° Π±Π°Π·Π΅ API UtilityProcess. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° EMS-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Electron Forge.
- ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Linux ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ELECTRON_OZONE_PLATFORM_HINT, ΡΠΏΡΠΎΡΠ°ΡΡΠ΅ΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Electron (ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π°Π³Π° «—ozone-platform-hint» Π² .desktop-ΡΠ°ΠΉΠ»).
- Π ΠΎΠ±ΡΠ΅ΠΊΡ Display Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° detected, maximumCursorSize ΠΈ nativeOrigin.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° WebContents.backgroundThrottling ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «false», ΠΎΡΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΡΡ ΠΊΠ°Π΄ΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° BrowserWindow.
- Π£Π΄Π°Π»Π΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ BrowserWindow.setTrafficLightPosition (ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ BrowserWindow.setWindowButtonPosition), BrowserWindow.getTrafficLightPosition (ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ BrowserWindow.getWindowButtonPosition), ipcRenderer.sendTo (ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ MessageChannel) ΠΈ app.runningUnderRosettaTranslation (ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ app.runningUnderARM64Translation). ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ scroll-touch-[begin|end|edge].
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Electron ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° JavaScript, HTML ΠΈ CSS, Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π° ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Node.js, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ API Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠΈΠ²Π½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΌΠ΅Π½Ρ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Chromium.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π±Π°Π·Π΅ Electron ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ Π±ΡΠ°ΡΠ·Π΅ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Electron ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π² Chromium. Electron ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΊ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°ΠΊ ΠΈ Π½Π°ΠΏΡΡΠΌΡΡ Ρ GitHub).
ΠΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Electron ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Atom, ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Mailspring, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Git GitKraken, ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π΅Π΄Π΅Π½ΠΈΡ Π±Π»ΠΎΠ³ΠΎΠ² WordPress Desktop, BitTorrent-ΠΊΠ»ΠΈΠ΅Π½Ρ WebTorrent Desktop, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΊ ΡΠ°ΠΊΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ, ΠΊΠ°ΠΊ Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code ΠΈ Discord. ΠΡΠ΅Π³ΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Electron ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ 756 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ²ΡΡ
Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π·Π°Π΄Π°Ρ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru