TGViewer
Channel Public Channel
πŸ‡ΊπŸ‡¦ Math.random(): community of engineers

πŸ‡ΊπŸ‡¦ Math.random(): community of engineers

@mathrandomcommunity

Π†Π½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΈΠΉ ΠΊΠ°Π½Π°Π» Андрія ΠšΡƒΡ‡Π΅Ρ€Π΅Π½ΠΊΠ°, Π°Π²Ρ‚ΠΎΡ€Π° jscpd Ρ– Gangsta Agents.

AI-Ρ€ΠΎΠ·Ρ€ΠΎΠ±ΠΊΠ° Π½Π° JS/TS: Π°Π³Π΅Π½Ρ‚ΠΈ, spec-driven development, ΡΠΊΡ–ΡΡ‚ΡŒ ΠΊΠΎΠ΄Ρƒ, Ρ†Ρ–Π½Π° стСка Π² Ρ‚ΠΎΠΊΠ΅Π½Π°Ρ….

Π ΠΎΠ·Π±ΠΎΡ€ΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ Ρ‚Π° Π΄ΠΎΠ±Ρ–Ρ€ΠΊΠΈ курсів.

@andrey_pk
youtube.com/@mathrandomjavascriptcommunity
Subscribers
1.26K
Photos
426
Videos
18
Links
598

Showing posts older than #620 Β· Back to latest

Older Posts 20 shown
Post #619 861
πŸ‡ΊπŸ‡¦ Math.random(): community of engineers ЗдравствуйтС, Π΄Ρ€ΡƒΠ·ΡŒΡ! БСгодня ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ тСматичСскиС Π½Π΅Π΄Π΅Π»ΠΈ Π½Π° Math.random(). Π₯Π΅Π΄Π»Π°ΠΉΠ½Π΅Ρ€ΠΎΠΌ ΠΈ ΠΏΠΎΠ²Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΊΠ°Π½Π°Π»Π° Π½Π° этой Π½Π΅Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠšΠΎΡΡ‚Ρ ΠŸΠ°Π»ΡŒΡ‡ΠΈΠΊ - Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ с большим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования, Π°Π΄Π΅ΠΏΡ‚ NoCode Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉβ€¦
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, math.random!

БСгодня заканчиваСтся #frameworksweek ΠΈ я ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΠ½Π΄Ρ€Π΅ΡŽ ΠšΡƒΡ‡Π΅Ρ€Π΅Π½ΠΊΠΎ πŸ–
НадСюсь Π±Ρ‹Π»ΠΎ интСрСсно! ΠŸΠΈΡˆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎΠ± этой Π½Π΅Π΄Π΅Π»Π΅ ΠΈ ΠΎ Ρ‡Ρ‘ΠΌ Π²Ρ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… #thematicweek Π² коммСнтариях!

НапослСдок скаТу: Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ с ΠΎΠ΄Π½ΠΈΠΌ β€” Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ. А Ссли Ρƒ вас Π²Ρ‹ΠΏΠ°Π»ΠΎ ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚ свободного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Π΅ΡΡ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΠ»Π΅ΠΉΠ³Ρ€Π°ΡƒΠ½Π΄Ρ‹ (Π΄Π°ΠΆΠ΅ для SSR), с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ.

Π”Π° ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ сначала Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π½ΡŒΡŽΠ°Π½ΡΠ°Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ сСйчас Π½ΡƒΠΆΠ΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹. Как говорят, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΡƒΡ‚ΠΊΠΎΠΉ ΠΏΠΎΠ΄ ΠΊΡ€ΠΎΠ²Π°Ρ‚ΡŒΡŽ, Ρ‡Π΅ΠΌ Ρ€Π°Π·Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ всСх синиц Π² Π½Π΅Π±Π΅.

ВсСм Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ…!

πŸ™Œ
Post #618 791
ЗдравствуйтС, Π΄Ρ€ΡƒΠ·ΡŒΡ! Π§Π΅Ρ€Π΅Π· нСдСлю состоится конфСрСнция OdessaJS!

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Π½Π°ΡˆΠΈΡ… подписчиков прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ 50% скидки Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ»Π΅Ρ‚, для этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΏΠΎΠ΄ этим постом с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ-Π±Ρ‹ ΠΏΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ. Бписок Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Π½Π° сайтС - https://odessajs.org/

ΠŸΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ объявлСн Π² понСдСльник!

#odessajs #conference #discount
Post #616 805
Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ написали нашС супСр-ΠΏΡƒΠΏΠ΅Ρ€-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, скомпилировали ΠΈ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠΈΡ€Ρƒ. А ΠΊΠ°ΠΊ?
ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Single Page App (SPA), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ наш Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, β€” это ΠΎΠ΄ΠΈΠ½ index.html с .css ΠΈ .js .
Π’.Π΅. ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ адрСс …/about-us β€” ΠΌΡ‹ Π΅ΠΌΡƒ ΠΎΡ‚Π΄Π°Π΄ΠΈΠΌ наш index.html, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ .js, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ about-us страничку. Π•Ρ‰Ρ‘ Ρ…ΡƒΠΆΠ΅ обстоят Π΄Π΅Π»Π° ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, список постов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° сСрвСрС: index.html β†’ main.js β†’ xhr:/api/posts β†’ Render . Π­Ρ‚ΠΎ особСнно Π½Π΅Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ сайт ΠΏΠΎΠΏΠ°Π΄Π°Π» Π² google. А ΡŽΠ·Π΅Ρ€, посмотря сСкунду Π½Π° наш fancy loading indicator, ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Ρ‚ΡŒ ΠΈ ΡƒΠΉΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сайт.

Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² (Π½Ρƒ, ΠΈΠ»ΠΈ "компиляторы компиляторов")!
Π’ зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° прилоТСния, Π΅ΡΡ‚ΡŒ Π΄Π²Π° основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: SSR ΠΈ SSG. Рассмотрим ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

SSR (server side rendering) β€” ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ страницы, ΠΌΡ‹ Π½Π° сСрвСрС отрисуСм ΠΈ ΠΎΡ‚Π΄Π°Π΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ .html, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ сразу ΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ² ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Π»Π°ΡΡŒ страница, ΠΌΡ‹ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ нашС .js, оТивляСм отрисованный html (hydration) ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ сайт Π² Ρ€Π΅ΠΆΠΈΠΌ CSR'Π° (client side rendering) β€” Ρ‚Π°ΠΊ для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ страницам сайта ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΡƒΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ сСрвСра. SSR ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π½Ρ‚Π°ΠΉΠΌ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π° сСрвСрС (Π²Ρ€ΠΎΠ΄Π΅ nodejs) ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ страницы с контСкстом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ваш wish list Π½Π° e-commerce сайтС). НСкоторыС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Next ΠΈ Nuxt) Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ для нашСй ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. НапримСр, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ список Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈΠ· нашСго Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ API β€” ΠΊΠ»ΠΈΠ΅Π½Ρ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, Π° просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ список Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ².

SSG (server side generation) β€” ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° SSR, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ .html Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° сСрвСрС ΠΈ просто ΠΎΡ‚Π΄Π°Ρ‘ΠΌ ΠΈΡ… ΠΊΠ°ΠΊ статику. Для этого ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ страницы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ. НапримСр, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС страницы со ΡΡ‚Π°Ρ‚ΡŒΡΠΌΠΈ для нашСго Π±Π»ΠΎΠ³Π°. SSG для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ список URL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ. НСкоторыС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΡ€Π°ΡƒΠ»Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запустит наш сайт ΠΈ сам собСрёт всС доступныС URL, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ .html. SSG Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с CDN, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ сильно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π’Π°ΠΊΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Ρ€Π°Π·ΠΌΡ‹Π²Π°ΡŽΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ front-end ΠΈ back-end, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π³Π΄Π΅ наши прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ.
Π’ Ρ†Π΅Π»ΠΎΠΌ, SSR ΠΈ SSG β€” это Π½Π°Π±ΠΎΡ€ инструмСнтов ΠΈ API Π½Π°Π΄ нашими "клиСнтскими" JS Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ.
ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ math.random ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ β€” ΠΌΡ‹ любим Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ тСхнологиях.

β€”β€”β€”
Для ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ: jamstack.org
Для ΠΏΠΎΠΊΠΎΠ²Ρ‹Ρ€ΡΡ‚ΡŒΡΡ:
React: Next, Gatsby, Blitz, React Server Components
Vue: Nuxt, Gridsome
Svelte: SvelteKit
Angular: Scully
Π•Ρ‰Ρ‘: Astro β€” ΠΎΠ½ для всСх.

#thematicweek #frameworksweek
Post #615 706
Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈΠ»ΠΈ SPA, SSR ΠΈ SSG
Post #614
πŸ‡ΊπŸ‡¦ Math.random(): community of engineers pinned «ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π₯ΠΎΡ‡Ρƒ ΠΏΡ€ΠΈΠ³Π»Π°ΡΠΈΡ‚ΡŒ вас Π½Π° наш с АндрССм ΠšΡƒΡ‡Π΅Ρ€Π΅Π½ΠΊΠΎ math.random стрим! ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, nocode ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ πŸ™‚ Π‘Ρ‚Ρ€ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ Π·Π°Π²Ρ‚Ρ€Π°, Π² 18:00 ΠΏΠΎ ΠšΠΈΠ΅Π²Ρƒ, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅! Бсылка Π±Π΅Π· рСгистрации ΠΈ смс: https://www.youtube.com/watch?v=v7qVVtjzR1Y πŸ™ŒΒ»
Post #613 792
#humor #haha
Post #612 780
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ β€” это Π½Π΅ совсСм Developer eXperience ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… выпусках. Но ΠΎΠ½ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° DX ΠΈ входят Π² Π½Π°Π±ΠΎΡ€ инструмСнтов, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… для соврСмСнного Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ сСгодня обсудим Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚:

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ (πŸ‘¨β€βœˆοΈ). Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ β€” это ΡƒΠΆΠ΅ Π½Π΅ просто JS Ρ„Π°ΠΉΠ» с Ρ€Π°Π½Ρ‚Π°ΠΉΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ, это Π΅Ρ‰Ρ‘ ΠΈ Π½Π°Π±ΠΎΡ€ инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ВсСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌ с DSL Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Π°ΠΌΠΈ понадобится ΠΈΡ… Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ, Π° для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… компиляция β€” это Π²ΠΎΠΎΠ±Ρ‰Π΅ основной шаг создания Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ°.

Angular Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ… Ahead of Time компилятор (Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ "Π·Π°Π±Π»Π°Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ" Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ: ΠΏΡ€ΠΈ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°). Π‘ Angular ΠΈ Π½Π°Ρ‡Π½Ρ‘ΠΌ:

Angular ΠΏΡ€ΠΈ компиляции распарсит Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚ ΠΈ создаст для Π½Π΅Π³ΠΎ JS ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° обновлСниями. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΏΡ€ΠΎ Change detection ΠΈ reactivity? Π’Π°ΠΊ Π²ΠΎΡ‚ AoT компилятор Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ для dirty checking'Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ свойства состояния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Π΅ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ свойства.
Angular Ivy (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π°ΡƒΡ‚ΠΏΡƒΡ‚Π° компиляции Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Π°): https://blog.ninja-squad.com/2019/05/07/what-is-angular-ivy/

Vue собСрёт свои .vue Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Ρ‚ Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹ Π² vDOM. А Π΅Ρ‰Ρ‘ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ vDOM с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… инструкций, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ вСсь vDOM, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Π²Π΅Ρ‚Π²ΠΈ Π΄Π΅Ρ€Π΅Π²Π°.
Vue template Repl: https://v3.vuejs.org/guide/render-function.html#template-compilation

Svelte Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ смоТСт Π±Π΅Π· компилятора: всС () => { a = b + c; } ΠΏΡ€ΠΈ сборкС прСвратятся Π²ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ () => { invalidate('a', b + c) } Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ состояния. Svelte Π΄Π°ΠΆΠ΅ добавляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис $: a = b + c; для computed Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π’Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, β€” это Π½Π΅ Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.
Svelte Repl: https://svelte.dev/repl/hello-world?version=3.42.1

SolidJS распарсит JSX ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π΅Π³ΠΎ Π² инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ DOM. Solid ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ состояниС ΠΊ DOM, Ρ‚.ΠΊ. ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ reactive atoms ΠΈ, ΠΊΠ°ΠΊ ΠΈ Svelte, парсит ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ наш JS ΠΊΠΎΠ΄.
Solid Repl: https://playground.solidjs.com/

React стоит особняком: Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ компилятор. JSX ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° createElement ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° чистом JS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

.

Для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² компиляторах, Π½ΠΎ это ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΎΠ±Ρ‰Π΅Π³ΠΎ понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Если Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² особСнностях рСактивности ΠΈ Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚ΠΎΠ² β€” Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ компилятор ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π½Ρ‚Π°ΠΉΠΌ. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» ссылки Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ output'Π° компиляции, ΠΎΡ‡Π΅Π½ΡŒ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΡΡ.

Π’ΠΎΡ‚, это Ρ‡Ρ‚ΠΎ касаСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части компиляторов. Для краткости я опустил сборку JS ΠΈ CSS β€” Ρ‚Π°ΠΌ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Ρƒ всСх Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ².

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Π·Π° компиляторами блиТайшСС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅?
ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ math.random ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ β€” ΠΌΡ‹ любим Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ тСхнологиях.
Π—Π°Π²Ρ‚Ρ€Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± SSG ΠΈ SSR. Π”ΠΎ Π·Π°Π²Ρ‚Ρ€Π°!

#thematicweek #frameworksweek
Post #611 702
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹
Post #610 718
ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚!

Π₯ΠΎΡ‡Ρƒ ΠΏΡ€ΠΈΠ³Π»Π°ΡΠΈΡ‚ΡŒ вас Π½Π° наш с АндрССм ΠšΡƒΡ‡Π΅Ρ€Π΅Π½ΠΊΠΎ math.random стрим!
ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, nocode ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ πŸ™‚
Π‘Ρ‚Ρ€ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ Π·Π°Π²Ρ‚Ρ€Π°, Π² 18:00 ΠΏΠΎ ΠšΠΈΠ΅Π²Ρƒ, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅!

Бсылка Π±Π΅Π· рСгистрации ΠΈ смс: https://www.youtube.com/watch?v=v7qVVtjzR1Y

πŸ™Œ
YouTube Thematic week: frameworks, reactive, nocode In the stream our weeks headliner Kostia Palchik will give answers for all interested questions.
Post #609 815
ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ„Ρ€ΡƒΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ разнообразия Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ сСгодня ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ обсудим ΠΊΠ°ΠΊ ΠΌΡ‹ описываСм UI Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.
Π•ΡΡ‚ΡŒ Π΄Π²Π° Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹ ΠΈ JSX. Рассмотрим ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

Π’Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹
Π’Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹ β€” это DSL языки, созданныС с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ спСцифики ΠΈ Ρ„ΠΈΡ‡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, с ΠΏΡ€ΠΈΡ†Π΅Π»ΠΎΠΌ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈ обновлСния DOM. JS Π² Ρ‚Π°ΠΊΠΈΡ… языках появляСтся вкраплСниями, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ островками. Бинтаксис Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° чистый HTML (Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ), добавляя ΠΊ Π½Π΅ΠΌΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ "Π³Π»Π°Π³ΠΎΠ»Ρ‹" для вставки Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, {{ count }} для тСкстовых Π΄Π°Π½Π½Ρ‹Ρ…), для отобраТСния списков (`v-for / ng-for / # each`), для создания условий (`ng-if / v-if / # if`) ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅. Π’Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ строкой, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСкциСй (ΠΊΠ°ΠΊ Π²ΠΎ .vue Ρ„Π°ΠΉΠ»Π°Ρ…) ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ (`.component.html` ΠΊΠ°ΠΊ Π² Angular).

<template>
<p>Hello, {{ name }}</p>
</template>

<script>
let name = 'world';
</script>

Π’Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ парсСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π² JS структуру, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ смоТСт ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΈ соотвСтствСнно ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ DOM.
ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ состояния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ DOM элСмСнты, Ρ‚.ΠΊ. Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚ Π³Π΄Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ измСнСния.

Π’Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Angular, Svelte, Vue


JSX
JSX ΠΆΠ΅ β€” это Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ JavaScript с вкраплСниями HTML-like языка. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π² описании Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚ΠΎΠ² Π·Π° счёт JS манипуляций, Π½ΠΎ такая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ свои минусы: Π΅Ρ‘ слоТнСС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. JSX Ρ…ΠΎΡ€ΠΎΡˆΠΎ стандартизирован.

