Π½Π° ΡΠ΅ΠΌ ΠΏΠΈΡΡΡ desktop ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ° ΡΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ΅ desktop-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅? ΠΠ·Π³Π»ΡΠ΄ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π°Π²ΡΠΎΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ΅Π±Π΅ Π²ΡΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎΠ΄ ΠΎΠ΄Π½Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Early adopters ΡΠΈΠ΄ΡΡ ΠΏΠΎΠ΄ ΠΌΠ°ΠΊΠ°ΠΌΠΈ, ΠΌΠ΅ΠΉΠ½ΡΡΡΠΈΠΌ ΡΠΈΠ΄ΠΈΡ ΠΏΠΎΠ΄ Win32, Π° Π³ΠΈΠΊΠΈ ΠΈ Π°Π΄Π΅ΠΏΡΡ open source ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Linux. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, Π° ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΠ°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, Π½Π° ΡΠ΅ΠΌ ΡΡΠΎΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ΅ desktop-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΈΠ³Π»Π°ΡΠ°Ρ Π²ΡΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π»ΡΠ΄Π΅ΠΉ Ρ ΠΎΠΏΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ β ΡΡΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π£Π²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠ°Π»ΠΈ ΠΎΠ±ΡΠΈΠ΅ ΡΠ΅ΡΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠΎ Π²ΡΠΎΡΡΡ β ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΡ Π·Π°Π΄Π°ΡΠ° β ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ Π±ΠΈΠ·Π½Π΅Ρ, Π° Π½Π΅ ΠΈΠ³ΡΠ°ΡΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΡΠ°ΠΌΠΊΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ-Β«ΡΠ°ΠΉΠ½ΠΈΠΊΠ°Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°: ΠΌΠΈΠ½ΠΈΠΌΡΠΌ GUI, Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ Π‘++ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΡ ΡΡΠΎ, Π½Π°ΡΠ½Π΅ΠΌ. ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ? Π― ΡΠ°ΡΡΠΌΠΎΡΡΡ Java, C#, C++, Python. ΠΡΠ΄Ρ ΡΠ°Π΄, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎ Π΄ΡΡΠ³ΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°Ρ .
ΠΠ°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ/ΡΡΠ΅Π΄Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π½Π΅ΡΡΠΎ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ΅. ΠΠ° Java Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π²ΡΠΎΠ΄Π΅ Eclipse ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ.
ΠΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠ½Π΅ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Β«ΡΠΎΠ΄Π½ΠΎΠΉΒ» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Win32. ΠΠ΅ Π·Π½Π°Ρ, ΡΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, Π½ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½ΠΎ.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: Eclipse, ZDE, ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ Gnutella Limewire.
ΠΠ»ΡΡΡ: ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π΄ΡΠΎΠ², ΡΠ°Π·Π²ΠΈΡΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΠΈΠ½ΡΡΡ: Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΡΠΈΠ²ΠΎΡΡΡ GUI, Π½ΠΈΠ·ΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Ρ Java, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° C# ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠΈΠ½ΡΡ β Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ. Π― ΡΠ°ΠΌ ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. ΠΠ΅Π½Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±ΡΠ΄ΡΡ Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ.
Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ β ΡΠΏΠ»ΠΎΡΠ½ΡΠ΅ ΠΏΠ»ΡΡΡ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉπ
ΠΠ»ΡΡΡ: ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π΄ΡΠΎΠ², Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ°Π·Π²ΠΈΡΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΠΈΠ½ΡΡΡ: Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
Π‘ΡΠ°ΡΠΈΡΠΎΠΊ Π΄ΠΎΡΡΠ½ΡΠ» Π΄ΠΎ Π½Π°ΡΠΈΡ Π΄Π½Π΅ΠΉ ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π±Ρ ΡΡΠ²ΡΡΠ²ΡΠ΅Ρ. ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Linux ΠΈ Windows Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΏΠΈΡΡΡΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° C++, ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΏΠ°ΠΌΡΡΡ). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΅ΡΡΡ ΠΌΠ°ΡΡΠ° ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΠΉ ΠΊ Π‘++. ΠΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, ΡΠ·ΡΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΒ» ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΈΠΆΠ°ΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ TIOBE.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ (Π²ΡΠΎΠ΄Π΅ Ruby ΠΈ Python), ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅Π½Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ»Ρ ΡΡΠ°ΡΡΠ°ΠΏΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π΅ ΡΡΠΎΠ»Ρ Π²Π°ΠΆΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΌΠΈΠ½ΡΡΠΎΠΌ.
ΠΡΠΈΠΌΠ΅ΡΡ: Firefox.
ΠΠ»ΡΡΡ: ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π΄ΡΠΎΠ², Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠΈΠ½ΡΡΡ: Π½Π΅Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Python
ΠΠ·Π³Π»ΡΠ½ΡΡΡ Π½Π° Python Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ desktop-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠ΅Π½Ρ Π·Π°ΡΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° MusicBrainz Picard. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²ΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΡ ΡΡΡΠ½ΠΎΡΡΡ, Python Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ exe-ΡΠ°ΠΉΠ», Π½Π΅ ΡΡΠ΅Π±ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ·ΡΠΊΠΈ Π²ΡΠΎΠ΄Π΅ Python Π±ΡΠ΄ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ»ΡΡΠΎΠΌ. ΠΠ΅Π³ΠΊΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π»ΡΠ±ΠΎΠΌΡ ΡΡΠ°ΡΡΠ°ΠΏΡ.
ΠΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΌΠΈΠ½ΡΡΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Β«ΠΌΠΎΠ΄Π½ΡΡ Β» ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡ Π½ΠΈΠ·ΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅, Π° Π·Π½Π°ΡΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ°Π΄ΡΠΎΠ². Π‘ΠΈΡΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈΡΠ°ΠΊ ΠΏΠ»Π°ΡΠ΅Π²Π½Π°Ρ, Π° Π΅ΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΡΠ·ΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ β ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ Π½Π°ΠΉΡΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Ρ ΡΠ°Π±ΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΈΠΌΠ΅ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ Π²ΡΠ±ΡΠ°Π² Β«ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉΒ» ΡΠ·ΡΠΊ, ΠΌΡ ΡΡΠ°Π·Ρ ΠΎΡΡΠ΅ΡΠ΅ΠΌ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΠ΅ΡΠ΅Π΄Π½ΡΡΠΊΠΎΠ², ΠΎΡΡΠ°Π²ΠΈΠ² ΡΠ΅Π±Π΅ Π²ΡΠ±ΠΎΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ: MusicBrainz Picard, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ BitTorrent.
ΠΠ»ΡΡΡ: Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π½Π° Π‘ ΠΈ Π‘++.
ΠΠΈΠ½ΡΡΡ: ΠΌΠ°Π»ΠΎ ΠΊΠ°Π΄ΡΠΎΠ², Π½ΠΈΠ·ΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π»ΡΠ±Π°Ρ ΠΈΠ· Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ, ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°ΠΉΡΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ. ΠΡΠ±ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠΈΠ½Π΅ΡΠ΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π²ΡΡΠ°.
Π― ΠΏΠΎΠΊΠ° Π²ΡΠ±ΠΈΡΠ°Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π‘++ ΠΈ Python. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌΒ» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ. ΠΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΡΠΌΒ», Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΈ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ. ΠΠ°Π΄Π΅ΡΡΡ, Π²Π°ΡΠΈ ΠΎΡΠ·ΡΠ²Ρ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΌΠ½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ. ΠΠ°ΠΊΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ Π±Ρ Π²Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΌΠ΅ΡΡΠ΅?
PS. Π― ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π² ΡΡΠΎΡ ΡΡΠ°ΡΡΠ°ΠΏ (Ρ++/python/php), ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ β ΠΏΡΠΈΡΡΠ»Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠ΅ ΡΠ΅Π·ΡΠΌΠ΅.
ΠΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
ΠΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
Π‘Π΅ΠΉΡΠ°Ρ ΡΡΡ Π‘++, Π½ΠΎ Π² ΠΈΡΠΎΠ³Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠΈΡΠ°Π»ΡΡ Π²ΡΡΠΊΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» Π³Π»Π°Π· Π½Π° ΡΠ°ΠΊΠΎΠΉ Π―Π ΠΊΠ°ΠΊ Python. ΠΠΎΠΎΠ±ΡΠ΅, ΠΎ Π½ΡΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ·ΡΠ²Π°ΡΡΡΡ, Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ ΡΠΎ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠ°, ΠΊΠ΅ΠΌ Ρ ΠΈ ΡΠ²Π»ΡΡΡΡ. Π Π΅ΡΠ΅, Ρ ΡΠ°ΠΌΠΎΡΡΠΊΠ°, Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π½Π°Π±ΡΠ°Π²ΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡΡΠ°, Ρ
ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΎΠΈΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ, ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ, Ρ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ Π½Π° ΡΡΠ½ΠΊΠ΅, Π½Ρ Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ Ρ
ΠΎΡΡ Π±Ρ ΡΡΠΎΠ±Ρ Π΄Π°Π²Π°Π» Π½Π΅ΠΏΠ»ΠΎΡ
ΡΡ Π±Π°Π·Ρ, Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠΈΠ²Ρ Π² Π‘ΠΠ±. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π», Π½ΡΠΆΠ½Ρ Π·Π½Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ
Π―Π»ΠΎΠ² ΠΊΠ°ΠΊ: 1Ρ, Π‘#, Π‘++. ΠΡ ΠΈ ΡΡΠ΄ Π΄ΡΡΠ³ΠΈΡ
Π΄Π»Ρ Π²Π΅Π±Π°, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° PHP, Java Script etc.
ΠΠΎΠΎΠ±ΡΠ΅, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π°, Ρ Π²ΠΈΠΆΡ ΠΏΡΡΡ ΡΠ°ΠΊΠΈΠΌ: ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π―Π; ΠΎΠΊΡΠ½ΡΡΡΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠΈΠΏΠ° SQL/MySQL, Π½Ρ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ English. Π ΡΡΠΎ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΡ Π½Π° ΡΡΠΎΡ ΡΡΡΡ? Π― ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΡΠΏΠ»ΡΠ²ΡΠ°ΡΠΎ Π²ΡΡ Π½Π°ΠΏΠΈΡΠ°Π», Π΄Π°ΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΡΠ΅Ρ Π°Π» Ρ ΡΠ΅ΠΌΡ, Π½ΠΎ Π·Π° Π»ΡΠ±ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½.
ΠΡΠ΅Π½ΠΈΡΡ 6 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²
> Π΄Π΅Π»ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² IDE, Π° Π² ΠΆΡΡΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΊΠ°ΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
ΠΡΠΎ Π²Ρ ΠΎ ΡΠ΅ΠΌ?
> GUI β ΡΡΠΎ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, Π½ΡΠΆΠ½ΠΎ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΈ ΡΠ°ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π΄Π΅Π»Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
Π Π·Π΄Π΅ΡΡ Ρ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Ρ Architect’Π°, ΠΈ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΡΡΡ ΡΠ΄ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅ΡΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ GUI-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ.
ΠΠΎ Π»ΠΈΠ½ΡΠΊΡΠΎΠΈΠ΄Ρ Ρ ΡΡΠΈΠΌ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠ½Ρ ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅ΠΌ Π½Π΅ Π»ΡΠ±ΡΡ GUI, Π° Π»ΡΠ±ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ ΡΠΊΡΠΈΠΏΡΡ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π»ΠΈΠ½ΡΠΊΡΠΎΠΈΠ΄ΠΎΠ²ΡΠΊΠΈΠ΅ Development Tools ΠΎΡΡΡΠ°ΡΡ ΠΏΠΎ GUI. Π Ρ ΡΡΠΈΠΌ *Π½Π΅* Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ.
Π Π²ΠΎΡ Π½Π° Π²ΠΈΠ½Π΄Π΅, GUI Π²ΠΎ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΈ Ρ ΡΡΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΅Π»Π°ΡΡ, Π° Π·Π½Π°ΡΠΈΡ, Π½Π° Π²ΠΈΠ½Π΄Π΅ Π½Π°Π΄ΠΎ ΡΠ·Π°ΡΡ C#, Π° Π½Π΅ Π»ΠΈΠ½ΡΠΊΡΠΎΠΈΠ΄ΠΎΠ²ΡΠΊΠΈΠ΅ Development Tools.
Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅, ΠΎΡ ΡΠ΅Π³ΠΎ ΠΏΡΡΠ°Π»ΠΈΡΡ ΡΠΉΡΠΈ.
ΠΠ°, Ρ ΠΏΠΈΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Windows
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΠΌΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΈ Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Windows. Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π²ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ Β«ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉ, ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ!Β», Π° ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ Β«ΠΠΎΠ»ΠΎΠ΄Π΅Ρ, ΡΡΠΎ ΠΎΡΠΎΠ·Π½Π°Π»!Β». Π ΠΏΠΎΡΠΎΠΌ Π²ΡΠ΅ ΠΏΠΎΡ
Π»ΠΎΠΏΠ°ΡΡ. ΠΠ΅Ρ, ΠΏΡΠ°Π²Π΄Π°, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡ ΡΡΠ΅Π½ΠΈΡ Π₯Π°Π±ΡΠ° Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½Π΅Ρ, Π΄Π°ΠΆΠ΅ Π½Π΅ Β«Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΒ», Π° Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΠΈ ΠΎΠ΄ΠΎΠ±ΡΡΠ΅ΠΌΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ ΡΡΠ°ΡΡΠ°ΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ REST API ΠΎΡΠ΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Ρ Π½Π° ΠΠ½Π³ΡΠ»ΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ Π±ΡΠ΄Π΅Ρ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅, Π²ΡΠΎΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ Π°Π³Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΎΡΠ·ΡΠ²Π°ΠΌΠΈ ΠΎ ΡΡΡΠΈΠΆΠΊΠ°Ρ
ΠΏΡΠ΄Π΅Π»Π΅ΠΉ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π³ΡΠ³Π»ΠΎΠΊΠ°ΡΡΠ°Ρ
Π³Π΄Π΅ Π±Ρ Π² Π²Π°ΡΠ΅ΠΌ Π³ΠΎΡΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΡΡ ΡΡΡΠΈΠΆΠΊΡ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠ΄Π΅Π»Ρ (Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ). Π Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΈΡΠ°ΡΡ ΡΠΆΠ΅ Π½Π΅Ρ-Π½Π΅Ρ, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ! Π§ΡΠΎ Π·Π° ΡΡΡΡ?!
ΠΠ°, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π²Π΅Π±Π΅ ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , Π½ΠΎ, Π·Π½Π°Π΅ΡΠ΅ Π»ΠΈ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΡ. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠΌ ΡΠΎΡΡΠΎΠΌ. Π Π΄Π°ΠΆΠ΅ (ΠΎ, ΡΠΆΠ°Ρ!) Π½Π΅ ΠΏΠΎΠ΄ Mac Os ΠΈΠ»ΠΈ Linux, Π° ΠΏΠΎΠ΄ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ³ΠΎΠΌΠ΅ΡΠ·ΠΊΠΈΠΉ Windows. Π, Π·Π½Π°Π΅ΡΠ΅ Π»ΠΈ, ΡΠΎΡΡ ΡΡΠΎΡ ΠΆΠΈΠ²ΡΡ, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π»ΡΠ΄Π΅ΠΉ. Π Π½ΠΈΠΊΡΠ΄Π° ΠΎΠ½ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ.
ΠΠ΅ΡΠΊΡΠΎΠΏΠ½ΡΠΉ ΡΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°
Π Π°Π±ΠΎΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΏΡΠ΅ΡΠ²Π΅ΡΡΡ ΠΎΡ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΡΠΎΠ»Π±Π° Π½Π° Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡ ΠΠΌΠ°Π·ΠΎΠ½Π° ΠΈΠ»ΠΈ ΡΠΌΠ΅Π»ΠΎΠ³ΠΎ ΡΡΠ°ΠΊΡΠΎΡΠΈΡΡΠ° Π² ΡΠΎΡΠ΅Π΄Π½Π΅ΠΌ Π΄Π²ΠΎΡΠ΅. ΠΡΡ ΠΌΠΎΡΡ ΠΊΡΠΈΠ²ΠΎΡΡΠΊΠΈΡ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½ΠΎΠ² ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, ΠΠ΅Π»ΠΈΠΊΠΈΡ ΠΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΡΠ²Π΅Π½Π½ΡΡ Π€Π°ΠΉΡΠ²ΠΎΠ»ΠΎΠ², Π³ΠΎΡΠ΅-Ρ Π°ΠΊΠ΅ΡΠΎΠ², ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ β Π²ΡΡ ΡΡΠΎ Π±Π΅ΡΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΠ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΡ, ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ Autocad\Maya\ΠΠ_ΠΏΠΎ_ΡΠ°ΡΡΡΡΡΡ_Π΄ΡΡΡΠ°ΡΠΎΡΡΠΈ_Π±ΡΠ±Π»ΠΈΠΊΠΎΠ² β ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½Π΅ΡΡΡ Π΅Π³ΠΎ ΡΠΈΡΠΌΠ΅ Π΄Π΅Π½ΡΠ³ΠΈ. Π Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ.
ΠΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ
ΠΠ΅Ρ, Π±ΡΠ²Π°ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΄Π°ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅ΡΠ΅Π· Π³ΠΎΠ΄ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡΡ Π² ΡΡΠΊΠ²ΡΒ» Π·Π°ΠΌΠ΅Π½ΡΡΡ Π½Π° Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°ΡΠ½ΡΡ Β«Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅ΡΠ΅Π· Π³ΠΎΠ΄ ΠΎΡΠΊΠ°ΡΠΈΡ Π²ΡΠ΅ Π°ΠΏΠ΄Π΅ΠΉΡΡ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ Π² ΡΠ΅ΠΌΠ΅Π½Π° ΡΡΠΊΠ²ΡΒ». ΠΠΎ ΡΡΠΎ ΡΠ΅Π΄ΠΊΠΎ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Ρ ΠΏΠΎΠΊΡΠΏΠ°Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ β ΠΈ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΡ, ΡΡΠΎ Π±Ρ ΡΠ°ΠΌ Π΄Π°Π»ΡΡΠ΅ Π½Π΅ ΡΡΡΠ΅Π»ΡΠ½ΡΠ»ΠΎ Π² Π³ΠΎΠ»ΠΎΠ²Ρ Π΅Ρ Π°Π²ΡΠΎΡΠ°ΠΌ β ΡΠΆ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΡΠ° Π²Π΅ΡΡΠΈΡ Ρ Π²Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ! 100% Π³Π°ΡΠ°Π½ΡΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π·Π°Π²ΡΡΠ° Π²Ρ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈ Π²ΠΎΡ ΡΡΠΎΡ Π²ΠΎΡ ΡΡΠ»ΡΠΊ Π·Π°ΠΏΡΡΡΠΈΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π²ΡΠ΅ΡΠ° β Π½Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π»ΠΈ ΡΡΠΎ? ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π° ΡΠ°ΠΊΡΡ ΠΆΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡ Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°? ΠΠ° ΡΠ΅ΡΡΠ° Ρ Π΄Π²Π° β Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Π½Π΅Π΄Π°Π²Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΏΡΠΎ ΠΊΠΈΠ½ΠΎ. ΠΡ ΡΠ°ΠΊ Π»Π°Π΄Π½ΠΎ ΠΊΠΈΠ½ΠΎ, Π° Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Ρ ΡΠ΅ΡΡΡΡΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π²ΡΠ·Π°Π½Π° Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π·Π°ΡΠΏΠ»Π°ΡΠ°?
ΠΠ΅ΡΠΊΡΠΎΠΏΠ½ΡΠΉ ΡΠΎΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΎΡΡΠ°, ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½Π΅ΠΉ Π±ΡΡΡΡΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΡ ΠΈΠ·ΡΡΠ°Π΅ΡΡ Π±ΡΡΡΡΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΡΠΆΠ΅ Π½Π΅ ΠΈΡΠ΅ΡΡ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΡ Π·Π½Π°Π΅ΡΡ ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠΎ Π·Π°ΠΉΠΌΡΡ. Π Π°Π±ΠΎΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠΉ. ΠΡΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π² ΡΠΈΡΠΌΠ΅ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠ»Π°ΡΡΠΈΠΊΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ ΡΠΆΠ΅ ΡΠ°ΡΡΡΠΈΡΠ°Π» Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ 100 ΠΎΠΊΠΎΠ½, ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΡΡΡΠ° 101-Π³ΠΎ ΠΎΠΊΠ½Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°Π·Π²Π°ΡΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄. Π Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π². ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π° ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅Π΅ Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ? ΠΠ³Π°, ΡΠ°Π·ΠΎΠ³Π½Π°Π»ΠΈΡΡ. ΠΠ°ΠΊ ΠΆΠ΅ ΠΌΠ΅Π½Ρ Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ Π±Π΅ΡΠΈΠ» Gmail, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊ ΡΠ°ΠΊΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠ΅ 2 Π½Π΅Π΄Π΅Π»ΠΈ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°Π» ΡΠΎ ΡΠΈΠ»ΡΡΡΡ, ΡΠΎ ΡΠ΅Π³ΠΈ, ΡΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΡΠΎ 5 ΡΠ°Π·Π½ΡΡ Π²ΠΈΠ΄ΠΎΠ² UI, ΡΠΎ ΡΠ°Ρ, ΡΠΎ Π΅ΡΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΠ΅ΡΡΠ° Π»ΡΡΠΎΠ³ΠΎ. ΠΡΠΎΡΡΠΎ Π΄Π°ΠΉ ΠΌΠ½Π΅ ΠΌΠΎΡ ΠΏΠΎΡΡΡ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠΉ! ΠΠ΅Ρ, ΡΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ, Π½Π°Π΄ΠΎ Π²ΠΎΡ ΡΡΠ΄Π° ΡΡΡΠ΅ΡΠΊΡ ΠΈ ΡΡΠ΄Π° ΠΈΠΊΠΎΠ½ΠΎΡΠΊΡ. ΠΡ ΠΈ Π»Π°Π΄Π½ΠΎ, ΠΏΠΎΠΉΠ΄Ρ-ΠΊΠ° Ρ Π² Outlook. Π‘ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠΌ ΡΠΎΡΡΠΎΠΌ Π²Ρ ΡΠ°ΠΌΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠ΅ΡΠ°Π΅ΡΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΈ Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ΅ΡΠΊΡΠΎΠΏΠ½ΡΠΉ ΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
Π§Π°ΡΡΠ΅Π½ΡΠΊΠΎ Ρ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Π΅ΡΡΡ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ. ΠΡ ΠΈΠ»ΠΈ Π΅ΡΡΡ SDK ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠ°ΠΌΠΎΠΌΡ. ΠΠ»ΠΈ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ Π·Π° Π΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ. Π Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π½Π΅Ρ, ΡΠΎ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΡΡΠΎ-ΡΠΎ Π΄Π° Π΅ΡΡΡ: Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³ΠΎ-ΡΠΎ ΡΠΈΠΏΠ° AutoIt, Π΅ΡΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΡΡΠΈΡΡ, Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅-ΠΊΠΎΠ½ΡΠΎΠ², Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ°ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΡΡ\ΠΏΠΎΠ½ΡΡΡ\Π΄ΠΎΠ±Π°Π²ΠΈΡΡ. ΠΠ΅Ρ, ΡΠ°ΠΊΠΎΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ ΡΠ°ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΡΠ΅Π½Ρ Π½Π°Π΄ΠΎ, Π²ΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΆΠΈΠ·Π½ΠΈ ΠΈ ΡΠΌΠ΅ΡΡΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΡΠ²Π°, ΡΠΎ ΡΡΠΎ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π ΡΡΠΎ Ρ ΡΠ°ΠΉΡΠΎΠΌ? ΠΠ°ΡΠ°ΡΡΡΡ Ρ Π½Π°Ρ Π»ΠΈΠ±ΠΎ Π½Π΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΏΠΎΠ΄Π΄Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ Π΅ΡΡΡ API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠΎΠ²Π½ΠΎ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎΠ±Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠΎΠ»ΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ Π½ΠΈΠΌ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ. ΠΡ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅.
ΠΠ΅ΡΠΊΡΠΎΠΏΠ½ΡΠΉ ΡΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠ½Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ IE ΠΈΠ»ΠΈ Π½Π΅Ρ Flash ΠΈΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π½Π° Java β Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΡΠ°Π²Π»Ρ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠΎΠΌ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅. ΠΠ½Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π³Π΅ΠΎΠ»ΠΎΠΊΠ°ΡΠΈΡ ΠΈΠ»ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΌΠΈ β Ρ ΠΏΡΠΎΠΏΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ Π½Π° ΡΡΠΎ Π² ΡΠΎΠΌ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ ΡΠΈΡΠ°Ρ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΆΠ΅Π»Π΅Π·Ρ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄ΠΈΡΠΊΡ. Π― ΠΌΠΎΠ³Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²ΡΡ, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΈ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π³Π΅ΡΠΎΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ ΡΠΈΠΏΠ° Β«ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π² Π΄ΡΡΠ³ΡΡΒ» ΠΈΠ»ΠΈ Β«ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΠΏΠ»Π°ΡΡΠΆ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΡΠΈΠΏΡΠΎΠΊΠ»ΡΡΠ°Β».
Π‘ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠΌ ΡΠΎΡΡΠΎΠΌ Π±ΡΡΡΡΠ΅Π΅ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ
ΠΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠ°ΡΠ°Π΄ΠΎΠΊΡΠ°Π»ΡΠ½ΡΠΌ β Π²Π΅Π΄Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΠ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, Π° ΡΠ°ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΡΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π°Π»ΡΡΠ΅: Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ΅ ΠΠ Π·Π°ΠΏΡΡΡΠΈΡΡΡ ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡ ΠΊΠ»ΠΈΠΊΡ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ ΠΈ ΡΡΠ°Π·Ρ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ΅. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠ°ΠΉΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠΎΠΏΡΠΎΡΠΈΡ Π²Π°Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ (Π½ΡΠ΄Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, Π΅ΡΡ Π½Π΅Π±ΠΎΡΡ ΠΈ ΠΊΠ°ΠΏΡΡ ΡΠ°Π·Π³Π°Π΄ΡΠ²Π°ΡΡ Π·Π°ΡΡΠ°Π²ΡΡ), ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΡΠ»ΡΡ Π²Π°ΠΌ ΠΏΠΈΡΡΠΌΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΡΡΡ, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠΏΡΠΎΡΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΡΠ»ΠΈ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΏΠ»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ , ΡΠΎ Π·Π° Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ 1 ΡΠ°Π·, Π° ΡΠ°ΠΉΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠΏΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²Π·Π½ΠΎΡΡ. Π ΠΈΡΠΎΠ³Π΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΠ°ΡΡ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ ΠΈ 2 ΡΠ°Π·Π° Π½Π°ΠΆΠ°ΡΡ Β«NextΒ» Π² ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΡΠ΄Π° Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΎΠ±Π΅ΠΆΠΊΠΈ ΠΏΠΎ Π³ΡΠ°Π±Π»ΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠ΄Π½ΡΠΌ ΡΠ°ΠΉΡΠΎΠΌ.
ΠΠ΅ΡΠΊΡΠΎΠΏΠ½ΡΠΉ ΡΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠΎ
ΠΠ°-Π΄Π°, Ρ Π·Π½Π°Ρ ΡΡΠΎ Javascript ΠΏΠΎ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΆΠ΅ Π² 2 ΡΠ°Π·Π° Π±ΡΡΡΡΠ΅Π΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°. ΠΠ° Ρ ΠΎΡΡ Π² 10 ΡΠ°Π· Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ ΡΡΠΈ Π²Π°ΡΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ β ΡΡΠΎ-ΡΠΎ Π½Π΅ Π²ΡΡ ΠΎΠ΄ΡΡ ΠΏΠΎΠΊΠ° ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Call of Duty ΠΈ GTA Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ . ΠΠΎ-ΡΡΠ°ΡΠΈΠ½ΠΊΠ΅ Π³ΠΎΠ½ΡΡΡ Π±Π°ΠΉΡΠΈΠΊΠΈ Π΄ΡΠ΅Π²Π½ΠΈΠΌ Π½Π°ΡΠΈΠ²Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΎΠ½ΠΈ? ΠΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ, Π²ΠΈΠ΄ΠΈΠΌΠΎ.
ΠΠ΅ΡΠΊΡΠΎΠΏΠ½ΡΠΉ ΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ
Π‘Π°ΠΌΡ ΠΈΠ½ΡΡΠ°Π»ΡΡ Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠΎΠΌ. Π ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ. Π Π΅ΡΡ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡ ΡΠ·Π΅ΡΠ° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ. ΠΠ»ΠΈ Π² Π²ΠΈΡΡΡΠ°Π»ΠΊΠ΅. ΠΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠ°ΠΉΡΠ²ΠΎΠ»ΠΎΠΌ. ΠΠ°Π½Π½ΡΠ΅ ΠΈΠ· Π½Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π° ΠΌΠΎΠΆΠ½ΠΎ β Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ Π΄ΠΈΡΠΊ. ΠΠΎΠΆΠ½ΠΎ Π·Π°Π±Π΅ΠΊΠ°ΠΏΠΈΡΡ. Π£Π΄Π°Π»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ. Π§ΡΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠΌ? ΠΡ ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅, ΡΡΠΎ ΠΎΠ½ ΡΠ΄Π΅Π»Π°Π΅Ρ Ρ Π²Π°ΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΡΠ΄Π° ΡΠΎΡ ΡΠ°Π½ΠΈΡ, ΠΊΠΎΠΌΡ ΠΏΡΠΎΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ΅ΡΡΠ΅Ρ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ Π·Π°Π±Π΅ΠΊΠ°ΠΏΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠ°Π²ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°.
ΠΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ Π² ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ Π½Π°Ρ Ρ Π°Π±ΡΠ°ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ) ΡΠ°ΠΊ ΠΌΠ°Π»ΠΎ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠΌΡ ΠΠ ΠΈ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²Π΅Π±- ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅?
Π‘ΠΊΠ°ΠΆΠΈ Β«Π½Π΅ΡΒ» Electron! ΠΠΈΡΠ΅ΠΌ Π±ΡΡΡΡΠΎΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° JavaFX
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΠΊΠΈΡ ΡΠΎΡΡΠΌΠ°Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ Π½Π΅ΡΠ»Π°Π±ΡΠ΅ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ (Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΌ. Π·Π΄Π΅ΡΡ, Π·Π΄Π΅ΡΡ ΠΈ Π·Π΄Π΅ΡΡ, ΠΈ ΡΡΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΡΡ) ΠΎΠ± Electron ΠΈ Π΅Π³ΠΎ Π²Π»ΠΈΡΠ½ΠΈΠΈ Π½Π° ΡΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ Electron, ΡΠΎ ΡΡΠΎ ΠΏΠΎ ΡΡΡΠΈ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ (Chromium) Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅β¦ ΡΠ»ΠΎΠ²Π½ΠΎ Π½Π°ΡΡΠΎΡΡΠ°Ρ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° (Π½Π΅Ρ, ΡΡΠΎ Π½Π΅ ΡΡΡΠΊΠ°)β¦ ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΠ΅ΠΊ ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘Π°ΠΌΡΠ΅ Π½ΠΎΠ²ΡΠ΅, Ρ ΠΈΠΏΡΡΠ΅ΡΡΠΊΠΈΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ΄Π΅Π»Π°Π½Ρ Π½Π° Electron, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Slack, VS Code, Atom ΠΈ GitHub Desktop. ΠΠ΅ΠΎΠ±ΡΡΠ°ΠΉΠ½ΡΠΉ ΡΡΠΏΠ΅Ρ .
ΠΡ ΠΏΠΈΡΠ°Π»ΠΈ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡΠΌΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π²Π΅Π± ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π» ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ 20 Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΠΈ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ ΡΠ»ΡΠΆΠΈΠ» ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Β«Π³ΠΈΡΠΎΠΊΒ». ΠΠΈΠΊΡΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ !
ΠΠ΅ΡΡΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΅Π±Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΡΡΠΎ ΡΡΠ΅ΠΊ Π²Π΅Π±-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ Π½Π°ΡΡΡΠΏΠΈΠ» 2017 Π³ΠΎΠ΄, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΡΡ Π»ΡΠ΄Π΅ΠΉ ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Electron β ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΈΠ΄Π΅Ρ!
ΠΠ΄Π΅ΡΡ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π° Π²Π΅Π±-ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΎΠ½ Π΄Π°Π»ΡΠΊ ΠΎΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²Π°, ΠΈ Π²ΡΡΠ΄ Π»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΠΈΡΡ, ΡΡΠΎ Π²Π΅Π± β ΡΡΠΎ Π±Π°ΡΠ΄Π°ΠΊ), ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π°Π» ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ UI Π½Π° Π΄Π΅ΡΠΊΡΠΎΠΏΠ°Ρ . ΠΡΠ»ΠΈ Π»ΡΠ΄ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎΡΠ³ΡΡΠΆΠ°ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΡΠ΅Π»ΡΠΉ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ JavaScript (ΡΠ°ΡΠΊΠ°Π·ΠΌ) Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΡΠ°ΠΊ.
Π’Π°ΠΊ ΡΡΠΎ ΡΡΠΎ Π·Π° ΡΠΆΠ°ΡΠ½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ³ΡΠ°Π»ΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΡΡ Π±ΠΎΡΡΠ±Ρ Π²Π΅Π±-ΡΡΠ΅ΠΊΡ?
Π― ΡΠ΅ΡΠΈΠ» Π²Π·Π³Π»ΡΠ½ΡΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Electron
ΠΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΎΠ·ΡΠ°ΠΆΠ°Π΅ΡΠ΅, ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΡΠΏΠΏ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ ΠΠ‘, ΡΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ: AppKit Π΄Π»Ρ MacOS, WPF Π΄Π»Ρ Windows (Ρ Π½Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π°ΠΉΡΠ΅ Π·Π½Π°ΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π² Π½Π°ΡΠΈ Π΄Π½ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ).
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΡ Electron β ΡΡΠΎ ΠΌΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ. ΠΡΠΌΠ°Ρ, ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΡΠ°ΠΌΡΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ²Π»ΡΡΡΡΡ GTK+, Qt ΠΈ JavaFX.
GTK+ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C, Π½ΠΎ ΡΠ²ΡΠ·Π°Π½ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ. ΠΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ GNOME-3.
Qt ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ Electron Π² Π΄ΠΈΡΠΊΡΡΡΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈΡΡ ΠΌΠ½Π΅ Π½Π° Π³Π»Π°Π·Π°β¦ ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C++, Π½ΠΎ ΡΠΎΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ (Ρ ΠΎΡΡ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅, ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Ρ). Qt Π²ΡΠΎΠ΄Π΅ Π±Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
JavaFX
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° JavaFX, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ JavaFX ΠΈ JVM ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
Π§ΡΠΎ Π±Ρ Π²Ρ Π½ΠΈ Π΄ΡΠΌΠ°Π»ΠΈ ΠΎ JVM, Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (ΠΊΡΠΎΠΌΠ΅, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΠ°ΠΌΠΎΠ³ΠΎ Electron!), Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΠΎΠΉ Π΄Π»Ρ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΠΉ jar, Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ Π΅Π³ΠΎ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΡΠ΅Ρ ΠΠ‘ β ΠΈ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠΈ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² JVM, Π²ΡΠ±ΠΎΡ ΡΠ·ΡΠΊΠ° ΡΠΎΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ: ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎ Π½Π°ΠΉΠ΄ΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ JavaScript, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΎΡ Π½Π΅Π³ΠΎ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ), ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ JavaFX Ρ Π»ΡΠ±ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ JVM Π±Π΅Π· ΠΎΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΠΊΡΠΎΠΌΠ΅ Java, Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Kotlin.
Π‘Π°ΠΌ UI ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ΄ΠΎΠΌ (Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IDE ΠΎΡ IntelliJ, Eclipse ΠΈΠ»ΠΈ NetBeans: ΡΡΠΎ Π²ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ IDE, ΠΊΠΎΡΠΎΡΡΠ΅, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡ Π»ΡΠ±ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² ΠΈ, ΠΊΡΡΠ°ΡΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΠΌΡΠ΅ Π»ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java) ΠΈΠ»ΠΈ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ UI: SceneBuilder (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² IntelliJ) ΠΈΠ»ΠΈ NetBeans Visual Debugger.
JavaFX β Π½Π΅ Π½ΠΎΠ²Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ. ΠΠ½Π° ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² Π΄Π΅ΠΊΠ°Π±ΡΠ΅ 2008 Π³ΠΎΠ΄Π° ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π»Π°ΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ΅Π³ΠΎΠ΄Π½Ρ. ΠΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° UI Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ Swing Framework, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ»ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ JVM Ρ ΠΊΠΎΠ½ΡΠ° 90-Ρ .
Oracle ΡΡΡΡ Π½Π΅ ΠΈΡΠΏΠΎΡΡΠΈΠ»Π° Π²ΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°, ΠΏΡΠΈΡΡΡΠΏΠΈΠ² ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ UI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΡΠ»ΠΈ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΈ ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π° ΡΡΡΡ Π½Π΅ ΠΏΠΎΠ³ΡΠ±ΠΈΠ»Π° JavaFX.
ΠΠ°ΠΌΠ΅ΡΠΈΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Oracle ΡΠ΅ΡΠΈΠ»Π° Π²ΡΠΏΡΡΡΠΈΡΡ JavaFX 2 Π² 2011 Π³ΠΎΠ΄Ρ Π±Π΅Π· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² FXML Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Java-ΠΊΠΎΠ΄Π° (ΠΊΠ°ΠΊ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅).
ΠΠΊΠΎΠ»ΠΎ 2012 Π³ΠΎΠ΄Π° JavaFX ΠΎΠ±ΡΡΠ» Π½Π΅ΠΊΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, Π° Oracle ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠ»Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π‘ Π²Π΅ΡΡΠΈΠΈ 2.2 ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ JavaFX ΡΡΠ°Π» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ, Π½ΠΎ Π΅Π³ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ΅ΠΌΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Java (Ρ ΠΎΡΡ ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ»ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ JDK).
Π’ΠΎΠ»ΡΠΊΠΎ Ρ Π²Π΅ΡΡΠΈΠΈ JavaFX 8 (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Java 8) ΠΎΠ½ ΡΡΠ°Π» ΡΠ°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π½ΡΠ°ΠΉΠΌΠ° Java.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ JavaFX ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΡΠΏΠ½ΡΠΌ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ Π² ΠΌΠΈΡΠ΅ UI, Π½ΠΎ Π½Π° Π½ΡΠΌ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ JavaFX
Π ΡΠ²ΠΎΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π»ΠΎΠ³ΠΎΠ² LogFX, Ρ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Java (ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄, Π° Ρ Ρ ΠΎΡΠ΅Π» ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΠΌΠ°Π»ΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°) ΠΈ IntelliJ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ IDE. Π― ΠΏΠΎΡΡΠΈ ΡΠ΅ΡΠΈΠ»ΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π° Kotlin, Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Java Π² IntelliJ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠ΅ΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ Π½Π° Java (ΡΠΎΡΠ½Π΅Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ IntelliJ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π·Π° ΠΌΠ΅Π½Ρ β ΡΡΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΈΡΡΠΈΠ½Π΅) ΡΡΠ°Π»ΠΎ Π½Π΅ ΡΠ°ΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ°Π²Π΄Π°ΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ 0,9 ΠΠ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅.
Π― ΡΠ΅ΡΠΈΠ» Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FXML (ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ GUI Π΄Π»Ρ JavaFX Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ XML) ΠΈΠ»ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ UI, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ.
ΠΡΠ°ΠΊ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠ΄!
Java Hello World
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ΅ΡΡΡ Hello World Π½Π° JavaFX:
ΠΠ° Β«ΠΌΠ°ΠΊΠ΅Β» ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅:
FXML+Java Hello World
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ UI ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, Π²ΠΎΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π° Ρ FXML:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ IntelliJ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ FXML ΠΈ ΡΠ²ΡΠΆΠ΅Ρ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Java ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ΄Π΅Π»Π°Π΅Ρ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠΏΡΠ°Π²ΠΈΡΡΡ Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ, ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΡΡΡΠΎβ¦ Π½ΠΎ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΡΡΠ΅ ΡΠΊΠ°Π·Π°Π», ΡΠ΅ΡΠ΅Π½ΠΎ Π±ΡΠ»ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FXML, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π°Π΄ΡΠΌΠ°Π½Π½ΡΠΉ UI Π±ΡΠ» ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΠΌβ¦ ΡΠ°ΠΊ ΡΡΠΎ Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΡ ΠΊΠΎΠ΄Π° FXML. ΠΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΈΠ·ΡΡΠΈΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ FXML.
Hello World Π½Π° Kotlin+TornadoFX
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π²ΡΠΎΠ΄Π΅ Kotlin Ρ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ JavaFX, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ TornadoFX:
ΠΠ½ΠΎΠ³ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Kotlin ΠΈ JavaFX, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² (Π² TornadoFX Π΅ΡΡΡ ΠΏΡΠΈΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Β«ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉΒ») ΠΈ Π΅ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ 5 ΠΠ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²Π°Ρ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΊΠ°ΠΆΡΡΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈ ΠΏΡΠΈΡΡΠ΄Π°ΠΌΠΈ), ΡΠΎ Kotlin Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Ρ ΡΠΈΡΡΡΠΌ JavaFX.
Π‘ΡΠΈΠ»ΠΈ ΠΈ ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° JavaFX
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ JavaFX, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ JavaFX.
Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΠΌΠ°ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ ΡΠ°Π·Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π΄Π»Ρ JavaFX.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΌΠ½ΡΠΉ ΡΠΎΠ½ ΠΈ Π±Π΅Π»ΡΠΉ ΡΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈ
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² (ΠΌΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, Π½ΠΎ Π·Π°ΡΠΎ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ) β ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ:
ΠΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈΠ»ΠΈ Π² CSS:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π΄Π΅ΡΡ IntelliJ ΠΎΠΏΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΡΠΎΠΊ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ FXML:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΎΡ ΠΌΠΈΡΠ° Π²Π΅Π±Π° ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΡΠΈΠ»ΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΡΡΠΈΠ»Π΅ΠΉ, JavaFX ΠΈ ΡΡΠΎ ΡΠΌΠ΅Π΅Ρ! ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ Π²ΡΠ±ΡΠ°Π», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΡΠΈΠ»ΠΈ Π½Π° ΡΠ²ΠΎΠΉ Π²ΠΊΡΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ:
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Ρ Π² Scene :
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ Β«ΡΠΎΠ½ΠΎΠ²ΡΠ΅Β» ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠΌΡΡ ΡΠ²Π΅Ρ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΡΠΎΠΌ ΡΠ²Π΅ΡΠ΅. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ²Π΅ΡΠ° Π½Π° Π±Π°Π·Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°. Π’Π°ΠΊ Π²Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ²Π΅Ρ, ΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠ²Π΅ΡΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ° ΡΡΠ°Π½Π΅Ρ Π½Π΅ Π±Π΅Π»ΡΠΉ, Π° Β«ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉΒ» ΡΠ²Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΊΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΡΠ°Π²Π°Π»ΡΡ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ:
Π’Π°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ JavaFX Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΌΠ½ΡΠ΅, Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. CSS Reference Guide.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΌΡ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΠΊΡΡΠ°. Π‘Π»Π΅Π²Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΡΠΈΠ»ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π° ΡΠΏΡΠ°Π²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° ΡΡΠΈΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ:
Π‘Π»Π΅Π²Π°: ΡΡΠΈΠ»ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ JavaFX. Π‘ΠΏΡΠ°Π²Π°: ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅
Π ΡΠ²ΠΎΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΌΠ½ΡΡ ΡΠ΅ΠΌΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ.
ΠΠΎΡ ΠΊΠ°ΠΊ LogFX Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π² ΠΈΡΠΎΠ³Π΅ Ρ ΡΠ΅ΠΌΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΈΠΊΠΎΠ½ΠΊΠΈ FontAwesome. ΠΡΠ»ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² CSS. ΠΡΠΎΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΡΠΈΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π½ΡΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ:
Π‘ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΡΠΈΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΠΎΡΠ΅Π½Ρ Π·Π΅Π»ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ° Π² Linux Mint:
Π₯ΠΎΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ Π²ΠΊΡΡ Π°Π²ΡΠΎΡΠ° ΡΡΠΎΠΉ Π·Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ Π² JavaFX. ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡ, Π½Π° ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ Π²Π°ΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² JavaFXβ¦ Π― Ρ ΠΎΡΠ΅Π» ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΊΡΠ°Π½, ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ Ρ ΠΎΡΠΎΡΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΠΏΡΠΎΡΡΠΎ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ.
Π JavaFX ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ. ΠΠΎΡ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ (Ρ ΡΠ΄Π΅Π»Π°Π» ΡΠΊΡΠ°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡΠ°Π·ΡΠ° GroovyFX):
Π Π²ΠΎΡ ΠΊΠ°ΠΊΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΡΠΈΠ»Π΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠΎΠΌΡ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΌΡ ΡΠΊΡΠ°Π½Ρ:
ΠΠ΄Π΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΎΠ². ΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡΡ Π²ΠΈΠ΄Ρ (ΡΠΊΡΠ°Π½Ρ), ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° Π»Π΅ΡΡ (hot reload) ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΠ·Π°ΠΉΠ½, ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ΄Π°
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° UI ΡΠ²Π»ΡΠ΅ΡΡΡ Β«Π³ΠΎΡΡΡΠ°ΡΒ» ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π΅ΠΊΠ°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° UI.
Π£ JavaFX (ΠΈ Ρ ΡΠ°ΠΌΠΎΠΉ JVM) Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
SceneBuilder
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ β ΡΡΠΎ SceneBuilder, Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ UI, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ FXML, ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ UI.
ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΡΠ΅ Java IDE, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΈΠ΄ΠΎΠ² (ΡΠΊΡΠ°Π½ΠΎΠ²).
ΠΠ½Π΅ ΡΠ°Π½ΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SceneBuilder Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΌ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²ΠΈΠ΄ΠΎΠ², Π½ΠΎ Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΡΠ°ΡΡΠ²Π°Π» ΡΠ°ΠΌ ΡΡΠΎ-ΡΠΎ ΠΏΠΎ-Π±ΡΡΡΡΠΎΠΌΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π» ΠΊΠΎΠ΄ Π²ΡΡΡΠ½ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ Π²ΠΈΠ΄Ρ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΡΠΊΡΠΎΠ΅ΡΠ΅ Π²ΠΈΠ΄ Π² SceneBuilder, ΠΎΠ½ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΎΡΠ΅ΡΡΠ΄Π½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π² SceneBuilder β ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ScenicView
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π²Π°Ρ Π³ΠΎΡΠΎΠ² Π±Π°Π·ΠΎΠ²ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ScenicView Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³ΡΠ°ΡΠ° ΡΡΠ΅Π½Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ScenicView ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ·Π»Ρ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Javadocs Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ΄Π° JVM
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π΅ ΡΠ²ΡΠ·Π°Π½ Ρ UI, ΡΠΎ Π΄Π»ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Java Ρ Π³ΠΎΡΡΡΠ΅ΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΊΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Oracle JVM ΠΈ HotSpot. ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΠΎΠ½Π° Π΅ΡΡΡ ΠΈ Π² OpenJDK JVM.
ΠΠ΄Π½Π°ΠΊΠΎ Π±Π°Π·ΠΎΠ²Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π°: Π²Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠ°ΡΠΎ Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ HotSpot VM ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ DCEVM (Dynamic Code Evolution VM) Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. Π Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π» ΠΎ Π½ΡΠΌ ΠΈ ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠ΄Π° Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ JVM.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ LogFX β ΠΈ ΠΎΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ΅Π±Ρ ΠΏΡΠΎΡΠ²ΠΈΠ»ΠΎ. ΠΡΠ»ΠΈ Π½Π΅ Π·Π°ΠΊΡΡΡΡ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ Π½Π΅ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ, ΡΠΎ Π²ΠΈΠ΄ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊΠ°Ρ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΠ»ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΡΠΎ-ΡΠΎ Π² Stageβ¦ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ UI, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ScenicView ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ScenicBuilder ΠΈ ΠΊΠ°ΠΊ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° DCEVM Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ ΠΈ ΡΠ²Π΅ΡΠΈΡΡ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ JVM. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ β ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² IDE Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΈΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π IntelliJ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ (Cmd+F9 Π½Π° Β«ΠΌΠ°ΠΊΠ΅Β»):
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ
JavaFX Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ. ΠΠΎ Π΄Π»Ρ LogFX Ρ Ρ ΠΎΡΠ΅Π» ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈΠ»ΠΈ β ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΡΡΡΠ΅ΠΊΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° Π½Π΅ ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΈΠ· jar).
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΡΠΈΠ»Π΅ΠΉ, ΡΠΎ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈ ΠΎΠ½Π° ΠΎΡΠ΅Π½Ρ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΠ΅Ρ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΡΠΈΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠΉ (Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΎΠ½ Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ).
ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»Π° (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΡΡΡΠ° jar), ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠΎΠ΄ Unix/Mac ΠΈ Windows. ΠΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ», ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Mac, Windows ΠΈ Linux Mint. ΠΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ· Π΄Π²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΠ‘ (Π²ΡΠΎΡΠ°Ρ β ΡΠΎ, ΡΡΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΡΠ΅Π΅ Π½Π° Mac, Ρ ΠΎΡΡ Π΅ΡΡΡ ΡΡΠΎΠ΄Π»ΠΈΠ²ΠΎΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ). Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ JavaFX Π²ΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΡΠΈΠ»Π΅ΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈΠ»Ρ, ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΠ² Π΅Π³ΠΎ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠ±ΡΠ°ΡΠ½ΠΎ:
Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°ΠΌΠΈ Π΅Π³ΠΎ ΠΏΠΈΡΠ°ΡΡ, ΡΠΎ ScenicView ΡΠΎΠΆΠ΅ ΡΠΌΠ΅Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠΈΠ»Π΅ΠΉ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ (Π½ΠΎ Π½Π΅ Π²Π½ΡΡΡΠΈ jar), ΠΈ TornadoFX ΡΠΎΠΆΠ΅ ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π·Π΄Π΅ΡΡ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° JavaFX ΡΡΠ°Π»ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΈΡΡΠ½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ. Π£ ΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π»Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ JavaFX-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π·Π°Π΄ (ΠΊΠΎΠ³Π΄Π° JavaFX Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π½Π° ΡΠ°Π½Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΆΠ΅ ΠΎΡΡΠ°Π»ΠΎΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ), ΡΠ°ΠΊ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎ Π±ΡΠ»Π° Π½Π΅ΠΊΠ°Ρ ΡΠΎΡΠ°β¦ Π½ΠΎ Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π» ΠΊΠ°ΠΊ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΠ΅ΠΊ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ Π²ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΊΠ°ΠΊ JVM.
Π‘ΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ LogFX, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ, ΠΈ ΠΎΠ½ΠΎ Π΄ΠΎΡΡΠΈΠ³Π»ΠΎ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΈ Π±ΡΡΡΡΠΎΠΌΡ ΠΎΡΠΊΠ»ΠΈΠΊΡ, ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π° Π²ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π±Π΅Π· Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΌΠΈ ΠΈ Π²ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΌΠ½Π΅Π½ΠΈΠ΅:
Π₯ΠΎΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΉΠ» jar Π²Π΅ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ 303 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°. ΠΡΠΎ 0,3 ΠΠ, Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ» ΡΡΠΈΡΡΠ° TTF, ΠΈ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² HTML ΠΈ CSS, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² Java!
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΌΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ JVM, Π½ΠΎ JVM Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ! Π Java 9 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ Π² Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΡΡΠΈ JVM, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ jar, ΡΠΎ ΡΠΏΠ°ΠΊΡΠΉΡΠ΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ (Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ JVM Π·Π°ΠΉΠΌΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 35 ΠΠ ΠΈΠ»ΠΈ 21 ΠΠ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ).
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ LogFX ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 50 ΠΠ RAM (Π½Π΅ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ JavaFX). Π ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, Π·Π°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΡΠΎ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Electron, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΆΡΡΡ 200 ΠΠ ΡΠΆΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΠΏΡΡΠΊΠ°.
JavaFX Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½Π° ΠΈ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ Π΅ΡΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΈ. ΠΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ β ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π’Π΅ΠΊΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, JNLP ΠΈ Java WebStart, ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ»Π°Π±ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ, Ρ ΠΎΡΡ ΠΈΠΌΠ΅ΡΡΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Getdown ΠΈ FxLauncher, Π° Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ, ΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Install4J (ΠΊΡΡΠ°ΡΠΈ, Ρ Install4J Π΅ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² open source).
ΠΡΡΠ°Π»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΅ΠΉ Π½Π°ΡΡΡΡ JavaFX, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΡΠ»ΠΎΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ Π² ΡΡΠΎΠΉ ΠΈ ΡΠ°ΠΊ ΡΠΆΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ , Ρ ΡΡΠΈΡΠ°Ρ, Π΄ΠΎΡΡΠΎΠΉΠ½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ: