Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ½Π΄Π΅ΠΊΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΌ
ΠΠ΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ°. ΠΠ°ΠΊ Π²ΡΡ ΡΡΡΡΠΎΠ΅Π½ΠΎ
ΠΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π²Π°ΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ ΠΈ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ β Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ΄, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠ΅Π³ΠΎ, ΠΌΠΎΠ», ΠΌΠΎΠ»ΠΎΠ΄Π΅Ρ, Π²ΡΡ Ρ ΠΎΡΠΎΡΠΎ, Π° Π½Π° Π»Π΅ΡΡ ΡΠΌΠΎΡΡΠ΅ΡΡ, Π²ΡΡ Π»ΠΈ Ρ ΡΠ΅Π±Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π³Π΄Π΅ ΠΊΠΎΡΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ ΡΡ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ.
Π ΠΏΠΎΠΏΡΡΠΊΠ°Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΡ Π² ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅ MVP Π²Π΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΡΠΊΡΠΈΠΏΡΡ ΠΈ Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π° ΡΠ°Π·Π½ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ , Π° ΠΏΠΎ ΡΠΎΡΠ΅Π΄ΡΡΠ²Ρ Ρ Π½Π΅Π³ΠΎ Π²ΡΡ ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΎΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
MVP ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΠ΅Π±Ρ Ρ ΠΎΡΠΎΡΠΎ, ΠΈ ΠΌΡ Π²ΡΠ²Π΅Π»ΠΈ Π²Π΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°Π½ΠΈΠΉ Π½Π°ΡΠΈΡ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² Π² Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ΅. ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΡΡΠ΅ΠΌ, ΠΈ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΡΠ΅Π½Π°ΠΆΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΡΠΎ ΡΠΌΠ΅Π΅Ρ.
Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡ ΠΏΡΠΎΡΡΠΎ β Π·Π°ΠΏΠΈΡ Π°Π» Π²Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ Π² iframe, Π·Π°ΠΏΠΎΡΡΠΈΠ» Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· postmessage, ΠΏΠΎΡΠΎΠΌ ΠΎΡΡΠΈΡΠΎΠ²Π°Π» Π»ΡΠ±ΡΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’Π°ΠΊΠΎΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΊΠ°ΡΠ°Π½Π½ΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΊ Π²ΡΡ ΡΡΡΡΠΎΠ΅Π½ΠΎ
ΠΡ Π½Π° ΡΡΠ°ΡΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: Π΅ΡΠ»ΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΠ΅Π½Π°ΠΆΡΡ Π½Π° Π΄ΠΎΠΌΠ΅Π½Π΅ Π―Π½Π΄Π΅ΠΊΡΠ° (ΠΊΠ°ΠΊ ΡΠ°ΠΌ ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ), ΡΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²Π°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π»ΡΠ±ΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ β Π²ΠΎΠ·ΡΠΌΡΡ ΠΈ Π·Π°ΠΊΠΈΠ½ΡΡ Π² ΡΡΠ΅Π½Π°ΠΆΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π½Π°ΠΆΡΡ Ρ ΡΠ½ΡΡΠ·ΠΈΠ°Π·ΠΌΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ. Π ΠΊΠΎΠ΄ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΌΠΎΡΠ΅Π½Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈ ΡΠ²Π΅Π΄Π΅Ρ ΠΈΠΌΠ΅ΡΡΡΡΡΡ ΠΊΡΠΊΡ Π―Π½Π΄Π΅ΠΊΡΠ°, Π²ΡΡΠ°Π²ΠΈΡ Π΅Ρ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΡΠ΅Π½Π½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅ ΠΈ Π²ΡΠ΅ΠΌ Π»ΠΈΡΠ½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ iframe Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΠΎΠΌΠ΅Π½Π΅ yandex.ru. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½ Π½Π° yandex.net ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ ΡΡΠ΅Π½Π°ΠΆΡΡ ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ Π΅Π³ΠΎ Π€Π΅ΠΉΠ½ΠΌΠ°Π½ (Feynman). Π ΡΠ΅ΡΡΡ Π ΠΈΡΠ°ΡΠ΄Π°, Π΄Π°.
Π ΡΠ΅Π»ΠΎΠΌ Π½Π°Ρ ΡΡΠ΅Π½Π°ΠΆΡΡ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ plain text, json ΠΈ base64 Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠ°Π·Π΄Π°ΡΡΡΡ ΡΠΆΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π² iframe Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠΎ ΠΌΡ ΠΆΠ΅ ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π² ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈΠ³ΡΠ°Π΅ΠΌ, Ρ Π½Π°Ρ ΡΡΠ΅Π½Π°ΠΆΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°Π½ΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° Π»Π΅ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΊΠ»ΠΈΠ½ΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡ iframe ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ, Π²ΡΡ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΄Π΅Π»Π°Π» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Π·Π²Π°Π» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΈΠ»ΠΈ Π²ΡΡ Π»ΠΈ Ρ Π½Π΅Π³ΠΎ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Ρ div-Π°ΠΌΠΈ.
Π ΡΡΡ ΠΌΡ ΠΎΠΏΡΡΡ ΡΠΏΠΈΡΠ°Π΅ΠΌΡΡ Π² Π΄ΠΎΠΌΠ΅Π½Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π», ΠΊΠ»Π°Π΄Π΅ΡΡΡ Π² ΡΡΠ΅Π½Π°ΠΆΡΡ Π½Π° Π΄ΠΎΠΌΠ΅Π½Π΅ Feynman, Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΌΡ Π΅Π³ΠΎ ΡΠΆΠ΅ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π―Π½Π΄Π΅ΠΊΡΠ°, ΠΈΠ· Π΄ΠΎΠΌΠ΅Π½Π° praktikum.yandex.ru. ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ° same-origin ΠΊΠ°ΠΊ ΡΠ°Π· ΡΡΠΎΠΈΡ Π½Π° ΡΡΡΠ°ΠΆΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΎΡΡΠΈ iframe, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΄ΠΎΠΌΠ΅Π½Ρ ΡΠ°Π·Π½ΡΠ΅.
ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡ Π½ΡΡΡ iframe Π² iframe.
ΠΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ:
ΠΠ΅ ΡΠ΅ΡΡΠ°ΠΌΠΈ Π΅Π΄ΠΈΠ½ΡΠΌΠΈ
ΠΠΎΡΠΎΠΌ Π½Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΈΡ: ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π·Π°ΠΏΠΈΡΠ°Π» Π² Π»ΠΎΠ³, ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΡΠ°Π΄ΠΎΡΡΠΈ. Π‘Π°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ, ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΠ°Ρ .
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ responsive-ΡΠ΅ΠΆΠΈΠΌ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ iframe ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ Π²ΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ Π΅Π³ΠΎ console.log, ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ dom-Π΄Π΅ΡΠ΅Π²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ ΡΡΠΎΠΌΡ ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΏΡΠΎΠ³ΠΎΠ½ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΡΡΠΊΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΡΠΈΠ» Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅, Π½Π΅ ΡΠ²Π»Π΅ΠΊΡΡ Π»ΠΈ ΡΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡΡ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. ΠΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΡΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΏΡΠ΅-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²ΡΡ Ρ ΠΎΡΠΎΡΠΎ, ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΡΡ ΠΈ ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠ»Ρ ΠΎΡΠ΄Π°ΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΡ ΡΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ postmessage β ΠΏΠΎΡΡΠ»Π°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· Π½Π΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π½Π°ΡΠ»ΠΈΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ Π²ΡΡ ΠΊΡΡΡΠΎ. ΠΡΡΠ°ΡΠΈ, ΠΊΠΎΠ΄ ΡΡΡΠ΄Π΅Π½ΡΠ° Π½Π° Π²Π΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΈ ΡΠ΅ΡΠ΅Π· Π»ΠΈΠ½ΡΠ΅Ρ es-lint Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°Ρ ΠΊΠΎΠ΄Π° (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ)
ΠΡΠ»ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΎΡΡ ΡΡΠΎ-ΡΠΎ Π²Π²Π΅ΡΡΠΈ, ΡΠΎ ΡΠ°ΡΡΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΠΎΠ½Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» Π²ΠΈΠ΄Π΅ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π° Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡΠΌΠΈ ΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΌ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΠΊΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎΡ Π°Π»Π΅ΡΡ ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π». Π ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΠΎΠ½ΡΠ΅Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π½Π°ΠΌ ΡΠΆΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ, ΡΡΠΎΠ±Ρ Π°Π»Π΅ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡ ΠΏΠΎ ΡΡΡΠΈ Π²ΡΠ΅ ΡΡΠΈ Π°Π»Π΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ»ΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π°Π³Π»ΡΡΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ² (ΠΌΠΎΠΊΠ°Π»ΠΈ), ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ alert, prompt, confirm Π²Π½ΡΡΡΠΈ window. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΡΡΡΠΎΠΉ Π°Π»Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ.
ΠΡΡΠ°ΡΠΈ, ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΈΠΊΠ»Π°Ρ . ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡ Π±ΡΠ»Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π²Π·ΡΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎ ΡΠΉΠ΄ΡΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» (Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅Π΄ Ρ javascript), ΠΈ Π² ΠΈΡΠΎΠ³Π΅ Π²Π΅ΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΡΡΠ» ΠΏΠΎΠ»Π΅ΠΆΠ°ΡΡ.
ΠΠ»Ρ Π±ΠΎΡΡΠ±Ρ Ρ ΡΡΠΈΠΌ ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΈΠΊΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΌΡ ΠΏΠΎΡΠ»ΠΈ Π²ΠΎΡ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΡΠ΅ΠΌ:
Π Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΡΠ»ΠΎΠΊ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ: Π΅ΡΠ»ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π²Π½Π΅ΡΠ½ΡΡ, ΡΠΎ ΠΎΡΠ΄Π°Π΅ΠΌ postmessage Π½Π°ΡΡΠΆΡ, ΠΎΠ±ΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΡΠ»ΠΊΠΈ (prevent default), ΠΈ ΠΊ Π½Π°ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π½Π°Ρ ΡΡΠΎΠ½Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ postmessage. ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΡΡΡ external link, ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ β ΡΠΎΡΠ½ΠΎ Π»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΡ? Π ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.
Π Π΅ΡΡ ΡΠΊΠΎΡΡ, Ρ Π½ΠΈΠΌΠΈ Π²ΡΡ Π±ΡΠ»ΠΎ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ. ΠΠ½ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π²Π½ΡΡΡΠΈ iframe. ΠΠΎΠΎΠ±ΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Ρ Π°ΠΊΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π»ΠΈΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ β Π΅ΡΠ»ΠΈ Π½Π° Π½Π΅ΠΉ Π±ΡΠ» ΡΠΊΠΎΡΡ, ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ scrollIntoView Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
ΠΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ (Π΅ΡΠ»ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° HTML-ΡΡΡΠ°Π½ΠΈΡΠΊΠ΅ Π±ΡΠ»Π° ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π° ΡΠ°Π²ΠΈΠΊΠΎΠ½ΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ) ΠΌΡ ΡΠΎΠΆΠ΅ ΡΠ»Π΅ΠΌ ΡΠ΅ΡΠ΅Π· postmessage ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ iframe Π·Π°Π³ΡΡΠ·ΠΈΠ»ΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ querySelector Π΄ΠΎΡΡΠ°Π΅ΠΌ Π΄Π²Π° ΡΡΠΈΡ ΡΠ΅Π³Π°, ΡΠ΅ΡΠ΅Π· postmessage ΠΏΠΎΡΡΠ»Π°Π΅ΠΌ ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π½Π°Ρ ΡΡΠΎΠ½Ρ, Π° ΡΡΠΎΠ½Ρ ΡΠΆΠ΅ ΡΠ°ΠΌ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΊΡΠ΄Π° Π½Π°Π΄ΠΎ. ΠΡΠΎΠ΄Π΅ Π±Ρ ΠΌΠ΅Π»ΠΎΡΡ, Π½ΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ Π²Π½ΡΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ.
ΠΠΎΠΏΡΡΠΊΠΈ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠ΅Π½Π°ΠΆΡΡ
ΠΠ°Ρ Π²Π΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ΅Π½Π°ΠΆΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ Π΄Π»Ρ Python, SQL ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠ½Ρ, Π° Π½Π΅ Π±Π΅ΠΊΠ΅Π½Π΄. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ΅ΡΡΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ POST-Π·Π°ΠΏΡΠΎΡ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΡΠ½ΠΎΡΠΎΠ²ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΈ ΠΏΠΎΡΠ»Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΡΡΡΠ½ΡΡ.
Π’ΡΡ ΠΏΠ°Π»ΠΊΠ° ΠΎ Π΄Π²ΡΡ ΠΊΠΎΠ½ΡΠ°Ρ . Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎ ΠΊΡΡΡΠΎ, ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Ρ Π°ΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ, ΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π²ΡΡΡΡΠ΅Π» Π² Π½ΠΎΠ³Ρ, Ρ Π½Π°Ρ Π²Π΅Π΄Ρ ΡΡΠ΅Π½Π°ΠΆΡΡ ΡΡΠΎΠΈΡ Π½Π΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡ Π½Π΅Π³ΠΎ Β«ΠΠ, ΡΡ ΠΌΠΎΠ»ΠΎΠ΄Π΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅, Π²ΡΡ ΡΠ΄Π΅Π»Π°Π»Β», Π° ΡΡΠΎΠ±Ρ Π½Π°ΡΡΠΈΡΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ . Π ΡΠ΅Π»ΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΉΡΠΈ Π² ΡΠΏΠΎΡΡΠ·Π°Π», ΠΏΠΎΡΠΈΠ΄Π΅ΡΡ 5 ΠΌΠΈΠ½ΡΡ Π½Π° ΡΠΊΠ°ΠΌΡΠ΅ Π΄Π»Ρ ΠΆΠΈΠΌΠ° Π»Π΅ΠΆΠ°, Π° ΠΏΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ΅ΠΉΡΠ±ΡΡΠ΅ΠΊ Β«Π‘Π΄Π΅Π»Π°Π» 3 ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Ρ ΡΠΎΡΠ½Π΅ΠΉ ΠΊΠΈΠ»ΠΎΒ»: ΡΠ°ΠΌΠΎΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΠΈΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Π½ΠΎ Π½Π° ΡΡΠΎΠΌ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΈ Π½Π΅ ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄, ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ Π±Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ΄ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΡΡΠΈΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΈ Π² ΡΠ°ΠΌΠΎΠΌ ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ΅), Π° Π½Π΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΠΈΠ²ΠΊΠΈ.
ΠΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ»ΡΡΡΠ°Π΅ΠΌ Π²Π΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π²Π°ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎ Π΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅. Π‘Π΅ΠΉΡΠ°Ρ ΠΎΠ½ Π΄ΠΎΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΈΡΡΠ²Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠΈ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ React ΠΈ NodeJS. ΠΠ΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈΠ· Π²ΡΠ΅Ρ , Π·Π° Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ΅Π½Π°ΠΆΡΡ Π΄Π»Ρ Python β ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ ΠΊΠ°ΠΊ Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΠΎΡΠΎΠ³ΠΎΠΌ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΡΠ°ΠΌΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ Π²Π½ΡΡΡΠΈ ΡΡΠ΅Π½Π°ΠΆΡΡΠ° Π΅ΡΡ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠ΅ΠΉ (Π° Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π° Π²ΡΠ΅Ρ Π½Π°ΡΠΈΡ ΠΊΡΡΡΠ°Ρ ). ΠΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΠΆΡΡΠ° Π½Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ QA, ΡΠ°ΠΌ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠ²ΠΈΠ·ΠΎΠ² + ΡΡΠ΅Π½Π΄ΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΡΠ°ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ. ΠΡΡΠ°ΡΠΈ, ΠΏΠ°ΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π½Π°ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ, β Π²ΡΠΏΡΡΠΊΠ½ΠΈΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΡΡΡΠ° QA.
Π‘Π»ΠΎΠΆΠ½Π΅Π΅ ΡΡΡΡΠΎΠ΅Π½Ρ ΡΡΠ΅Π½Π°ΠΆΡΡΡ Π΄Π»Ρ C++ ΠΈ ΡΡΠ΅Π½Π°ΠΆΡΡ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ β ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΡΡΠ°Ρ .
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Π½Π°ΡΠΈΠΌ ΡΡΠ΅Π½Π°ΠΆΡΡΠ°ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ β ΠΏΠΈΡΠΈΡΠ΅, ΠΎΡΠ²Π΅ΡΠΈΠΌ.
ΠΠ°ΠΊ ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Π·Π° 60 ΡΠ΅ΠΊΡΠ½Π΄ ΠΈΠ»ΠΈ Β«Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΒ» β ΠΠ ΠΊΠΎΠ²ΡΠ΅Π³ ΡΡΠ΄ΡΠ±Ρ
ΠΡ Π°Π²ΡΠΎΡΠ°
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π½Π΅ Ρ ΠΎΡΡ ΠΏΡΡΠ°ΡΡΡΡ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΠΏΡΠΎΠ²Π΅ΡΠ³Π½ΡΡΡ, ΠΌΠΎΡ ΡΠ΅Π»Ρ ΠΈ ΠΌΠΎΡΠΈΠ²Π°ΡΠΈΡ Π»ΠΈΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡΠΌΠΈ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎ On-line ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ Β«Π―Π½Π΄Π΅ΠΊΡΠ°Β» ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«WEB-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ», Π½ΠΎ ΡΡΡΡ ΡΡΠ°ΡΡΠΈ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π² ΡΠ΅Π»ΠΎΠΌ ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ΅ Β«Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΒ». Π― ΡΠ°ΠΊ ΠΆΠ΅ Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ Π½Π΅ ΠΏΡΠΈΠ·ΡΠ²Π°Ρ ΠΈ Π½Π΅ ΠΎΡ ΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΠΈΠ²Π°Ρ, Ρ ΠΎΡΡ Π²ΡΠ΅ ΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊβ¦ ΠΏΡΠΈΠ·ΡΠ²Π°Ρ Π΄ΡΠΌΠ°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ β Π³ΠΎΠ²ΠΎΡΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. ΠΠ° Π±Ρ Π²Ρ Π½Π΅ ΡΠΌΠ΅ΡΠ»ΠΈ ΠΎΡ ΡΠΊΡΠΊΠΈ ΡΠΈΡΠ°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΡ ΡΡΠ°ΡΡΡ, ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΠΎΡΠ°.
ΠΠΎΠ³Π½Π°Π»ΠΈ Π½Π°ΡΠΈ Π³ΠΎΡΠΎΠ΄ΡΠΊΠΈΡ
ΠΠ΄Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅β¦
ΠΠΎ Π½Π° ΡΡΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠΎΠ² Π΅ΡΡ Π½Π΅ Π²ΡΡ, ΡΠ°Π· Π² Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΡΠ΅Π±Π΅ Π»ΠΈΡΠ½ΠΎ, Π΄ΠΎΡΠΎΠ³ΠΎΠΉ Π΄ΡΡΠ³, ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠΊΡ Π·Π°ΠΎΠ΄Π½ΠΎ, Π½Π΅Ρ-Π½Π΅Ρ Π½Π΅ Π³ΡΡΠΏΠΏΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΠΎΠΊΡ, Π½Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠ³ΠΎΡΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ (Ρ ΡΠ΅Π½ ΡΠ΅Π΄ΡΠΊΠΈ, ΡΠΎ Π½Π΅ ΡΠ»Π°ΡΠ΅) ΠΏΡΠΎΠ²Π΅Π΄ΡΡ Π²Π΅Π±ΠΈΠ½Π°Ρ, ΠΈ Π΄Π°ΠΆΠ΅ Π½Π°Π·ΠΎΠ²ΡΡ Π΅Π³ΠΎ Β«Live-ΠΊΠΎΠ΄ΠΈΠ½Π³Β», ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ΠΈΡΡ Π±ΡΠ΄Π΅ΡΡ Π½Π΅ ΡΡ, Π° ΠΊΡΠΎ-ΡΠΎ ΠΈΠ· Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠΎΠ², ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ (ΡΠΈΡΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ) ΠΎΠ΄ΠΈΠ½ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. Π ΠΏΡΠΈ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎ ΡΠΈΠΏΡ β1, ΡΠΌΠΎΡΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΡΠ΅, ΡΠΎ ΠΆΠ΄Π΅Ρ Π²Π°Ρ ΡΠΌΠΎΠΏΠΎΠΌΡΠ°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·ΡΠ΅Π»ΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Ρ ΡΠΌΠ½ΡΠΌ Π²ΠΈΠ΄ΠΎΠΌ ΡΡΠΏΠΈΡ Π² Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠ°ΡΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ
Π Π΅ΡΠ»ΠΈ ΡΡ Π½Π΅ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ρ ΠΎΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅, ΡΡ Π½Π΅ Π»Π΅Π½ΠΈΠ²Π°Ρ ΠΏΠΎΠΏΠ°, Π° ΠΎΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ ΡΡΠ°ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠΏΠ΅Π½ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΡΡΠΎ Π±Ρ Π²ΠΎΡ-Π²ΠΎΡ ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ, ΠΎΡΠ²Π΅ΡΡ β ΠΠ Π’Π ΠΠ’Π¬ ΠΠΠΠ¬ΠΠ! ΠΠ°ΡΠ½ΠΈ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΡΡΡΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ, Π½ΠΎ ΡΠ²ΠΎΠΉ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ, Π° Π΄ΠΎΠΊΠ° Π½Π° React.JS ΠΈ Google ΡΠ΅Π±Π΅ Π² ΠΏΠΎΠΌΠΎΡΡ ΠΈ Π΄Π΅Π»Π°ΠΉ, Π΄Π΅Π»Π°ΠΉ, ΠΈ Π΄Π΅Π»Π°ΠΉβ¦ ΠΏΠΎΡΠΎΠΌ Π²ΠΎΠ·ΡΠΌΠΈΡΡ Π·Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΈ Π΄Π΅ΡΡΠ²ΡΠΉ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π΄Π΅Π»Π°ΠΉ, Π΄Π΅Π»Π°ΠΉ, ΠΈ Π΄Π΅Π»Π°ΠΉβ¦ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊ ΠΈ ΠΠΠΠΠ ΠΈΠ½Π°ΡΠ΅ ΡΡ ΡΠΌΠΎΠΆΠ΅ΡΡ ΡΡΠ°ΡΡ ΡΠ΅ΠΌ ΠΊΠ΅ΠΌ ΡΠ°ΠΊ Ρ ΠΎΡΠ΅ΡΡ! ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡ Π»ΡΠΊΠ°Π²ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Ρ ΡΠΊΠ°Π·Π°Π» ΠΠ΅Π½ΠΈΠ½=)!
Π ΡΡΠΎ ΠΆΠ΅, Π³ΡΡΡΡΠ½ΠΎ Π²ΡΠ΄ΠΎΡ Π½ΡΠ², ΡΠΏΡΠΎΡΠΈΡΡ ΡΡ, Β«Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΒ» ΡΠΎΠ²ΡΠ΅ΠΌ, ΡΠΎΠ²ΡΠ΅ΠΌ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ? ΠΠΎΡΠ΅ΠΌΡ ΠΆΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, ΠΈ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ΅ΠΌ, Ρ ΠΊΠΎΠ³ΠΎ ΡΡΠΆΠ΅Π»ΠΎ Π² ΠΊΠ°ΡΠΌΠ°Π½Π΅, Π½Ρ Π΄Π°-Π΄Π° Π΅ΡΡΡ ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ 200Ρ.Ρ. ΠΈ 300Ρ.Ρ. ΠΈ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΌΠΌΠ° Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π½Π΅ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠΊ Π΄ΡΡΠ³ΠΎΠΉ Π² Π±Π°Ρ Π½Π΅ ΡΡ ΠΎΠ΄ΠΈΡΡ ΠΈ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ Π·Π° ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π―Π½Π΄Π΅ΠΊΡΠ°. Π‘ΠΏΠΎΡΠΈΡΡ ΡΡΡ Π½Π΅ ΠΎ ΡΠ΅ΠΌ, ΠΠ°ΠΌ ΡΠΎΠ²Π΅ΡΡΡ Π‘ΠΠΠΠ! ΠΡΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ΄Π΅Π½ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Β«ΠΏΠΎΡΡΠ½ΡΡΡΒ», Π½Ρ Π»ΠΈΠ±ΠΎ Π²Π°ΡΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Β«ΠΏΠΎΡΡΠ½ΡΡΡΒ» ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΡΡΡ ΡΠ°ΡΡΠΈΡΠΈΡ ΠΠ°Ρ ΠΊΡΡΠ³ΠΎΠ·ΠΎΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠ°Π½Π΅Π΅ ΠΊΡΠΎ-ΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΡΡΠΈΡΠΈΠ» (ΠΏΡΠΈΠ²Π΅Ρ ΠΠ΄ΡΠ°ΡΠ΄ Π‘ΡΡΠΎΠ²ΡΠΉ!), ΠΈ Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΡΠΎΡΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΏΠΎΡΠΌΠΎΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΡΡ ΠΌΠ΅Π»ΡΠΊΠΎΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΠΊΠ΅ΠΉΡΠ°ΠΌ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π‘ΠΊΡΠΈΠΏ
ΠΡΡΡ Β«ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΠΎΡ ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ°Β». ΠΠ΅ Π±ΡΠ΄Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Ρ ΡΠ΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ, Π° Π²ΡΠ΅ ΠΏΠΎΠ·Π½Π°Π΅ΡΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ, Π² ΠΌΠΎΡΠΌ ΠΎΠΏΡΡΠ΅ ΠΎΠ½ ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ Ρ ΠΎΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅.
Π₯ΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ, Π½ΠΎ Ρ Ρ ΡΠ΅Π½ΠΎΠ²ΡΠΌ ΠΏΡΠΈΠ½ΡΡΠΎΠΌ ΡΡΡΠ±ΠΎΠ»ΠΊΡ. ΠΡ ΠΠΎΡΡΠ΅ΡΡ, ΠΠΎΡΡΠ΅ΡΡ Π³Π΄Π΅ ΠΆΠ΅ ΡΡ ΠΊΠΎΠ³Π΄Π° ΡΡ ΠΌΠ½Π΅ ΡΠ°ΠΊ Π½ΡΠΆΠ΅Π½, ΡΠΊΠ°Π·Π°Π» Π±Ρ Ρ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΠΎΡΡΠ΅ΡΡ Π±ΡΠ» Π±Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠΌβ¦
ΠΠΏΡΡ. ΠΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π» Π΅ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ ΡΡΠΈΠ»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΆΠΎΠΌ ΠΎΠΏΡΡΠ΅, Π½ΠΎ Π²ΡΡΡΠ΅ΡΠ°Π» ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Ρ ΠΊΡΠΎ, Π½Π°ΡΡΡΠΏΠΈΠ² Π² ΠΏΡΡΡΠΉ ΡΠ°Π· Π½Π° ΡΠ΅ ΠΆΠ΅ Π³ΡΠ°Π±Π»ΠΈ ΡΠ°Π΄ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΈΡ Π΅ΡΠ΅ Π½Π΅ ΡΠΊΡΠ°Π»ΠΈ.
ΠΠΏΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠΊ. Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ β ΠΠ½Π°Π»ΠΈΡΠΈΠΊ Π΄Π°Π½Π½ΡΡ
ΠΠ°ΠΊ Ρ ΠΏΡΠΈΡΠ»Π° ΠΊ Β«ΠΌΡΡΠ»ΠΈΒ» ΠΎΠ± Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ΅?
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π»Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² ΠΈ ΠΈΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ (ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³, ΡΠ΅ΠΊΠ»Π°ΠΌΠ°, Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠ΅ΠΊΡ ΠΈ Ρ.Π΄.). ΠΠ°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΡΠ·ΠΈΡΡ ΡΡΠ΅ΡΡ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π·Π°Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ, ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΏΠ΅ΠΊΡΡΠ°, ΡΡΠΎ Π½ΡΠ°Π²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ. ΠΡΠΈΡΠ΅ΠΌ Π΄Π°ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ Π½Π΅ Π·Π½Π°Π»Π°, Π±ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π‘Π°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠΈΠ»Π° ΠΈΡΠΊΠ°ΡΡ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΠΏΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅.
Π‘Π½Π°ΡΠ°Π»Π° Π΄ΡΠΌΠ°Π»Π° ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΡΡΡΡ ΠΊΠ°Π·Π°Π»ΠΈΡΡ ΡΠ΅ΠΌ-ΡΠΎ Π½Π΅ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌ. ΠΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π°ΡΠΊΠ½ΡΠ»Π°ΡΡ Π½Π° Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ. ΠΡΠΎΡΠ΅ΡΡΠΈΠΉ Π±ΡΠ»ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΈ Π±ΡΠ» Π°Π½Π°Π»ΠΈΡΠΈΠΊ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΠΎ.
ΠΠ°ΡΠ°Π»Π° ΠΈΠ·ΡΡΠ°ΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ΅ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΡΠ΅Π³ΠΎ, Π½ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π²Π΅Π»ΠΈΠΊΠΈ Π΄Π»Ρ ΡΡΠ΅ΡΡ, Π³Π΄Π΅ Π²ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π²ΡΡΡΠΈΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΡ, Π²ΡΡΠ΄ Π»ΠΈ ΡΡΠΏΠ΅ΡΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΡΠΎ. Π Π΅ΡΠΈΠ»Π° ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΡΠ½ΠΎΠΊ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², ΡΠ½ΠΎΠ²Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΎ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΈΠ΅ 1-2 Π³ΠΎΠ΄Π°, Π° Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ: Π²Ρ ΠΎΠ΄ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ Π½Π° Π½ΠΈΠΆΠ½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΡΡ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅.
Π§ΡΠΎ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ (ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ)
ΠΡΠ°ΠΊ, Π²ΡΠ±ΠΎΡ ΠΏΠ°Π» Π½Π° Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ ΠΈΠ·-Π·Π°:
ΠΠ°ΠΊ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ?
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΉΡΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ Python ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ, Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅, Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅. Π’Π°ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΈ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π² ΠΊΡΡΡΠ΅. Π’Π°ΠΊ ΠΆΠ΅, ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, Π² ΡΠ΅ΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ ΠΈ ΡΡΠΎΠΈΡ Π»ΠΈ ΠΈΠ΄ΡΠΈ Π½Π° ΠΊΡΡΡ.
ΠΠΎΠΌΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π² Π€Π΅ΠΉΡΠ±ΡΠΊΠ΅, ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΠΌΠ΅ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Slack.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π΄ΠΎΠ»Ρ ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Slack ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΡΠΈ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΡΠ΅Π½Π°ΠΆΠ΅ΡΠ° ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ°ΡΠΊΠΎ, ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ

ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ , Π²ΠΎ Π²ΡΠ΅Ρ Π΅Π΅ Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ , ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ Π΄Π²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ.
ΠΠ°ΡΠ΅ΠΌ ΠΈΠ΄Π΅Ρ ΠΊΡΡΡ ΠΏΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π°Π½Π°Π»ΠΈΠ·Ρ Π΄Π°Π½Π½ΡΡ + ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ΅ΡΠ²Π°Ρ ΡΡΠ΅ΡΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π°, Π΄Π΅Π»Π°Π΅ΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ±ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ°Π»Π΅Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ SQL. Π‘Π½ΠΎΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ³Π»ΡΠ±Π»Π΅Π½ΠΈΠ΅ Π² Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ°Π»Π΅Π΅ β ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ, Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ, Π/Π-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΎΠ΅ΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Seaborn. ΠΡΠΎΠ΅ΠΊΡ.
ΠΡΠΎΡΠ°Ρ ΡΡΠ΅ΡΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π° β Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ²ΠΎΠ΄Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ
. ΠΠΎΡΠΎΠΊΠΎΠ²ΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ±ΠΎΡΠ΄Ρ. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΡΠΎΠ΅ΠΊΡ.
ΠΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠ½Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°. ΠΠ΅ΡΠΎΠ΄Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠΈΠ½Π΅ΠΉΠ½Π°Ρ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ. ΠΡΠΎΠ΅ΠΊΡ.
ΠΠ«ΠΠ£Π‘ΠΠΠΠ ΠΠ ΠΠΠΠ’. ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ΅ΡΠ°Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°: Π±Π°Π½ΠΊΠΈ, Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡ, ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ, ΠΈΠ½ΡΠΎΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈ Ρ.Π΄.
ΠΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΠΌΠ΅Π½ΡΠΎΡΠ°ΠΌΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ° β ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ. ΠΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π½ΠΈΠΌΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΎΠ½ΠΈ ΠΈ ΠΌΠΎΡΠΈΠ²ΠΈΡΡΡΡ, Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎΠ΅ ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΡΠΎ β Π²ΠΈΠ΄Π΅ΠΎ-ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Ρ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ-ΡΡΠ΅Π½ΠΈΠ½Π³ΠΈ Ρ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΡΡΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ ΠΊΠ°Π½ΠΈΠΊΡΠ»Ρ)) β ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΡΠ΅ΡΡΠΌΠΈ. ΠΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΡ ΠΎΡΠ΄ΡΡ Π°Π΅ΡΠ΅, Π° Π΅ΡΠ»ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ, ΡΠΎ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°Π΅ΡΠ΅ Ρ Π²ΠΎΡΡΡ. Π’Π°ΠΊ ΠΆΠ΅ Π΅ΡΡΡ ΠΈ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΠΏΡΡΠΊ, Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ ΡΡΠ΅Π½Π°ΠΆΠ΅Ρ