function () {
let name = 'world';
return <p>Hello, { name }</p>
}

Для JSX Π½ΡƒΠΆΠ΅Π½ транспайлСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ return <p>42</p> Π²ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ return createElement('p', { children: 42 }). Ѐункция createElement(…) создаст Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ virtualDOM элСмСнт β€” JS ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ DOM элСмСнт, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ { type: 'p', children: 42 }. ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ состояния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠ½Π° создаёт Π½ΠΎΠ²Ρ‹ΠΉ vDOM, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ сравнит Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ vDOM с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈ сдСлаСт обновлСния Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ DOM'Π° Ρ‚Π°ΠΌ, Π³Π΄Π΅ состояниС измСнилось.

JSX ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² React, Solid, Vue

.

Π’ΠΎΡ‚ я описал ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ эти Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° довольно Ρ‚Π°ΠΊΠΈ схоТи ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Ρ‡ΡƒΡ‚ΡŒ Ρ€Π°Π·ΠΌΡ‹Ρ‚Π°. Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ я упомянул Vue Π΄Π²Π°ΠΆΠ΄Ρ‹, ΠΈ Π² Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Π°Ρ… ΠΈ Π² JSX? Vue Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° синтаксиса: ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Vue ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ vDOM, Π½ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² основном с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡ… Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. А компилятор Solid распарсит ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ JSX ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΊ Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹. А Astro ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JSX-like синтаксис, Π½ΠΎ это Π½Π° самом Π΄Π΅Π»Π΅ Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹.

Π”Π° ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ, Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ [].map Π΅ΡΡ‚ΡŒ свой *-for, Π° <p>{{ name }}</p> Π½Π΅ сильно Ρ‚ΠΎ отличаСтся ΠΎΡ‚ return <p>{ name }</p>.

ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ math.random ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ β€” ΠΌΡ‹ любим Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ тСхнологиях.
НадСюсь, сСгодня я вас большС успокоил Ρ‡Π΅ΠΌ Π·Π°ΠΏΡƒΡ‚Π°Π» πŸ™‚
Π”ΠΎ Π·Π°Π²Ρ‚Ρ€Π°, Π·Π°Π²Ρ‚Ρ€Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ компиляторах!

#thematicweek #frameworksweek
Post #608 697
Templates & JSX
Post #607 798
Change detection & Reactivity

Начнём с Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΡƒΠ·Π½Π°Ρ‘Ρ‚ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² нашСй ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ измСнились ΠΈ Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ.
Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ славный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Counter, Π²Ρ‹ всС Π΅Π³ΠΎ ΡƒΠΆΠ΅ ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ: [-] count [+]. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ [+] ΠΈ ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π½Π΅ΠΊΠΈΠΉ count Π½Π° +1. Π­Ρ‚ΠΎ просто. А Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ с Π½ΠΎΠ²Ρ‹ΠΌ count. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΊΠ°ΠΊ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…:


Dirty check
Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ простой ΠΌΠ΅Ρ‚ΠΎΠ΄: ΠΌΡ‹ сохраняСм ΡΠ½ΡΠΏΡˆΠΎΡ‚ состояния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΈ ΠΏΡ€ΠΈ любом взаимодСйствии с UI (ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅) Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ всС хэнлСры, Π° Π·Π°Ρ‚Π΅ΠΌ проходимся ΠΏΠΎ всСм ΠΊΠ»ΡŽΡ‡Π°ΠΌ состояния ΠΈ провСряСм Π½Π΅ измСнился Π»ΠΈ стэйт ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со ΡΠ½ΡΠΏΡˆΠΎΡ‚ΠΎΠΌ. Если измСнился β€” пСрСрисовываСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ. Для нас это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΠΊΠ°ΠΊ простой this.count += 1.
Π’Π°ΠΊΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Angular ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (angular Π΅Ρ‰Ρ‘ Π±ΡƒΠ΄Π΅Ρ‚ Π² reactive streams Π½ΠΈΠΆΠ΅)

