Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ яндСкс ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ

Π’Π΅Π±-Ρ‚Ρ€Π΅Π½Π°ΠΆΡ‘Ρ€ ЯндСкс.ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌΠ°. Как всё устроСно

ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс Π²Π°ΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ интСрСсным ΠΈ ΠΏΠΎ возмоТности ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. ОсобСнно, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ касаСтся Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ β€” Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅Π³ΠΎ, ΠΌΠΎΠ», ΠΌΠΎΠ»ΠΎΠ΄Π΅Ρ†, всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π° Π½Π° Π»Π΅Ρ‚Ρƒ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, всё Π»ΠΈ Ρƒ тСбя Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π³Π΄Π΅ косяки ΠΈ ΠΊΠ°ΠΊ Ρ‚Ρ‹ Π² Ρ†Π΅Π»ΠΎΠΌ справился.

Π’ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΡ‹ Π² своС врСмя запустили Π² ЯндСксС 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 происходит с ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π΅Π½Π°ΠΆΠ΅Ρ€Π° ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠšΡ€Π°Ρ‚ΠΊΠΎ, ΠΎΠ± основных Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ яндСкс ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ яндСкс ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ яндСкс ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ яндСкс ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ яндСкс практикумНачинаСм ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с углублСния Π² Python ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Jupyter Notebook для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π£ΠΆΠ΅ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС выполняСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Π°ΠΊ ΠΆΠ΅ происходит ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с профСссиСй ΠΈ трСбованиями Π² Π½Π΅ΠΉ.

На Π²Ρ‚ΠΎΡ€ΠΎΠΌ этапС происходит ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΎ всСх Π΅Π΅ аспСктах, ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π—Π΄Π΅ΡΡŒ добавляСтся Π΅Ρ‰Π΅ Π΄Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ.

Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ курс ΠΏΠΎ статистичСскому Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… + ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π°, Π΄Π΅Π»Π°Π΅ΠΌ большой сборный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π”Π°Π»Π΅Π΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° языкС 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
Svelte0

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ†ΠΈΡ„Ρ€Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‚ΡΡ, Π½ΠΎ Ρƒ 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.

Если Π²Π°ΠΌ захочСтся ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ Π² памяти всС рассмотрСнныС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, просмотритС Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ:

НазваниСГод ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ
AngularJS2010Π’ основС Π»Π΅ΠΆΠΈΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Dependency injection.
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Two-way data binding ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.
ВстроСнный Router.
ВстроСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ.
НаличиС тСст-Ρ€Π°Π½Π½Π΅Ρ€Π°.
ВстроСнный HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚.
ΠžΠ±ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JQuery.
Π˜ΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
Angular2016ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ SSR прилоТСния.
Π’ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ CLI.
ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ.
Π’ основС Π»Π΅ΠΆΠΈΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Dependency injection.
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Two-way data binding ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.
Π˜ΠΌΠ΅Π΅Ρ‚ встроСнный Router; Бвоя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ.
НаличиС тСст-Ρ€Π°Π½Π½Π΅Ρ€Π°.
ВстроСнный HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚.
Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ.
Code-splitting.
Написан на Typescript.
Высокий ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π°.
Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π½Π΄Π»Π°.
ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ использованиС Typescript.
React.js2013Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°.
ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹Π΅ прилоТСния.
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.
Π Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.
ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Virtual DOM.
ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΈΡˆΡƒΡ‚ΡΡ с использованиСм JSX.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Typescript.
Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
Flux2014ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ….
ЛСгковСсная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Typescript.
Высокий ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π°. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ гибкости Π² ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.
Redux2015Π•Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ прСдсказуСмый ΠΏΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Π΅ΠΌ Π²ΠΎ Flux.
ЛСгковСсная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Typescript.
НС самый Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π°.
ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠΉΠ»Π΅Ρ€ΠΏΠ»Π΅ΠΉΡ‚Π°.
Next.js2016SSR-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ.
Code-splitting ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Typescript.
Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ CLI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ настройки для запуска прилоТСния.
ВстроСнный Router.
Hot reload ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.
Жёсткая структура ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
НСгибкая конфигурация сборки.
Vue.js2014Низкий ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π°.
Two-way data binding.
Π˜Π·ΠΎΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ.
НСплохой CLI.
ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JSX.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Typescript.
НС Ρ‚Π°ΠΊΠΎΠ΅ большоС ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ React.
Блишком большая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, которая ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ.
Svelte2016НС Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСсто Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Π±Π°Π½Π΄Π»Π΅.
Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
ВстроСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SSR.
ΠšΡ€ΠΎΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Typescript.
НСбольшоС ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ.
Π‘Π»Π°Π±Ρ‹ΠΉ CLI.
НСбогатая экосистСма.

ПолСзная Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

Если эта ΡΡ‚Π°Ρ‚ΡŒΡ Π²Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΡ‚ вас Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, я собрал ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ источники, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π² этом ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *