ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ ΡΠ΅Π»ΠΈΠ· , ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½Π° ΡΠ°ΠΌΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ° ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° 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