Reactive atoms / Invalidation API
НСкоторыС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ API для Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ измСнСния состояния. Когда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ этот API (измСняСм стэйт) β€” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ пСрСрисовку ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’.ΠΊ. Javascript β€” довольно Π³ΠΈΠ±ΠΊΠΈΠΉ язык, Ρ‚Π°ΠΊΠΎΠΉ API ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌ Π²ΠΈΠ΄ΠΎΠΌ: count(count() + 1) Π² Knockout, setCount(getCount() + 1) Π² React ΠΈ SolidJS.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Svelte ΠΈ Vue, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ этот API прячут ΠΎΡ‚ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€ΠΎΠ²:
Svelte ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ count += 1 Π² Π²Ρ‹Π·ΠΎΠ² API (ΠΌΡ‹ ΠΎ компиляторах Π΅Ρ‰Ρ‘ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ)
Π° Vue с ΠΈΡ… this.count += 1 Π² вСрсии 2.x использовал Object.defineProperty c get/set ΠΏΠ°Ρ€ΠΎΠΉ, Π° с 3-ΠΉ вСрсии ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° Proxy для Π²Ρ‹Π·ΠΎΠ²Π° своСго API "ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ".

N.B: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ API Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ считываниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π°Ρ‚ΠΎΠΌΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ DOM Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π΄Π΅ этот стэйт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Reactive streams
ΠœΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ дискрСтными срСзами состояний, Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ смоТСм ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ часто ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ‚ [-] ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ особый ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для Тёстких минусаторов. Для этого Ρ…ΠΎΡ€ΠΎΡˆΠΎ подходят Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ. Они ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ API Π½Π°ΠΌ для добавлСния Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ для "слСТСния" Π·Π° измСнСниями.

clicks$.next(1);
count$ = clicks$.scan((acc, curr) => acc + curr, 0);

Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Аngular (Π² OnPush стратСгии) ΠΈ circlejs (Π½Ρƒ, ΠΈ ΠΌΠΎΠΉ ΡΠΊΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ recksjs, Ρ‚Π°ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²Π΅Π·Π΄Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ).
Π Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Π°Ρ‚ΠΎΠΌΠ°ΠΌ / invalidation API, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄ Π±Π°Π·Π°Ρ… с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ.

.

Как Π²ΠΈΠ΄Π½ΠΎ, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅, Π½ΠΎ Ρ†Π΅Π»ΡŒ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅: ΠΏΠ½ΡƒΡ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ пСрСрисовал ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.
Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ… ΠΌΡ‹ Π·Π°Π΄Π°Ρ‘ΠΌ этот самый UI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ.
ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ свои ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ math.random ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ β€” ΠΌΡ‹ любим Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ тСхнологиях.
Π”ΠΎ Π·Π°Π²Ρ‚Ρ€Π°!

___

Если Ρƒ вас ΠΌΠ°Π»ΠΎ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅:
A Hands-on Introduction to Fine-Grained Reactivity β€” https://dev.to/ryansolid/a-hands-on-introduction-to-fine-grained-reactivity-3ndf
Reactivity in Depth β€” https://v3.vuejs.org/guide/reactivity.htm
Angular Change Detection - How Does It Really Work? β€” https://blog.angular-university.io/how-does-angular-2-change-detection-really-work/

#thematicweek #frameworksweek
Post #606 787
ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚ ΠšΠΎΡΡ‚Ρ! πŸ™‚

АндрСй ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΌΠ½Π΅ "форс ΠΏΡƒΡˆ" ΠΏΡ€Π°Π²Π° Π½Π° ΠΊΠ°Π½Π°Π» Π½Π° эту нСдСлю, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я рассказал ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ‚Π΅ΠΌΠ΅!
Когда-Ρ‚ΠΎ я писал Π½Π° Angular(js) ΠΈ трСвоТился Ρ‡Ρ‚ΠΎ Π½Π΅ ΡƒΡ‡Ρƒ React. ΠŸΠΎΡ‚ΠΎΠΌ я ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» React ΠΈ Π½Π°Ρ‡Π°Π» мучится Ρ‡Ρ‚ΠΎ Π½Π΅ знаю Vue. ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Vue β€” Π° Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Ember, CycleJS, Svelte, Solid, ΠΈ Ρ‚.Π΄.
ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π²Ρ‹Π±Ρ€Π°Π» Ρ‚Π΅ΠΌΡƒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Волько я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ ΠΏΡ€ΠΎ ΠΈΡ… отличия, Π° Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ схоТи.
НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΡŒΠ΅ΠΌΡƒ-Ρ‚ΠΎ fear of missing out.

ΠœΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ подходят ΠΊ change detection, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ UI (Ρ‚Π΅ΠΌΠΏΠ»Π΅ΠΉΡ‚Ρ‹/JSX), ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ SSR/SSG.
ΠŸΠΎΡΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅, Π½ΠΎ с ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ссылками. Рассчитаны Π½Π° junior / middle JS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².
ΠŸΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях своё ΠΌΠ½Π΅Π½ΠΈΠ΅, нравится/Π½Π΅Ρ‚, Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ вопросы.

И ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ пост прямо сСйчас:
Post #605 952
ЗдравствуйтС, Π΄Ρ€ΡƒΠ·ΡŒΡ!

БСгодня ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ тСматичСскиС Π½Π΅Π΄Π΅Π»ΠΈ Π½Π° Math.random().

Π₯Π΅Π΄Π»Π°ΠΉΠ½Π΅Ρ€ΠΎΠΌ ΠΈ ΠΏΠΎΠ²Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΊΠ°Π½Π°Π»Π° Π½Π° этой Π½Π΅Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠšΠΎΡΡ‚Ρ ΠŸΠ°Π»ΡŒΡ‡ΠΈΠΊ - Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ с большим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования, Π°Π΄Π΅ΠΏΡ‚ NoCode Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π°Π²Ρ‚ΠΎΡ€ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ReсksJS, Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ThinkRx.

Π—Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ вопросы ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π° Π² ΠΊΠΎΠ½Ρ†Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΠΆΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ стрим с ΠšΠΎΡΡ‚Π΅ΠΉ с ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ Π½Π° вопросы!

#thematicweek #nocode #reactive #recksjs
Post #604 893
- Π’Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΡ‘Ρ‚Π΅ Ρ€Ρ‹Π±ΠΎΠ²?
- НСт просто ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽ.
- ΠšΡ€Π°ΡΠΈΠ²ΠΎΠ΅...

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Ρ‹Π±ΠΎΠ² 🐟, Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ - fishdraw!

fishdraw - Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ svg ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ с нарисоваными Ρ€Ρ‹Π±Π°ΠΌΠΈ. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ написан Π½Π° javascript Π±Π΅Π· зависимостСй. Π”Π»ΠΈΠ½Π½Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΡΠ΅Ρ‚ΡŒ Ρ€Ρ‹Π±Π°ΠΊΠ°, Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нарисуСт ΠΈ Π½Π°Π·ΠΎΠ²Π΅Ρ‚ тысячи ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ Ρ€Ρ‹Π±ΠΎΠ².

πŸ”— https://github.com/LingDong-/fishdraw
πŸ”— https://fishdraw.glitch.me/

#javascript #svg #meme #repo #github
Post #603 916
Если Π·Π°Π±Ρ‹Π»ΠΈ магию πŸͺ„ ΠΈ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° github - Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "?"

#github #tips #shortcut
Post #602 3.25K
πŸͺ„ΠœΠ°Π³ΠΈΡ Π½Π° github! ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "." Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² любом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° github!

πŸ”— https://twitter.com/github/status/1425505817827151872

#github #shortcut #news #tip
Post #601 1.02K
πŸ”₯Π’Ρ‹ΡˆΠ»Π° новая вСрсия Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Vue 3.2.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ информация ΠΎ нововвСдСния ΠΏΠΎ ссылкС:

πŸ”— https://dev.to/web2033/vue-3-2-released-1n8b

#vue #release
Post #600 841
Agora Flat - дСсктопный ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для ΠΎΠ½Π»Π°ΠΉΠ½ класса. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сдСлано Π½Π° React ΠΈ Electron.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°ΡƒΠ΄ΠΈΠΎ/Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСрвис agora.io. Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ самый сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅Π΄Π°Π²Π½ΠΎ ΡˆΡƒΠΌΠ΅Π²ΡˆΠ΅ΠΉ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти clubhouse.

πŸ”— https://github.com/netless-io/flat

#github #repo #webrtc #typescript #react #agora
Older posts β†’
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook β†’Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 β†’