ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Area9 ΠΎΡΠ²ΠΎΡΠΈ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° Π΅Π·ΠΈΠΊ Π·Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Flow9, ΡΠΎΠΊΡΡΠΈΡΠ°Π½ Π²ΡΡΡ
Ρ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° Π΅Π·ΠΈΠΊΠ° 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++ ΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π°Π½ Π±Π΅ΠΊΠ΅Π½Π΄, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° 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 ΡΠΈΡΡΠ΅ΠΌΠΈ; ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π·Π° ARM ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ; ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π² C++ ΠΈ Java Π½Π° Π½Π°ΠΉ-ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠ°ΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄Π°; Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΈ Visual Code, Sublime Text, Kate ΠΈ Emacs; Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ (PEG).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru