πŸ‡ΊπŸ‡¦ Math.random(): javascript community
1.16K subscribers
363 photos
8 videos
530 links
Admin: @andrey_pk, @StartupEmulatorAdmin
YouTube ΠΊΠ°Π½Π°Π»: https://bit.ly/3cdY6HV
Download Telegram
Какой язык программирования Π²Ρ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ, Ссли Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ JavaScript?
Anonymous Poll
15%
C/C++
41%
Python
18%
Java
19%
Rust
25%
Go
13%
C#
5%
PHP
6%
Ruby
13%
Swift
3%
Other (Π½Π°ΠΏΠΈΡˆΡƒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ)
По опросу ΠΎ популярности языков программирования срСди участников нашСго сообщСства ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ‚ python!

Π’ связи с Ρ‡Π΅ΠΌ, ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ вас Π½Π° ΠΌΠΈΡ‚Π°ΠΏ друТСствСнного сообщСства!

Generators, serverless - ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π΄Π°Π½Π½ΠΎΠ³ΠΎ мСроприятия ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ происходит Π² ΠΌΠΈΡ€Π΅ javascript, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π° Ρ‡Ρ‚ΠΎ отличаСтся Π² js ΠΈ python.

πŸ”— https://bit.ly/2V5f5ai

#python #meetup #generators #serverless
Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Chrome Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

πŸ”— https://www.debugbear.com/blog/chrome-extension-performance-2021

#chrome #extension #performance #browser
ΠšΡƒΡ€Ρ ΠΏΠΎ Docker ΠΈ Ansbile (15,5 часов Π²ΠΈΠ΄Π΅ΠΎ-Π»Π΅ΠΊΡ†ΠΈΠΉ, задания ΠΈ упраТнСния)

- РассматриваСтся deploy Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ стСка ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° кластСр сСрвСров Swarm с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ansible.

- Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠ°ΠΊ Docker, Docker Compose, Docker Swarm ΠΈ Ansible.

- ΠŸΡ€ΠΈ этом курс содСрТит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·Ρƒ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС Ρ‚Π΅ΠΌΡ‹, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ асинхронныС Π·Π°Π΄Π°Ρ‡ΠΈ Π² Ansible ΠΈΠ»ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ кластСром ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Docker.

- Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ курса Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ знания ΠΈ Π½Π°Π²Ρ‹ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ достаточно для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своё Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ эффСктивно Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ прилоТСния Π½Π° production.

- Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρƒ вас всСгда Π±ΡƒΠ΄Π΅Ρ‚ доступ ΠΊ Ρ‡Π°Ρ‚Ρƒ, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ студСнтам.

Для подписчиков нашСй Π³Ρ€ΡƒΠΏΠΏΡ‹ - ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄ для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈβœ…
#ads #discount
Набор Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ для написания ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… тСстов Π½Π° node.js.

πŸ”— https://github.com/testjavascript/nodejs-integration-tests-best-practices

#nodejs #repo #github #tests
This media is not supported in your browser
VIEW IN TELEGRAM
Mapus - инструмСнт для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ, ΠΏΠΎΡ…ΠΎΠΆ Π½Π° figma, Π½ΠΎ для ΠΊΠ°Ρ€Ρ‚. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ написан Π½Π° javascript, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ leaflet.

Автор ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Alyssa X - дСвятнадцатилСтняя Π΄Π΅Π²ΡƒΡˆΠΊΠ° ΠΈΠ· ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΠΈ, Π² Π΅Π΅ Π³ΠΈΡ‚Ρ…Π°Π±Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ классных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

πŸ”— https://github.com/alyssaxuu/mapus
πŸ”— https://www.producthunt.com/posts/mapus

#maps #github #repo #javascript #producthunt
Онлайн - засСданиС ΠΊΡ€ΡƒΠ³Π»ΠΎΠ³ΠΎ стола Β«Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ FrontendΒ»

πŸ—“12 августа
⏰19:30 (МБК)

Участники:

πŸ“Œ ДСнис Π Π°Π΄ΠΈΠ½
(ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ JS Nation ΠΈ React Summit)

πŸ“ŒΠ’ΠΈΡ‚Π°Π»ΠΈΠΉ Π€Ρ€ΠΈΠ΄ΠΌΠ°Π½
(ΡΠΎΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Smashing Magazine)

πŸ“ŒΠΠ½Π΄Ρ€Π΅ΠΉ ΠšΡƒΡ‡Π΅Ρ€Π΅Π½ΠΊΠΎ
(Chief Software Engineer in EPAM Systems, Π»ΠΈΠ΄Π΅Ρ€ Math.random(): javascript community)

πŸ“ŒΠ˜Ρ€ΠΈΠ½Π° Π›Π΅Π²ΠΈΠ½Π°
(Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Frontspot сообщСства, ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ‚ΠΎΡ€ дискуссии)

Π›ΠΈΠ΄Π΅Ρ€Ρ‹ frontend-индустрии Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ:

- Как выглядит соврСмСнный frontend?
- ВозроТдаСтся Π»ΠΈ статичСский ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚?
- β€œNo Code or coding is future?”
- Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅.

РСгистрация βœ…
Agora Flat - дСсктопный ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для ΠΎΠ½Π»Π°ΠΉΠ½ класса. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сдСлано Π½Π° React ΠΈ Electron.

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

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

#github #repo #webrtc #typescript #react #agora
πŸ”₯Π’Ρ‹ΡˆΠ»Π° новая вСрсия Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Vue 3.2.

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

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

#vue #release
This media is not supported in your browser
VIEW IN TELEGRAM
πŸͺ„ΠœΠ°Π³ΠΈΡ Π½Π° github! ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "." Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² любом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° github!

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

#github #shortcut #news #tip
Если Π·Π°Π±Ρ‹Π»ΠΈ магию πŸͺ„ ΠΈ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° github - Π½Π°ΠΆΠΌΠΈΡ‚Π΅ "?"

#github #tips #shortcut
- Π’Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΡ‘Ρ‚Π΅ Ρ€Ρ‹Π±ΠΎΠ²?
- НСт просто ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽ.
- ΠšΡ€Π°ΡΠΈΠ²ΠΎΠ΅...

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

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

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

#javascript #svg #meme #repo #github
ЗдравствуйтС, Π΄Ρ€ΡƒΠ·ΡŒΡ!

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

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

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

#thematicweek #nocode #reactive #recksjs
ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚ ΠšΠΎΡΡ‚Ρ! πŸ™‚

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

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

И ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ пост прямо сСйчас:
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
ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ„Ρ€ΡƒΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ разнообразия Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ сСгодня ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ обсудим ΠΊΠ°ΠΊ ΠΌΡ‹ описываСм 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
ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚!

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

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

πŸ™Œ