ΠΡΡΡ Π½ΠΎΠ²ΡΠΉ, Π½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ
ΠΊΡΡΡΠ°Ρ
, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π―Π½Π΄Π΅ΠΊΡΠ° Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΆΠ΅Π»ΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΡΡΡΠΏΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ· ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Β«Π½Π΅ Π·Π°Ρ
ΠΎΠ΄ΠΈΡΒ». ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π²Π»Π΅ΡΡ ΡΡΠ°ΡΠΈΡ
ΡΡ Π²Π΅ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΡΠ½ΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ, ΠΈ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΎΡΡΠ°ΡΠ½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Β«Π±ΡΠ΅ΡΡΡΡΒ» Π½Π°Π΄ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ.

Π ΠΎΡΡΠ°ΡΠ½ΠΈΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΡΡΡΠΏΠ°Π»ΠΎ:
Π‘ΠΎΠ²Π΅Ρ Π±ΡΠ΄ΡΡΠΈΠΌ ΡΡΡΠ΄Π΅Π½ΡΠ°ΠΌ β 90% ΠΎΡΠΈΠ±ΠΎΠΊ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡ ΡΡΡΠ°Π»ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΠΎΡΡΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. ΠΡΠ²Π»Π΅ΠΊΠΈΡΠ΅ΡΡ Π½Π° ΠΏΠΎΠ»ΡΠ°ΡΠ° β ΡΠ°Ρ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠ±ΡΠΉΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΠ°Ρ ΠΌΠΎΠ·Π³ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΠ΅ΡΠΈΡ Π²ΡΡ Π·Π° ΠΠ°Ρ)). Π 10% Π΅ΡΠ»ΠΈ ΠΡ Π½Π΅ ΠΏΠΎΠ½ΡΠ»ΠΈ ΡΠ΅ΠΌΡ β ΠΏΠ΅ΡΠ΅ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π· ΠΈ Π²ΡΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ!
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎ ΠΏΠΎΠΌΠΎΡΠΈ Ρ ΡΡΡΠ΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ: ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠΌΠ΅, ΡΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠΈΡΠ΅ΠΌ, ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ HR β ΠΎΡΠ΄Π΅Π»Π°. ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΡΠ»Π°, ΡΡΠΎ ΡΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡΡ
ΠΈ Π½Π΅ Π±ΡΠ»Π°.
Π£ΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΌ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡΡ:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΈ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, ΠΊΡΠ΄Π° ΠΆΠ΅ Π±Π΅Π· Π½ΠΈΡ
Π§Π°ΡΡΡ ΡΡΠ°ΡΠ΅ΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ, Π½ΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΎΠ³Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΡΡΡΠ°ΠΌΠΈ Π½Π° Stepik β Big Data Π΄Π»Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ (Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ), ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python, ΠΡΠ½ΠΎΠ²Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΎΠ±Π΅ ΡΠ°ΡΡΠΈ Ρ ΠΠ½Π°ΡΠΎΠ»ΠΈΠ΅ΠΌ ΠΠ°ΡΠΏΠΎΠ²ΡΠΌ, ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π’Π΅ΠΎΡΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ΅ΠΉ (ΠΏΠ΅ΡΠ²ΡΠ΅ 2 ΠΌΠΎΠ΄ΡΠ»Ρ).
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ JS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
ΠΡΠΈΠ²Π΅Ρ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠΈΠΌΠ° Π§ΡΠ΄ΠΈΠ½ΠΎΠ², Ρ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ Π½Π° Π²Π΅Π±-ΡΠ°ΠΊΡΠ»ΡΡΠ΅ΡΠ΅ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ°, Head of Group, Front-end, ABBYY.
Π‘ΡΡΠ΄Π΅Π½ΡΡ Π½Π΅Π΄Π°Π²Π½ΠΎ Π·Π°Π΄Π°Π»ΠΈ ΠΌΠ½Π΅ Π²ΠΎΠΏΡΠΎΡ: Β«Π§ΡΠΎ Π»ΡΡΡΠ΅: Angular ΠΈΠ»ΠΈ React?Β». Π― Π½Π°ΡΠ°Π» ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΡ. ΠΠΎΠ·ΠΆΠ΅ Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π½Π΅ Ρ Π²Π°ΡΠΈΡ.
Π ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²ΡΠ±ΡΠ°ΡΡ, Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·. Π Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ. ΠΡΠ±ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΠ°ΡΡΡ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ. ΠΠ°ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈ ΡΠΏΠΎΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΡΡ Π½Π΅ (Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°) ΠΈ Π² ΡΠ΅ΡΠΈ. Π‘ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ²ΠΎΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Β«Π·ΠΎΠΎΠΏΠ°ΡΠΊΒ» Π²Π΅Π±-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠ²Π΅ΡΡ Ρ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ β Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΡΠ°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π·Π°Π΄Π°Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ Π½Π° Π½Π΅Π΅ Π²ΠΎΠ·Π»ΠΎΠΆΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° β ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ Π½Π°Π±ΠΎΡΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ β ΠΊΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠΌΠ΅ΡΡΠ΅ ΠΎΠ½ΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ΅. Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π·Π°Π΄Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ½ Π΄ΠΈΠΊΡΡΠ΅Ρ, ΠΊΠ°ΠΊ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π§ΡΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , ΡΠ°ΠΊ ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅. ΠΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΡΠ±ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ°ΡΠΊΠ°Ρ Π²Π·ΡΡΡ ΠΈΠ»ΠΈ ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·Ρ ΠΈ ΠΊΡΡΠ³ΠΎΠ·ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½ΠΎΠ²ΠΈΡΠΊΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ Π»ΠΈΠ±ΠΎ Ρ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ JS Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ/ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², Π»ΠΈΠ±ΠΎ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ². ΠΠ·ΡΡΠ°ΡΡ Π΅Π³ΠΎ, Π½Π°Ρ ΠΎΠ΄ΡΡ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π·Π°ΠΊΡΡΡΡ ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ.
ΠΠΎΠ»Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΆΠ΅ Π·Π½Π°ΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π·Π°Π΄Π°Ρ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΡΡΡΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² β React ΠΈ Redux β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄Π°ΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΡΠΊΠ°ΡΠ°, Π° ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΏΡΡΡ Π΄Π»Ρ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π°.
Π§ΡΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π½ΡΡΠ΅
React, Vue, lodash, D3β¦ Π½ΠΎΠ²ΠΈΡΠΊΡ ΠΏΠΎΡΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡΡ . Π’Π°ΠΊ Π² ΡΠ΅ΡΠΈ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΡΡΡΠΊΠ° ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡΠΈΡ ΡΠ΅ΠΊΡΡΡΠ΅ΡΠΎΠ² Π½Π°Π·Π²Π°ΡΡ, ΠΊΡΠΎ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π² Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ»Π΅ β ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½. Π‘ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ³Π°Π΄Π°ΡΡ?
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΌΠ°: «I typically ask recruiters to point out which of these are pokemon»
Google Π² 2000-Π΅ ΠΈ ΡΠ΅ΠΉΡΠ°Ρ. UX ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ: ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ½ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
html-ΠΊΠΎΠ½ΡΡΠΎΠ»Π°Ρ
, ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈ ΡΡΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΠ΅ Π±ΡΠ»ΠΎ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π½Π° ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²ΡΠ±ΡΠ°ΡΡ: Β«React, Angular ΠΈΠ»ΠΈ Vue?Β». Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²Π΅Π±Π°. ΠΠΎ Π±ΡΠ»ΠΈ ΠΈ ΠΏΡΡΠ»ΠΈΠ²ΡΠ΅ ΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΠ°Π»ΠΈΡΡ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π°Π²Π°Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Β«Π±ΠΎΠ³Π°ΡΡΠ΅Β» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΉ, Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΈ ΠΏΡΠΎΡΠΈΠΌΠΈ ΡΠ°Π΄ΠΎΡΡΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ.
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ
Π ΠΌΠ°ΡΡΠ΅ 2005 Π³ΠΎΠ΄Π° ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Dojo Toolkit, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ ΠΈ REST-ΠΊΠ»ΠΈΠ΅Π½Ρ. Π ΠΈΡΠ½Π΅ 2006 Π³ΠΎΠ΄Π° Π±ΡΠ»Π° Π²ΡΠΏΡΡΠ΅Π½Π° Π°Π»ΡΡΠ°-Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ jQuery, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π»Π° Π² ΡΠ΅Π±Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ DOM, ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ AJAX. ΠΡΠ΅ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, Π½Π΅ ΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, ΡΠ°Π±Π»ΠΎΠ½Ρ, Π° Π±ΡΠ°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ.
JavaScript: ES3 ΠΈ ES5
Javascript ΡΠΎΠ³Π΄Π° Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π»ΡΡ ΠΎΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ. Π 1999 Π³ΠΎΠ΄Ρ Π±ΡΠ» ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΡΠ°Π½Π΄Π°ΡΡ ECMAScript 3. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» Ρ ΠΎΡΠΎΡΡΡ Π±Π°Π·Ρ ΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ΅ΠΉΡΠ°Ρ. Π Π²ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡ ECMAScript 5 2009 Π³ΠΎΠ΄Π° ΡΠΆΠ΅ ΠΈΠΌΠ΅Π» ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΠ°Π³ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Javascript. ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΡΠΌ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ:
ΠΡΠ΄Π° Π΄Π΅Π»ΡΡ ES4
ECMAScript 4 Π±ΡΠ» Π°ΠΌΠ±ΠΈΡΠΈΠΎΠ·Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π½ΠΎ ΠΏΠΎ ΡΠ»ΡΡ Π°ΠΌ ΠΈΠΌΠ΅Π» ΠΏΠ»ΠΎΡ ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ES3. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΈΡ ΠΏΡΠ΅Π½ΠΈΠΉ, ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠΌ TC-39, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΈΠ· Google, Intel, Microsoft, Facebook, Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ECMAScript 3.1. ΠΠΎΠ·ΠΆΠ΅, Π² 2009, ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² ECMAScript 5.
ΠΡΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²
ΠΠΎΠ²ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ Π΄Π°Π» ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΠΎΠ»ΡΠΎΠΊ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΊΠ°ΠΊ Javascript, ΡΠ°ΠΊ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ².
Backbone.js
Π 2010 Π³ΠΎΠ΄Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Backbone.js β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ MPV (Model-Presenter-View) ΠΏΠ°ΡΡΠ΅ΡΠ½. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Backbone.js ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ SPA Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΡΡΡΠΈΠ½Π³ΠΎΠΌ. ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΡΡΡΠΈΠ½Π³ Π±ΡΠ» Π΄ΠΈΠΊΠΈΠΌ Π½Π΅ΡΠΊΡΠΎΡΡΠ½Π½ΡΠΌ Π·Π²Π΅ΡΠ΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²Π°ΡΠΈΠ°Π½Ρ Ρ ΠΎΡΠ΄Π°ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² β ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΡΡΡΠΈΠ½Π³ΠΎΠΌ.
ΠΠ° Backbone.js Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Backbone.js β ΡΠ°ΡΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ CoffeeScript ΠΎΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π°Π²ΡΠΎΡΠ°. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ» Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Javascript: ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΠΊΠΎΡΠΎΡΠ΅ ΠΈ Π±ΡΠ» Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ, Π±ΡΠ»ΠΈ ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π°Π±ΡΡΡ Π½Π° Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Ρ ΠΎΡΡ ΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
AngularJS
Π ΡΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΡΠ» ΡΠ΅Π»ΠΈΠ· AngularJS ΠΎΡ Google β ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π» Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π·Π°Π²ΠΎΠ΅Π²Π°Π» ΡΠ΅ΡΠ΄ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² β Π½Π° Π½ΡΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ°ΠΉΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΡ ΠΠ°ΠΊΠΠΎΠ½Π°Π»ΡΠ΄ΡΠ°:
Π‘Π°ΠΉΡ ΠΠ°ΠΊΠΠΎΠ½Π°Π»ΡΠ΄ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° AngularJS
ΠΠΎ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²ΠΎΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, AngularJS ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ°ΠΊ ΡΠ°ΠΊ Π²ΡΡΠ»ΠΎ β ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π΄Π°Π»ΡΡΠ΅.
Ember.js
2011 Π³ΠΎΠ΄ ΠΏΡΠΈΠ½Π΅Ρ Ember.js β Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ SPA ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ Handlebars. Π‘Π°ΠΌ ΠΆΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ MVC (Model-View-Controller). Π£ Ember ΠΎΡΠ΅Π½Ρ Π΄ΡΡΠΆΠ½ΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈ Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, β Π΄Π°ΠΆΠ΅ Π² 2020 Π³ΠΎΠ΄Ρ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΅ΡΡΡ ΡΠΎΠ°Π΄ΠΌΠ°ΠΏ ΠΈ ΡΠ΅Π»ΠΈ ΠΏΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ. ΠΡΡ Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΡΡΠ°ΡΡΠΈ: Β«ΠΠ°ΠΊ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ React Π½Π° EmberΒ», ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΡΠΊΠ° Π½Π΅ ΡΡΠΎΠΈΡ ΡΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΎ ΡΡΠ΅ΡΠΎΠ².
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π² 2010-Ρ Π³ΠΎΠ΄Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π° Π±ΡΠΊΠ΅Π½Π΄ ΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ β ΡΡΠ°Π»ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π½Π°ΠΉΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π½Π°Π» Π±Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π²ΡΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ JS ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π²Π΅Π΄Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π» ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ. Π Π°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΠΈ Π½Π°ΡΠ°Π»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π½Π΅ ΠΎΠ±ΡΠΈΠΉ ΠΊΡΡΠ³ΠΎΠ·ΠΎΡ Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π° ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΡΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ.
Π₯ΠΎΡΠΎΡΠΈΠΉ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ β AngularJS
Π 2010 Π³ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Google Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ AngularJS. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ ΡΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ»ΠΈ Π΅Π³ΠΎ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π²Π½ΡΡ β Backbone ΠΈ Ember.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, AngularJS ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π» Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β two-way data binding (Ρ Π°Π½Π³Π». Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ), ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡ Π½Π΅ Π±ΡΠ» ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ AngularJS
AngularJS β ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΡΠ΅Π»ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Single Page Applications.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠ°ΠΊ ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ β ΠΌΠ΅Π½ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠΎΠ»Π΅ β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ β ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ β ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠ²Π΅Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ two-way data binding.
Π‘Ρ
Π΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΡΠ΅ AngularJS ΠΏΡΠΈΠ²Π½ΡΡ Π½Π΅ΡΠ²ΠΎΠΉΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Dependency Injection (Ρ Π°Π½Π³Π». Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ).
Π£ΠΏΡΠΎΡΡΠ½Π½Π°Ρ ΡΡ
Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° Dependency Injection
ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ. ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊ: Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ), Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ° (ΡΠ΅ΡΠ²ΠΈΡ) ΠΈ ΠΊΠΎΠ½ΡΠ΅Π½Ρ-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° (ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°). ΠΡΠ΅ ΠΎΠ½ΠΈ ΡΠΈΠ΄ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅ (DI ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ). ΠΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½ΡΠΆΠ΅Π½ ΠΌΠ°ΠΊΠ΅Ρ, ΠΎΠ½ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΡ, Π° ΡΠΎΡ Π±Π΅ΡΡΡ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠ°ΠΊΠ΅ΡΠ° Ρ ΠΊΠΎΠ½ΡΠ΅Π½Ρ-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°. ΠΡΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ, Π²Π΅Π΄Ρ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠΈΠ΄ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅. ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΎ AngualrJS Π½Π΅ Π±ΡΠ» Π±Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ, Π΅ΡΠ»ΠΈ Π±Ρ Π΄Π΅ΡΠΆΠ°Π»ΡΡ Π½Π° ΠΏΠ°ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ². Π Π½Π΅Π³ΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²:
AngularJS ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π² ΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΠΎ AngularJS Π½Π΅ Π±ΡΠ» ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ ΠΈ ΡΠ°Π·Π±ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΄Π΅Ρ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
AngularJS ΡΡΠ½ΡΠ» Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±Π»Π΅Π³ΡΡΠ½Π½ΡΡ Π²Π΅ΡΡΠΈΡ JQuery β JQLite. ΠΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ²Π΅ΡΡ Π΅Π΄ΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ JQuery Π±ΡΠ» Π½Π΅ Π½ΡΠΆΠ΅Π½ ΠΈΠ»ΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π±ΡΠ»Π° Π½Π° Π½Π΅Π³ΠΎ Π°Π»Π»Π΅ΡΠ³ΠΈΡ, Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠ»ΠΎΡ Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π² βdigest loopβ ΠΈ Π΅Π³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Digest loop β ΡΠΎ, Π½Π° ΡΡΠΌ Π΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΉ two-way data binding. ΠΡΠΎΡ ΡΠΈΠΊΠ» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ: ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΡΠ΅ ΡΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΡΠΎΡ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ²Π΅ΡΠΊΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠΊΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΠ»Π°, ΡΠΈΠΊΠ» Π·Π°ΠΏΡΡΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ digest loop Π² AngularJS
Π’ΡΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·-Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° ΠΈ ΡΠ°ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡΡΡΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ βrealtime dataβ ΠΈΠ»ΠΈ ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈ ΡΠ°ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π² AngularJS, Π²Π΅Π΄Ρ ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ΄ΡΠΎ ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Angular 2+ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Angular.
Π Π°Π±ΠΎΡΠ° Π½Π°Π΄ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ β Angular 2
Π 2014 Π³ΠΎΠ΄Ρ Π² ΡΡΠΌΠ½ΡΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΡΡ Google Π½Π΅ΠΏΠΎΠ΄Π°Π»ΡΠΊΡ ΠΎΡ Π·ΠΎΠ½Ρ 51 (Area 51) Π½Π°ΡΠ°Π» ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ β Angular.
Π ΡΠ΅Π½ΡΡΠ±ΡΠ΅ 2016 Π±ΡΠ»Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΠΏΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ β Π°Π½ΠΎΠ½Ρ Angular 4, Π° 3 Π²Π΅ΡΡΠΈΡ Π±ΡΠ»Π° ΠΏΡΠΎΠΏΡΡΠ΅Π½Π°. ΠΡΠΎ ΡΠΌΡΡΠΈΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² β Π²ΡΠ΅ Π±ΠΎΡΠ»ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΡΠ° AngularJS, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠ΄Π½ΡΡΠΈΠ΅ΠΌ ΠΌΠ°ΠΆΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎ, Π½Π°ΠΏΡΠΎΡΠΈΠ², 4 Π²Π΅ΡΡΠΈΡ Π±ΡΠ»Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° ΡΠΎ 2.
Angular Π½Π°ΡΠ°Π» ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΉ Π²ΡΠΏΡΡΠΊ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ. ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Angular β 11.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Angular
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ»ΠΈ ΡΠ»Π°Π±ΡΠ΅ ΠΌΠ΅ΡΡΠ° AngularJS. ΠΠ·ΡΠΌΠΈΠ½ΠΊΠΎΠΉ Angular 2 ΡΡΠ°Π» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π°ΡΡ ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, β Typescript.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π² ΡΠ΅Π±Π΅ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ, ΡΡΠΈΠ»ΠΈ, ΡΠΎΠ±ΡΡΠΈΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΈ Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠ΅Π½ΡΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² β ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² Angular:
Π Angular ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΠΎ Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ state, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΡ ΡΠ΅ΡΠ΅Π· Dependency Injection. ΠΡΠ»ΠΈ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ, ΡΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ NgRx.
ΠΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Angular ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ AngularJS:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
Typescript β Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ, Π½ΠΎ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Angular. ΠΡΠΎ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², Π²Π΅Π΄Ρ ΠΏΠΈΡΠ°ΡΡ Π±Π΅Π· Π½Π΅Π³ΠΎ Angular-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅Π»ΡΠ·Ρ. ΠΡΠΎΠ±Π»Π΅ΠΌΡ Typescript Π΄Π»Ρ ΠΎΠ±ΡΠ²Π°ΡΠ΅Π»Ρ: ΡΡΡΠΎΠ³Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠΎΠΉ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ; ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΈΠΏΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ°, Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Angular β ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Ρ Π±ΠΎΠ³Π°ΡΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ, Π½Π΅Ρ, ΡΠΊΠΎΡΠ΅Π΅, ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΠΎΠ²ΠΈΡΠΊΠΈ ΡΠ΄Π°ΡΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Β«Π»ΡΠ³ΠΊΠΈΠ΅Β» ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ. ΠΠΎ ΡΠ΅, ΠΊΡΠΎ ΡΠΏΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ Angular, β ΡΠ΅Π΄ΠΊΠΎ Π² Π½ΡΠΌ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ.
Π‘Π΅ΡΠ΅Π±ΡΡΠ½Π°Ρ ΠΏΡΠ»Ρ ΠΎΡ Facebook β React
Π 2011 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Facebook ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»Π° ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ°Π»ΠΈ Π±Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β ΠΊΠ°ΡΠΊΠ°Π΄Π½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ. Π‘ΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠ΅ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ β AngularJS, Backbone, Ember, Knockout β Π½Π΅ Π΄Π°Π²Π°Π»ΠΈ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π£ Facebook ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β FaxJS. ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠΌΠ΅Π» ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π° FaxJS ΠΏΠΎΡΡΡΠΎΠΈΠ»ΠΈ Facebook Ads Org, Π° Π·Π°ΡΠ΅ΠΌ Instagram ΠΈΡΠΏΡΡΠ°Π» Π΅Π³ΠΎ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ Π»Π΅Π½ΡΠ΅. ΠΡΠΎΠ΅ΠΊΡ FaxJS Π±ΡΠ» ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌ ΠΈ Π΄Π°Π» Π½Π°ΡΠ°Π»ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠΎΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ React. Π 2013 React Π±ΡΠ» ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ open-source Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° JSConf US.
React β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Virtual DOM, JSX, ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, React β ΡΡΠΎ ΡΠΌΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΎΡ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ React
Virtual DOM, ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ DOM, β Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ HTML DOM Π² Π²ΠΈΠ΄Π΅ JS-ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ½ Π°Π³ΡΠ΅Π³ΠΈΡΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ DOM.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ HTML DOM β Π΅Π³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ: ΠΈΠ· Π½Π΅Π³ΠΎ Π΄ΠΎΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ, ΡΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ°ΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ. ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ DOM Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ HTML DOM.
Π£ΠΏΡΠΎΡΡΠ½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ DOM:
ΠΡΡΠ³ΠΎΠΉ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ²Π½ΡΡ React, β JSX (Javascript and XML). ΠΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Ρ Π°Ρ ΠΈΠ»ΠΈ, ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ JavaScript. JSX Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ·ΡΠΊ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π½Π°Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΡΠΈΠ»ΠΎΠΉ JavaScript.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π² JS:
ΠΡ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΏΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ MVC ΠΈ MVVM, ΡΠ°ΠΊ Π²ΠΎΡ React ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ β ΡΡΠΎ Π±ΡΠΊΠ²Π° βVβ Π² MVC/MVVM, ΡΠΎ Π΅ΡΡΡ view ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° JSX:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
React β ΡΠ»ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π² Π½ΡΠΌ Π½Π΅Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ, Π²Π΅Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ²ΠΎΠΉΡΡΠ² ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ Π²Π΅Π΄ΡΡ ΠΊ Π°Π½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½Ρ β prop drilling.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° β ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ°, ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΡΠ°ΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ (Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ). Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ prop-drilling ΡΡΠ°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ Π²Π΅Π΄ΡΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π±Π°Π³ΠΎΠ².
Π‘Ρ
Π΅ΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ΅ΡΠ΅Π· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ prop-drilling
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Facebook ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ React Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ β Flux.
ΠΠΎΠΏΡΡΠΊΠ° ΡΠ»ΠΎΠΆΠΈΡΡ Π²ΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡΠΊΠ°ΠΌ β Flux
Flux β Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½. ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ React, Ρ ΠΎΡΡ ΡΠ°ΠΌΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ, ΠΈΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, framework-agnostic.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
Π‘Ρ Π΅ΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π² React, ΠΊΠ°ΠΊ ΠΈ Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ MVVM, Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ±ΡΡΠ½Π°Ρ ΡΡ
Π΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΡ
MVVM-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²
ΠΡΠΎ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠ·Π²Π°Π½ Π±ΡΠ» ΡΠ΅ΡΠΈΡΡ Flux. ΠΠ»Π°Π²Π½Π°Ρ ΡΠ΅Π»Ρ Flux β ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ: ΠΎΠ½ΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΡΠΈ.
Flux ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 4-Ρ Π³Π»Π°Π²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ:
Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ:
Π‘Ρ
Π΅ΠΌΠ° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π²ΠΎ Flux-Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
ΠΡΡ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Flux ΠΈΠΌΠ΅Π» Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠΏΡΠΈΠ·Ρ.
ΠΠΎΡΡΠΎΠΌΡ Π² 2015 Π³ΠΎΠ΄Ρ ΠΠ°Π½ΠΈΠΈΠ» ΠΠ±ΡΠ°ΠΌΠΎΠ² ΠΈ ΠΠ½Π΄ΡΡ ΠΠ»Π°ΡΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ β Redux. ΠΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Flux-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°.
ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π»ΡΡΡΠ΅ β Redux
Redux β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ ΠΏΡΠΎΡΡΡΠΌ API, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ»ΠΈ state container Ρ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ . ΠΠΎ Flux ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ, Π² Redux β ΠΎΠ΄Π½ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
ΠΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π² React Ρ Redux ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΠΏΡΠΎΠ΄Π°ΡΡΠ΅ Π·Π½Π°ΡΠΊΠΈ: ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠ΅ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠ±ΡΡΠ° ΡΠ΅ΡΠ΅Π· Π·Π½Π°ΠΊΠΎΠΌΡΡ , ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. Π’Π°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ React Π±Π΅Π· Redux. ΠΠΎ ΡΡΠΎΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Redux, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ° Π΄Π»Ρ ΡΠ±ΡΡΠ° β Redux store. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ Wildberries ΠΈΠ»ΠΈ Lamoda, ΠΊΡΠ΄Π° ΠΏΡΠΎΠ΄Π°Π²Π΅Ρ Π²ΡΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ²Π°Ρ ΠΈ Π½Π΅ ΡΡΠ°ΡΠΈΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΆΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. Π’Π°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π° ΡΡ Π΅ΠΌΠ΅:
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
Π² React Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Redux ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ
Π‘Ρ Π΅ΠΌΠ° ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ Π² Redux:
Π‘Ρ
Π΅ΠΌΠ° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² Redux
ΠΠ°ΠΌ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΡΠΎΠΌΠ΅ Reducer.
Reducer β ΡΠΈΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ (Action) ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½Π° Π½Π΅ ΠΌΡΡΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ, Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅Π³Π΄Π° Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½Ρ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Redux Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Ρ ΡΠΎΠΊΡΡΠΎΠΌ Π½Π° React, ΠΎΠ½ Π²ΠΏΠΎΠ»Π½Π΅ Π½Π°ΡΡΠ» ΡΠ΅Π±Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ, Π΄Π°ΠΆΠ΅ Ρ AngularJS.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Redux
Redux Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΡΡΡΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π±ΠΎΠΉΠ»Π΅ΡΠΏΠ»Π΅ΠΉΡΠ° (ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ, Ρ ΠΎΡΡ ΠΎΠ½ Π½Π΅ Π½Π΅ΡΡΡ Π² ΡΠ΅Π±Π΅ Π»ΠΎΠ³ΠΈΠΊΠΈ): Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Action (ΠΈΠ½ΠΎΠ³Π΄Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ), Reducer, Selector. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΈΡΠ΅ΡΡ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π±Π°Π½Π΄Π».
ΠΠΎΠΌΡΡΠ½ΠΈΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ Redux ΠΏΡΠΎΡΡΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, Π½ΠΎ Ρ Π½ΠΈΠΌ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π½ΡΠΆΠ½ΠΎ Β«Π½Π°Π±ΠΈΡΡ ΡΡΠΊΡΒ»: ΠΈΠ·ΡΡΠΈΡΡ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π° ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°Π·Π°.
ΠΠ° ΡΠ²ΡΠ·ΠΊΠ΅ React ΠΈ Redux ΠΏΠΈΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Redux ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΠΈ Π² 2020 Π³ΠΎΠ΄Ρ. ΠΡΠΎ Π½Π΅ ΡΠ°ΠΌΠ°Ρ ΠΏΡΠΎΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡΡΠ°.
ΠΡ Multipage ΠΊ SPA ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ β Next.js
ΠΠΎ ΡΡΠΎΠ³ΠΎ Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π» ΠΏΡΠΎ SPA-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΡΠΎΠΈΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ. SPA-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ Π±ΡΡΡ ΠΏΠΎ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΡΠΊΡΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° UX (Ρ Π°Π½Π³Π». User Experience). ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠ΅ Π±ΠΎΡΡ Π½Π΅ ΠΎΡΠΎΠ±ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π½Π° JS, β Π² 2020 Π³ΠΎΠ΄Ρ Google-Bot ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ , ΠΊΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅Ρ SPA.
ΠΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠΎ Π½ΠΎΠ²ΠΎΠΌΠΎΠ΄Π½ΡΡ SPA Π² ΡΡΠ΅Π½Π΄Π΅ Π±ΡΠ» ΠΏΠΎΠ΄Ρ ΠΎΠ΄ multipage, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΈΠΌΠ΅Π» ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, Π΅Ρ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ.
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²Π·ΡΠ»Π°ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ZEIT. Π’Π°ΠΊ Π² 2016 Π³ΠΎΠ΄Ρ Π±ΡΠ» Π²ΡΠΏΡΡΠ΅Π½ SSR (Server Side Rendering) ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ β Next.js. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ²Π΅ΡΡ React ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ multipage ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ β ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ SPA.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
ΠΠ»Π°Π²Π½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Next.js β SSR. ΠΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΏΠΎΠ²Π΅ΡΡ React, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠ²ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Ρ ΠΏΡΠ΅Π΄Π½Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ DOM, ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ JS Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ. ΠΠΎΡΠ»Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ SPA-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π‘ode-splitting (Ρ Π°Π½Π³Π». ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ° ΠΊΠΎΠ΄Π°) β Π΅ΡΡ ΠΎΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠΊΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ JS-ΠΊΠΎΠ΄Π° Π½Π΅ Π²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° Π»ΠΈΡΡ ΠΌΠ°Π»ΡΡ Π΅Π³ΠΎ ΡΠ°ΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π±ΡΡΡΡΠ΅Π΅ β Π±ΡΠ°ΡΠ·Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΈ Π½Π΅ ΡΡΠ½Π΅Ρ Π»ΠΈΡΠ½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π° Π½ΡΠΆΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅.
Π‘ Next.js ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΎΠ½ Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ Π²ΡΡ ΡΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅.
Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π΅ΡΡ ΠΏΠ°ΡΠ° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
ΠΠ΄Π΅Π°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π΅ Π±ΡΠ²Π°Π΅Ρ ΠΈ ΠΏΠΎΠ΄ Π²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. Π’Π°ΠΊ ΠΈ Next.js Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΈΠ±ΠΈΡΡΡ Π³Π²ΠΎΠ·Π΄ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Webpack, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΡΡΡ Π»ΠΎΡΠ΄Π΅ΡΠΎΠ², ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΡΠΊΠΈ, ΡΡΡ ΡΡΠΎΡ Π½ΠΎΠΌΠ΅Ρ Π½Π΅ ΠΏΡΠΎΠΉΠ΄ΡΡ β ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ±ΠΎΡΠΊΠ°, ΡΠΊΡΡΡΠ° ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΡ Π»ΡΠ±ΡΡ ΠΏΡΠΈΡ ΠΎΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Next.js β Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ΄ΡΡΡΡ Π²Π½ΠΈΠΊΠ°ΡΡ, Ρ ΠΎΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ Π²Π΅ΡΡΠΌΠ° Ρ ΠΎΡΠΎΡΠΈ.
Π 2015β2016 Π³ΠΎΠ΄Π°Ρ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΠ»ΠΈΠ²Π°ΡΠΎΠ² Π½Π° ΡΠ΅ΠΌΡ SPA vs SSR. ΠΡΡ Π½ΠΎΠ²ΠΎΠ΅ β Ρ ΠΎΡΠΎΡΠΎ Π·Π°Π±ΡΡΠΎΠ΅ ΡΡΠ°ΡΠΎΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΈ multipage-ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Next.js. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ SPA ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΠΈΡΡΡΡ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, Π°, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΡΠ°Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ SSR. Π 2020 Π³ΠΎΠ΄Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ SPA-, ΡΠ°ΠΊ ΠΈ SSR-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ ΠΎΠ»ΠΈΠ²Π°ΡΠΎΠ² Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΠΎΡΡ.
ΠΠ· ΠΠΈΡΠ°Ρ Ρ Π»ΡΠ±ΠΎΠ²ΡΡ β Vue.js
Π 2014 Π³ΠΎΠ΄Ρ React ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΈΡΠ°Π» ΠΎΠ±ΠΎΡΠΎΡΡ, AngularJS, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΡΡΠ°ΡΠΈΠ²Π°Π» ΡΠ²ΠΎΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, Π° Angular Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π΅ΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π£ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΆΠ΅ Π±ΡΠ» Π±ΠΎΠ»ΡΡΠΎΠΉ Π²ΡΠ±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ Π½Π΅ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΡΠ°Π½ΡΠ»ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π°, Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«Π²Π·Π»Π΅ΡΠ΅Π»ΠΎΒ». ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ β Vue.js. ΠΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ, Π±ΡΠ²ΡΠΈΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ Google, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» AngularJS Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Vue.js ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π° Π½Π΅Π³ΠΎ ΠΏΠΎΡ ΠΎΠΆ.
Π£ Vue.js Π±ΡΠ» Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΏΡΡΡ ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ β ΡΠΈΡΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈΡΡ ΠΎΡ ΡΠ΅Π»ΠΈΠ·Π° ΠΊ ΡΠ΅Π»ΠΈΠ·Ρ. Π Π½Π°ΡΠ°Π»Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ Π΅ΠΌΡ ΠΏΡΠΎΠ²Π°Π», Π½ΠΎ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ½ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΈΡΠ°Π» ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ: ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ 3.0 Π²ΡΡΠ»Π° Π² 2020 Π³ΠΎΠ΄Ρ. Π ΡΠ°Π·Π²ΠΈΡΠΈΠΈ Π΅ΠΌΡ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΡΠΏΠ»ΠΎΡΡΠ½Π½ΠΎΠ΅ Π°Π·ΠΈΠ°ΡΡΠΊΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π° Π² ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠ·Π°ΡΠΈΠΈ β Π΅Π²Π°Π½Π³Π΅Π»ΠΈΡΡΡ.
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²ΠΎΡΡΠ» Π² ΡΠΎΠΏ-3 ΠΊΠΈΡΠΎΠ² ΠΈ ΡΡΠ°Π» ΡΡΠ³Π°ΡΡΡΡ Ρ Angular ΠΈ React:
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΡΠΎΠΏ-3 ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π½Π° Github
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
Vue ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π» Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
CΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²:
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ Π² ΡΡΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅: ΠΎΡ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠ³Π° Π²Ρ ΠΎΠ΄Π° Π΄ΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ· ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Vue.js Π²ΡΠ΄Π΅Π»ΡΡΡ:
Vue Π½Π΅ ΠΏΡΠΈΠ²Π½ΡΡ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅, ΠΎΠ½ Π²Π·ΡΠ» ΡΠΆΠ΅ Π½Π°ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π±Π°Π³Π°ΠΆ Π·Π½Π°Π½ΠΈΠΉ ΠΈΠ· React/AngularJS/Angular ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ±ΡΠ°Π» ΡΠ°Π·Π΄ΡΡΠΎΠ΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ API ΠΈ ΠΏΡΠΈΠ²ΡΠ» Π²ΡΡ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π²ΠΈΠ΄Ρ.
Vue.js β ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΠΊΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ ΡΠ±ΠΎΡΠΊΡ. Π£ Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ°Π²ΡΡ Π² ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ° Vue ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΆΠ°Π»ΠΎΠ²Π°Π»ΠΈΡΡ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π³Π°ΠΉΠ΄ΠΎΠ² ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ LOC (lines of code β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°) ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π·Π½Π°Π»ΠΈ, ΠΊΡΠ΄Π° ΠΈ ΠΊΠ°ΠΊ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π»ΠΎ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈ ΡΠ΅ΡΡΡΡ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
Π₯ΠΎΡΠΎΡΠ°Ρ Π½ΠΎΠ²ΠΎΡΡΡ: ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ Π²ΡΡΠΎΡΠ»ΠΎ ΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Vue.js, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π±Ρ ΠΈΠ·ΠΆΠΈΠ»ΠΈ.
ΠΡΡΠ³ΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ Π΄ΠΎΡΡΠ³ΠΈΠ²Π°Π΅Ρ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² Π²ΡΠΎΠ΄Π΅ React ΠΏΠΎ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ. ΠΠΎ Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π²ΠΈΠ½Ρ Vue.js, Π²Π΅Π΄Ρ ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ React β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅.
Π ΡΠ΅Π»ΠΎΠΌ Vue.js Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ» Π·Π° ΡΠΎΠ±ΠΎΠΉ ΡΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Π½ΠΎΠ³ΠΈ Π·Π° ΡΠΊΡΠΎΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΠΌΡ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΡΡΠΈΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π Π½ΠΎΠ²ΠΈΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡΡΠΎ Π²ΡΡΠ½ΡΡΡΡΡ Π²ΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π½Π΅ ΡΡΠΎΠ½ΡΡΡ Π² Π·ΠΎΠΎΠΏΠ°ΡΠΊΠ΅ Π²Π΅Π±-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
Π§Π΅ΡΠ½Π°Ρ ΠΌΠ°Π³ΠΈΡ β Svelte
ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΠΎΠΏ-3 Π»ΠΈΠ΄Π΅ΡΠΎΠ² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½ ΠΈ ΡΡΡΠΎΡΠ»ΡΡ, Π½ΠΎ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ»ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΌ Π½ΡΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡΡΡΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΈΡΡΡΠΎΠ·Π½ΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ, ΠΈ Π΅Π³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡ Π²Π°ΡΡΠ°ΡΡΡΡ Π½ΠΈ React, Π½ΠΈ Angular, Π½ΠΈ Vue.
Svelte Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠ΅Π·Π΅Π½ΡΠΎΠ²Π°Π»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ Π² 2016 Π³ΠΎΠ΄Ρ, Π½ΠΎ ΠΏΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΎΡΠΎΠ±ΠΎ Π½Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π»Π°ΡΡ. ΠΠΎΠΏΡΠ»ΡΡΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π½Π°ΡΠ°Π»Π°ΡΡ ΡΠΎ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π² 2018 Π³ΠΎΠ΄Ρ, Π° Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ ΡΡΠ΅ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎ Π½ΡΠΌ Π½Π°ΠΊΠΎΠ½Π΅Ρ Π·Π°Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ Svelte: ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° β ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΆΠ΅ ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π° Π½Π΅ ΠΏΡΡΡ Π΅Π³ΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ Svelte ΠΎΡΠ΄Π°ΡΡ ΡΠΆΠ΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Svelte ΠΈ React ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ
ΠΠΎ ΡΡΡΠΈ, Svelte β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π½Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΡΡ ΡΠ±ΠΎΡΠΊΡ, ΡΡΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Π΅Π³ΠΎ ΡΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π±Π°Π½Π΄Π»ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π±Π΅Π· ΡΡΡΡΠ° ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
| Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ/Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° | Π Π°Π·ΠΌΠ΅Ρ, ΠΊΠ± |
|---|---|
| React (v.16) | 97.5 |
| Vue (v.2) | 58.8 |
| Angular (v.2) | 566 |
| Svelte | 0 |
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΡΠΈΡΡΡ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ, Π½ΠΎ Ρ Svelte ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ 0.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Svelte ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡ Π²Π°ΡΡΠ°ΡΡΡΡ:
ΠΠ΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ Svelte Π°ΠΊΡΠΈΠ²Π½ΠΎ Π½Π°Π±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ. Π Π΅ΡΡ ΠΎΠ½ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π΅Π½ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π΅Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π».
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
ΠΠ΅Π΄Π½ΡΠΉ CLI ΠΈΠ»ΠΈ, ΡΠΎΡΠ½Π΅Π΅, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ CLI Π΄Π»Ρ Svelte β ΠΎΡΡΡΠΈΠΌΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠ΅Π΄Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ°ΡΠΊΠ°ΡΠ° ΠΈ ΡΠ±ΠΎΡΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Ρ Svelte Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ React, Vue ΠΈ Angular. ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΉΡΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ Svelte, ΠΊΠ°ΠΊ Π² React. Π§ΡΠΎΠ±Ρ ΠΎΡΡΡΠΊΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΡ Π½Π°ΠΏΠΈΠ»ΡΠ½ΠΈΠΊΠΎΠΌ, Π° Π² ΠΈΡΠΎΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π±Π°Π³ΠΎΠ².
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ. ΠΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π½Π° https://stackoverflow.com/, Π³Π΄Π΅ ΠΈΡ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Ρ Angular ΠΈΠ»ΠΈ Vue.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Svelte Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡΠΌΠΈ, Π° ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΡΡ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³, Svelte ΠΎΠ±Π·Π°Π²ΡΠ»ΡΡ 40k stars Π½Π° github. ΠΠ³ΠΎ ΡΠ°ΡΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ ΠΈ Π² Π±Π»ΠΎΠ³Π°Ρ , ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π΅Π³ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π 2020 Π³ΠΎΠ΄Ρ Π»ΠΈΠ΄Π΅ΡΠ°ΠΌΠΈ ΡΡΠ΅Π΄ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ React, Angular ΠΈ Vue.
ΠΠΎ Π½Π° Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ΅ Π·Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΡΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Svelte.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΎΡΠ²Π΅ΠΆΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ:
| ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | ΠΠΎΠ΄ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ | ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ | ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ |
|---|---|---|---|
| AngularJS | 2010 | Π ΠΎΡΠ½ΠΎΠ²Π΅ Π»Π΅ΠΆΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ Dependency injection. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Two-way data binding ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Router. ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΡΡ-ΡΠ°Π½Π½Π΅ΡΠ°. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ. | ΠΠ±ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ JQuery. ΠΠΌΠ΅Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. |
| Angular | 2016 | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ SSR ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π½Π°Π»ΠΈΡΠΈΠΈ Π±ΠΎΠ³Π°ΡΡΠΉ CLI. ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ. Π ΠΎΡΠ½ΠΎΠ²Π΅ Π»Π΅ΠΆΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ Dependency injection. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Two-way data binding ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Router; Π‘Π²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΡΡ-ΡΠ°Π½Π½Π΅ΡΠ°. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ. ΠΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ. Code-splitting. ΠΠ°ΠΏΠΈΡΠ°Π½ Π½Π° Typescript. | ΠΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ
ΠΎΠ΄Π°. ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π½Π΄Π»Π°. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Typescript. |
| React.js | 2013 | ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. Π Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ. ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Virtual DOM. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΈΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JSX. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Typescript. | Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. |
| Flux | 2014 | ΠΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
. ΠΠ΅Π³ΠΊΠΎΠ²Π΅ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Typescript. | ΠΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π°. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°. |
| Redux | 2015 | ΠΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
, ΡΠ΅ΠΌ Π²ΠΎ Flux. ΠΠ΅Π³ΠΊΠΎΠ²Π΅ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Typescript. | ΠΠ΅ ΡΠ°ΠΌΡΠΉ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ
ΠΎΠ΄Π°. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠΉΠ»Π΅ΡΠΏΠ»Π΅ΠΉΡΠ°. |
| Next.js | 2016 | SSR-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ. Code-splitting ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Typescript. Π₯ΠΎΡΠΎΡΠΈΠΉ CLI, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Router. Hot reload ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ. | ΠΡΡΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ΅Π³ΠΈΠ±ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ. |
| Vue.js | 2014 | ΠΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ
ΠΎΠ΄Π°. Two-way data binding. ΠΠ·ΠΎΠΌΠΎΡΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ. ΠΠ΅ΠΏΠ»ΠΎΡ ΠΎΠΉ CLI. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ JSX. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Typescript. | ΠΠ΅ ΡΠ°ΠΊΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ React. Π‘Π»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ. |
| Svelte | 2016 | ΠΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅ΡΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΌ Π±Π°Π½Π΄Π»Π΅. ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SSR. ΠΡΠΎΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Typescript. | ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ. Π‘Π»Π°Π±ΡΠΉ CLI. ΠΠ΅Π±ΠΎΠ³Π°ΡΠ°Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°. |
ΠΠΎΠ»Π΅Π·Π½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
ΠΡΠ»ΠΈ ΡΡΠ° ΡΡΠ°ΡΡΡ Π²Π΄ΠΎΡ Π½ΠΎΠ²ΠΈΡ Π²Π°Ρ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Ρ ΡΠΎΠ±ΡΠ°Π» ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π² ΡΡΠΎΠΌ ΠΏΠΎΠΌΠΎΡΡ.



