ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ ΡΠ΅Π»ΠΈΠ· , ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½Π° ΡΠ°ΠΌΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ° ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° Chromium, V8 ΠΈ Node.js. ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π² Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π΄ΠΎ ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° , ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΈ JavaScript Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ V8 8.0.
ΠΠ΅ΠΆΠ΄Ρ Π² API, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Electron:
- Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ° Π²ΡΠ² ΡΠΎΡΠΌΡΠ»ΡΡΠΈ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΎΡΠΎ Π² Chrome ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ°;
- ΠΡΠΈ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ (IPC) Π°Π»Π³ΠΎΡΠΈΡΡΠΌ (Structured Clone Algorithm), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ V8 Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ JavaScript ΠΎΠ±Π΅ΠΊΡΠΈ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎΠ²ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π΅ ΠΏΠΎ-ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌ, Π±ΡΡΠ· ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½. ΠΡΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡΡΠ΅ΡΠΈ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π½ΠΎΠ²ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π²Π° ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ· ΠΏΡΠΈ ΠΏΠΎΡΡΠΈ Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅ Π² Π±ΡΡΠ΅Ρ (Offscreen Rendering) Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Chromium Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΡΡΠ°Π½Π° Π±Π΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ API: app.getApplicationNameForProtocol(url), BrowserWindow.getMediaSourceId(), BrowserWindow.moveAbove(mediaSourceId), session.downloadURL(url), session.addWordToSpellCheckerDictionary, tray.removeBalloon(), tray.focus(), contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture]).
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ Electron ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠΈΡΡΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π° JavaScript, HTML ΠΈ CSS, Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΡΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ. ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ° Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° Node.js, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ API Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ·ΠΈ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΈ ΠΌΠ΅Π½ΡΡΠ°, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° Chromium.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Electron, ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π±ΡΠ°ΡΠ·ΡΡΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΠ΅Π²ΠΎΠΆΠΈ Π·Π° ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ; Electron ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΎΡ Chromium. Electron ΡΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΊΠ°ΠΊΡΠΎ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΡΡΠ²ΡΡ, ΡΠ°ΠΊΠ° ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ GitHub).
ΠΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Electron, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΏΠΎΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° , ΠΏΠΎΡΠ΅Π½ΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ , ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Git , ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ· ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° SQL Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ , ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π²ΠΎΠ΄Π΅Π½Π΅ Π½Π° Π±Π»ΠΎΠ³ΠΎΠ²Π΅ WordPress Desktop, BitTorrent ΠΊΠ»ΠΈΠ΅Π½Ρ , ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΡΠΎ Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code ΠΈ Discord. Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Electron ΠΎΠΊΠΎΠ»ΠΎ 850 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ , Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΊΠΎΠ΄ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
