ΠΠΎΠΌΠΏΠ°Π½ΠΈΡΠ°ΡΠ° ΠΎΠ±Π»Π°ΡΡ 9 ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΈΠ·Π²ΠΎΡΠ½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ ΠΡΠΎΡΠΎΠΊ9, ΡΠΎΠΊΡΡΠΈΡΠ°Π½ Π½Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ. ΠΠΎΠ΄ΠΎΡ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Flow9 ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° Π²ΠΎ ΠΈΠ·Π²ΡΡΠ½ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π·Π° Linux, iOS, Android, Windows ΠΈ macOS ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅ Π²ΠΎ Π²Π΅Π±-Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ HTML5/JavaScript (WebAssembly) ΠΈΠ»ΠΈ ΠΈΠ·Π²ΠΎΡΠ½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ Π²ΠΎ Java, D, Lisp, ML ΠΈ C++. ΠΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° Π΅ Π»ΠΈΡΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΠΏΠΎΡΠ΅Π΄ GPLv2, Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΅ Π»ΠΈΡΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° MIT.
ΠΠ°Π·ΠΈΠΊΠΎΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΠ΄ 2010 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΊΠ°ΠΊΠΎ ΡΠ½ΠΈΠ²Π΅ΡΠ·Π°Π»Π½Π° ΠΈ ΠΌΡΠ»ΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΡΠΊΠ° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° Adobe Flash. Flow9 Π΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΠΊΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΈ Π·Π° Π²Π΅Π± ΠΈ Π·Π° Π΄Π΅ΡΠΊΡΠΎΠΏ ΠΈ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΎΠ΅ΠΊΡΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Area9 ΠΈ ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π±Π΅ΡΠ΅ Π½Π°ΡΠ΅ΡΠ΅Π½ Flow, Π½ΠΎ ΠΏΡΠ΅Π΄ Π΄Π° ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ ΠΊΠΎΠ΄ΠΎΡ Π±Π΅ΡΠ΅ ΠΎΠ΄Π»ΡΡΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π° Π²ΠΎ Flow9 Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΌΠ΅ΡΠ°ΡΠ΅ ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠΊΠΈΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΡΠΎΡΠΎΠΊ ΠΎΠ΄ Π€Π΅ΡΡΠ±ΡΠΊ.
Flow9 ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΠΏΠΎΠ·Π½Π°ΡΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠ° ΡΠ»ΠΈΡΠ½Π° Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ C (Π²ΠΈΠ΄ΠΈ ΡΠΏΠΎΡΠ΅Π΄Π±Π° ΠΊΠΎΠ΄ Π²ΠΎ Flow9 ΠΈ JavaScript), ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ Π°Π»Π°ΡΠΊΠΈ Π²ΠΎ ΡΡΠΈΠ»ΠΎΡ ML ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΠ°Π·ΠΈΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π΄ΠΎΠΌΠ΅Π½ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ (Π·Π° Flow9 ΠΎΠ²Π° Π΅ ΡΠ°Π·Π²ΠΎΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ). Flow9 Π΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈ ΡΡΡΠΎΠ³ΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅, Π½ΠΎ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ ΡΠΈΠΏ, ΠΊΠ°ΠΊΠΎ ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΈ. ΠΠΎΠ΄Π΄ΡΠΆΠ°Π½ Π΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·Π°ΠΌ (Π΅Π΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ), ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠ²ΠΈ, ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π½ΠΈΠ·ΠΈ, Ρ
Π΅ΡΠΎΠ²ΠΈ, Π»Π°ΠΌΠ±Π΄Π° ΠΈΠ·ΡΠ°Π·ΠΈ.
ΠΡΡΠΈΠΎΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΠΏΠΎΡΠ΅Π±Π½ΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΡ. ΠΡΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°Ρ, Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΎ Π΅ΠΊΡΠ°Π½ΠΈ Π½Π° Π΄ΠΎΠΏΠΈΡ ΠΈ Π½Π° Π΄Π΅ΡΠΊΡΠΎΠΏ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΡΠ°ΡΡΠ°ΡΡΡΠ° ΠΈ Π³Π»ΡΡΠ΅Ρ. ΠΡΠ΄ΠΈΠΌΠ΅ Π³ΠΎΡΠΎΠ²Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π²ΠΎ ΡΡΠΈΠ»ΠΎΡ React, Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎΡΡ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° Google Material Design. ΠΠΈΠ·Π°ΡΠ½ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π΄ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈ. ΠΠ° Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΡΡΠΈΠ»ΠΎΠ²ΠΈ Π½Π΅ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° CSS ΡΠΈΠ½ΡΠ°ΠΊΡΠ°. ΠΠ° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ Π½Π° Linux, macOS ΠΈ Windows ΠΊΠΎΠ³Π° ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π½ΠΈ Π²ΠΎ C++ ΠΊΠΎΡΠΈΡΡΠ°Ρ backend Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Qt ΡΠΎ OpenGL, Π° ΠΊΠΎΠ³Π° Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°Π½ Π²ΠΎ Java - JavaFX.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΎΡ ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ·Π°ΡΠΌΠ°Ρ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. ΠΠ°Π·ΠΈΠΊΠΎΡ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ΅Π½ ΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π° ΡΠ°ΠΌΠΎ 25 ΠΊΠ»ΡΡΠ½ΠΈ Π·Π±ΠΎΡΠΎΠ²ΠΈ, Π° Π³ΡΠ°ΠΌΠ°ΡΠΈΡΠΊΠΈΠΎΡ ΠΎΠΏΠΈΡ ΡΠ΅ Π²ΠΊΠ»ΠΎΠΏΡΠ²Π° Π²ΠΎ 255 ΡΠ΅Π΄ΠΎΠ²ΠΈ Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅. ΠΠ° Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° Flow9, ΠΏΠΎΡΡΠ΅Π±Π΅Π½ Π΅ 2-4 ΠΏΠ°ΡΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΊΠΎΠ΄ ΠΎΡΠΊΠΎΠ»ΠΊΡ Π½Π° HTML+CSS+JavaScript, C#, Swift ΠΈΠ»ΠΈ Java. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ Π·Π° ΡΠ΅ΡΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Tic-Tac-Toe ΠΎΠ΄ Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎ Π·Π° React Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ 200 Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ΄ Π²ΠΎ React/JavaScript/HTML/CSS, Π·Π° Flow9 ΡΡΠΏΠ΅Π°Π²ΠΌΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΡΠΎΠ° Π²ΠΎ 83 Π»ΠΈΠ½ΠΈΠΈ. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΎΠ²Π°Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π° Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΎΡ, ΡΡΠΊΡ ΠΈ Π΄Π° ΡΠ΅ ΡΠΎΡΡΠ°Π²ΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° iOS ΠΈ Android.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π³ΠΎ Π²ΠΊΠ»ΡΡΡΠ²Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ flowc, Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Flow9 ΠΈ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ°; ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π·Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊ (Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Π·Π³Π»ΠΎΠ±); Π΄Π΅Π±Π°Π³Π΅Ρ ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ gdb; ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΈ Π΄Π΅Π±Π°Π³Π΅Ρ Π·Π° ΡΠΎΠ±ΠΈΡΠ°Ρ Π½Π° ΡΡΠ±ΡΠ΅; JIT ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π·Π° x86_64 ΡΠΈΡΡΠ΅ΠΌΠΈ; ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°Ρ Π·Π° ΠΠ Π ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ; Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΠ° Π²ΠΎ C++ ΠΈ Java Π½Π° Π½Π°ΡΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Π·Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ; ΠΏΡΠΈΠΊΠ»ΡΡΠΎΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠΎ ΡΡΠ΅Π΄ΡΠ²Π°ΡΠΈ Π½Π° ΠΊΠΎΠ΄ Visual Code, Sublime Text, Kate ΠΈ Emacs; Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΠ°ΡΡΠ΅Ρ (PEG).
ΠΠ·Π²ΠΎΡ: opennet.ru