ΡΠ΅Π»ΠΈΠ· Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° , ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΡΡΠ΅Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Chromium, V8 ΠΈ Node.js. ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π² Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° , ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ JavaScript-Π΄Π²ΠΈΠΆΠΊΠ° V8 7.3. Π Π°Π½Π΅Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° 32-Π±ΠΈΡΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Linux Π΅ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΈ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ
5.0 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² 32-Π±ΠΈΡΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ.
Π‘ΡΠ΅Π΄Π° Π² API, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Electron:
- Π API ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡ
callback-Π²ΡΠ·ΠΎΠ²Ρ, Π² ΡΠΎΡΠΌΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Promise Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² Cookies API ΠΈ Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
app.getFileIcon, contentTracing.[getCategories| startRecording| stopRecording], debugger.sendCommand,
shell.openExternal, webContents.[loadFile| loadURL| zoomLevel| zoomFactor] ΠΈ win.capturePage; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΡΠ²Π΅ΡΠ°Ρ
Π²
macOS, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΠ·ΠΎΠ²Ρ systemPreferences.getAccentColor,
systemPreferences.getColor ΠΈ systemPreferences.getSystemColor; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ process.getProcessMemoryInfo, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ;
- Π ΠΌΠΎΠ΄ΡΠ»Ρ Β«remoteΒ», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ IPC-ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ IPC. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents ΠΈ webview.getWebContents;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ BrowserViews ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° BrowserWindow;
- Π ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²Π½ΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ Π·Π°ΠΊΡΡΡΠΈΡ ΠΎΠΊΠ½Π°;
- ΠΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ sandbox-ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² sandbox;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Β«ELECTRON_DISABLE_SANDBOXΒ» Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ sandbox-ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π½Π° Π±Π°Π·Π΅ Docker;
- ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ nodeIntegration ΠΈ webviewTag;
- API ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΡΠΎΠ³ΡΠ°ΡΠΈΠΈ (Spellchecker) ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅;
- ΠΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ ΠΈ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅:
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ mksnapshot Π΄Π»Ρ arm ΠΈ arm64, ServiceWorker Π² WebContents, Π²ΡΠ·ΠΎΠ²Ρ webFrame.setIsolated*, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ electron.screen,
child_process,
fs,
os ΠΈ path (ΡΠ΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· remote.require Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ WebContents).
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ 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 760 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½ΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ²ΡΡ , Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΊΠΎΠ΄ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
