This media is not supported in your browser
VIEW IN TELEGRAM
πͺΠΠ°Π³ΠΈΡ Π½Π° github! ΠΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ "." Π½Π°Ρ
ΠΎΠ΄ΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° github!
π https://twitter.com/github/status/1425505817827151872
#github #shortcut #news #tip
π https://twitter.com/github/status/1425505817827151872
#github #shortcut #news #tip
- ΠΡ ΠΏΡΠΎΠ΄ΠΎΡΡΠ΅ ΡΡΠ±ΠΎΠ²?
- ΠΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ.
- ΠΡΠ°ΡΠΈΠ²ΠΎΠ΅...
Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠ±ΠΎΠ² π, Π΄Π΅ΡΠΆΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ - fishdraw!
fishdraw - Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ svg ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½ΡΠΌΠΈ ΡΡΠ±Π°ΠΌΠΈ. ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° javascript Π±Π΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠ»ΠΈΠ½Π½ΡΠΉ, ΠΊΠ°ΠΊ ΡΠ΅ΡΡ ΡΡΠ±Π°ΠΊΠ°, ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠΈΡΡΠ΅Ρ ΠΈ Π½Π°Π·ΠΎΠ²Π΅Ρ ΡΡΡΡΡΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ ΡΡΠ±ΠΎΠ².
π https://github.com/LingDong-/fishdraw
π https://fishdraw.glitch.me/
#javascript #svg #meme #repo #github
- ΠΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ.
- ΠΡΠ°ΡΠΈΠ²ΠΎΠ΅...
Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠ±ΠΎΠ² π, Π΄Π΅ΡΠΆΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ - 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
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π° 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 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΌΠ½Π΅Π½ΠΈΠ΅, Π½ΡΠ°Π²ΠΈΡΡΡ/Π½Π΅Ρ, Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
Π ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ:
ΠΠ½Π΄ΡΠ΅ΠΉ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΌΠ½Π΅ "ΡΠΎΡΡ ΠΏΡΡ" ΠΏΡΠ°Π²Π° Π½Π° ΠΊΠ°Π½Π°Π» Π½Π° ΡΡΡ Π½Π΅Π΄Π΅Π»Ρ, ΡΡΠΎΠ±Ρ Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΌΠ΅!
ΠΠΎΠ³Π΄Π°-ΡΠΎ Ρ ΠΏΠΈΡΠ°Π» Π½Π° 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, Π²Ρ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠΆΠ΅ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ:
Dirty check
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄: ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ½ΡΠΏΡΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΈ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ UI (ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅) Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π²ΡΠ΅ Ρ ΡΠ½Π»Π΅ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ°ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Π»ΠΈ ΡΡΡΠΉΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎ ΡΠ½ΡΠΏΡΠΎΡΠΎΠΌ. ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ β ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ»Ρ Π½Π°Ρ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎΠΉ
Π’Π°ΠΊΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Angular ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (angular Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π² reactive streams Π½ΠΈΠΆΠ΅)
Reactive atoms / Invalidation API
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ API Π΄Π»Ρ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎΡ API (ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΡΠΉΡ) β ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. Π’.ΠΊ. Javascript β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠ·ΡΠΊ, ΡΠ°ΠΊΠΎΠΉ API ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠΌ Π²ΠΈΠ΄ΠΎΠΌ:
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ Svelte ΠΈ Vue, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΡ API ΠΏΡΡΡΡΡ ΠΎΡ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΠΎΠ²:
Svelte ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ
Π° Vue Ρ ΠΈΡ
N.B: Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ API ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π°ΡΠΎΠΌΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠΎΡΠ΅ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ DOM ΡΠΎΠ»ΡΠΊΠΎ Π³Π΄Π΅ ΡΡΠΎΡ ΡΡΡΠΉΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
Reactive streams
ΠΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ ΠΎΡΠΈΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π·Π°ΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, Π° ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ»ΠΈΠΊΠ°Π΅Ρ
Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π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
ΠΠ°ΡΠ½ΡΠΌ Ρ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠ·Π½Π°ΡΡ ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ ΠΈ Π΅Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ»Π°Π²Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ 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 (Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ), Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΊ Π½Π΅ΠΌΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ "Π³Π»Π°Π³ΠΎΠ»Ρ" Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Π’Π΅ΠΌΠΏΠ»Π΅ΠΉΡΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΏΠ°ΡΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΈΡ Π² JS ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ DOM.
ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΎΡΠ΅ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ DOM ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Ρ.ΠΊ. ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π΅Ρ Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π’Π΅ΠΌΠΏΠ»Π΅ΠΉΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Angular, Svelte, Vue
JSX
JSX ΠΆΠ΅ β ΡΡΠΎ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ JavaScript Ρ Π²ΠΊΡΠ°ΠΏΠ»Π΅Π½ΠΈΡΠΌΠΈ HTML-like ΡΠ·ΡΠΊΠ°. ΠΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΠΎΠ² Π·Π° ΡΡΡΡ JS ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ, Π½ΠΎ ΡΠ°ΠΊΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΌΠΈΠ½ΡΡΡ: Π΅Ρ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. JSX Ρ ΠΎΡΠΎΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½.
ΠΠ»Ρ JSX Π½ΡΠΆΠ΅Π½ ΡΡΠ°Π½ΡΠΏΠ°ΠΉΠ»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ return
JSX ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² React, Solid, Vue
.
ΠΠΎΡ Ρ ΠΎΠΏΠΈΡΠ°Π» ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π·Π½ΡΠ΅, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΈ Π΄Π²Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΠΊΠΈ ΡΡ ΠΎΠΆΠΈ ΠΈ Π³ΡΠ°Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΡΡΡ ΡΠ°Π·ΠΌΡΡΠ°. ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΎ Ρ ΡΠΏΠΎΠΌΡΠ½ΡΠ» Vue Π΄Π²Π°ΠΆΠ΄Ρ, ΠΈ Π² ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΠ°Ρ ΠΈ Π² JSX? Vue ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°: ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ Vue ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ vDOM, Π½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡ Ρ ΠΎΡΠΎΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. Π ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Solid ΡΠ°ΡΠΏΠ°ΡΡΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ JSX ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΡ. Π Astro ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ JSX-like ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π½ΠΎ ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΡ.
ΠΠ° ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ, Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ
ΠΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ math.random ΠΊΠΎΠΌΠΌΡΡΠ½ΠΈΡΠΈ β ΠΌΡ Π»ΡΠ±ΠΈΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ .
ΠΠ°Π΄Π΅ΡΡΡ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ Π²Π°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠΏΠΎΠΊΠΎΠΈΠ» ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠ°Π» π
ΠΠΎ Π·Π°Π²ΡΡΠ°, Π·Π°Π²ΡΡΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ !
#thematicweek #frameworksweek
ΠΡΡΡ Π΄Π²Π° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΡ ΠΈ 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
π
Π₯ΠΎΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ Π²Π°Ρ Π½Π° Π½Π°Ρ Ρ ΠΠ½Π΄ΡΠ΅Π΅ΠΌ ΠΡΡΠ΅ΡΠ΅Π½ΠΊΠΎ 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.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ β ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ 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 Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π±Π΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°: Π²ΡΠ΅
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 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π°
.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°Ρ , Π½ΠΎ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. ΠΡΠ»ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΡΠ΅ΠΌΠΏΠ»Π΅ΠΉΡΠΎΠ² β Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ°Π½ΡΠ°ΠΉΠΌ. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ output'Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΎΡΠ΅Π½Ρ ΡΠΎΠ²Π΅ΡΡΡ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡΡΡ.
ΠΠΎΡ, ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ². ΠΠ»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ Ρ ΠΎΠΏΡΡΡΠΈΠ» ΡΠ±ΠΎΡΠΊΡ JS ΠΈ CSS β ΡΠ°ΠΌ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Ρ Π²ΡΠ΅Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ².
ΠΠΎΡ ΠΎΠΆΠ΅, Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π±ΡΠ΄ΡΡΠ΅Π΅, ΡΡΠΎ Π΄ΡΠΌΠ°Π΅ΡΠ΅?
ΠΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ math.random ΠΊΠΎΠΌΠΌΡΡΠ½ΠΈΡΠΈ β ΠΌΡ Π»ΡΠ±ΠΈΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ .
ΠΠ°Π²ΡΡΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± SSG ΠΈ SSR. ΠΠΎ Π·Π°Π²ΡΡΠ°!
#thematicweek #frameworksweek
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ (π¨ββοΈ). Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ β ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎ 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
πΊπ¦ Math.random(): javascript community pinned Β«ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π₯ΠΎΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ Π²Π°Ρ Π½Π° Π½Π°Ρ Ρ ΠΠ½Π΄ΡΠ΅Π΅ΠΌ ΠΡΡΠ΅ΡΠ΅Π½ΠΊΠΎ math.random ΡΡΡΠΈΠΌ! ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
, nocode ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ π Π‘ΡΡΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΆΠ΅ Π·Π°Π²ΡΡΠ°, Π² 18:00 ΠΏΠΎ ΠΠΈΠ΅Π²Ρ, ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΠ΅! Π‘ΡΡΠ»ΠΊΠ° Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΌΡ: https://www.youtube.com/watch?v=v7qVVtjzR1Y πΒ»
ΠΡΠ°ΠΊ, ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π½Π°ΡΠ΅ ΡΡΠΏΠ΅Ρ-ΠΏΡΠΏΠ΅Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈ Ρ
ΠΎΡΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠΈΡΡ. Π ΠΊΠ°ΠΊ?
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Single Page App (SPA), ΠΊΠΎΡΠΎΡΡΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½Π°Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½
Π’.Π΅. ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΡΠΎΠ΅Ρ Π°Π΄ΡΠ΅Ρ
ΠΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² (Π½Ρ, ΠΈΠ»ΠΈ "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ²")!
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΅ΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°: SSR ΠΈ SSG. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ:
SSR (server side rendering) β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΌΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΎΡΠ΄Π°Π΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ
SSG (server side generation) β ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° SSR, ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ
Π’Π°ΠΊΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΡΠ°Π·ΠΌΡΠ²Π°ΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ 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
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ 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
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, Π΄ΡΡΠ·ΡΡ! Π§Π΅ΡΠ΅Π· Π½Π΅Π΄Π΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ OdessaJS!
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΈΠ³ΡΠ°ΡΡ 50% ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ»Π΅Ρ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ-Π±Ρ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ. Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Π½Π° ΡΠ°ΠΉΡΠ΅ - https://odessajs.org/
ΠΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ!
#odessajs #conference #discount
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΈΠ³ΡΠ°ΡΡ 50% ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ»Π΅Ρ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ-Π±Ρ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ. Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Π½Π° ΡΠ°ΠΉΡΠ΅ - https://odessajs.org/
ΠΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ!
#odessajs #conference #discount
πΊπ¦ Math.random(): javascript community
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, Π΄ΡΡΠ·ΡΡ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π° Math.random(). Π₯Π΅Π΄Π»Π°ΠΉΠ½Π΅ΡΠΎΠΌ ΠΈ ΠΏΠΎΠ²Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ ΠΊΠ°Π½Π°Π»Π° Π½Π° ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ Π±ΡΠ΄Π΅Ρ ΠΠΎΡΡΡ ΠΠ°Π»ΡΡΠΈΠΊ - Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ, Π»ΡΠ±ΠΈΡΠ΅Π»Ρ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π°Π΄Π΅ΠΏΡ NoCode ΡΠ΅ΡΠ΅Π½ΠΈΠΉβ¦
ΠΡΠΈΠ²Π΅Ρ, math.random!
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ #frameworksweek ΠΈ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΠ½Π΄ΡΠ΅Ρ ΠΡΡΠ΅ΡΠ΅Π½ΠΊΠΎ π
ΠΠ°Π΄Π΅ΡΡΡ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ! ΠΠΈΡΠΈΡΠ΅ ΡΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΈ ΠΎ ΡΡΠΌ Π²Ρ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ·Π½Π°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ #thematicweek Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΡΠΊΠ°ΠΆΡ: Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ ΡΡΠΎ Π΅ΡΡ Π½Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ β Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ. Π Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΡΠΏΠ°Π»ΠΎ ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΅ΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΠ»Π΅ΠΉΠ³ΡΠ°ΡΠ½Π΄Ρ (Π΄Π°ΠΆΠ΅ Π΄Π»Ρ SSR), Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ.
ΠΠ° ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π±Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π½ΡΡΠ°Π½ΡΠ°Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΡΡ, Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΡΡΠΊΠΎΠΉ ΠΏΠΎΠ΄ ΠΊΡΠΎΠ²Π°ΡΡΡ, ΡΠ΅ΠΌ ΡΠ°Π·Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ Π²ΡΠ΅Ρ ΡΠΈΠ½ΠΈΡ Π² Π½Π΅Π±Π΅.
ΠΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ !
π
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ #frameworksweek ΠΈ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΠ½Π΄ΡΠ΅Ρ ΠΡΡΠ΅ΡΠ΅Π½ΠΊΠΎ π
ΠΠ°Π΄Π΅ΡΡΡ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ! ΠΠΈΡΠΈΡΠ΅ ΡΡΠΎ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΈ ΠΎ ΡΡΠΌ Π²Ρ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ·Π½Π°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ #thematicweek Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΡΠΊΠ°ΠΆΡ: Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ ΡΡΠΎ Π΅ΡΡ Π½Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ β Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ. Π Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΡΠΏΠ°Π»ΠΎ ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ β Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΅ΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΠ»Π΅ΠΉΠ³ΡΠ°ΡΠ½Π΄Ρ (Π΄Π°ΠΆΠ΅ Π΄Π»Ρ SSR), Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ.
ΠΠ° ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π±Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π½ΡΡΠ°Π½ΡΠ°Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΡΡ, Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΡΡΠΊΠΎΠΉ ΠΏΠΎΠ΄ ΠΊΡΠΎΠ²Π°ΡΡΡ, ΡΠ΅ΠΌ ΡΠ°Π·Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ Π²ΡΠ΅Ρ ΡΠΈΠ½ΠΈΡ Π² Π½Π΅Π±Π΅.
ΠΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ !
π
Π ΡΡΠ±Π±ΠΎΡΡ Π½Π° VinnytsiaJS ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΏΡΠΎ ΠΎΠ±ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ JavaScript.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΏΠΎΡΡ, Π΅ΡΡΡ ΡΠ°Π½Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π½Π° OdessaJS
ΠΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅:
π https://slides.com/andreykucherenko/deck-39f096
#slides #conference #vinnytsajs
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΏΠΎΡΡ, Π΅ΡΡΡ ΡΠ°Π½Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π½Π° OdessaJS
ΠΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅:
π https://slides.com/andreykucherenko/deck-39f096
#slides #conference #vinnytsajs
Slides
JavaScript Everywhere!
A presentation created with Slides.
Forwarded from Node.js Recipes
30 seconds of code β ΡΠ±ΠΎΡΠ½ΠΈΠΊ ΠΊΠΎΠ΄-ΡΠ½ΠΈΠΏΠ΅ΡΠΎΠ²
#list #code_pattern
Π Π½Π°ΡΠ°Π»Π΅ Π»Π΅ΡΠ° Ρ Π΄Π΅Π»ΠΈΠ»ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° 1loc.dev. Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π±ΡΠ»Π° ΡΡΡΠ»ΠΊΠ° Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ β 30 seconds of code. ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΡΡΡΡ Π΄Π»ΠΈΠ½Π½Π΅ΠΉ, Π½ΠΎ ΡΡΡΡ ΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ. ΠΡΡΡ ΡΠ°Π·Π΄Π΅Π» ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΏΠΎ #nodejs ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ°ΠΌ.
#list #code_pattern
Π Π½Π°ΡΠ°Π»Π΅ Π»Π΅ΡΠ° Ρ Π΄Π΅Π»ΠΈΠ»ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° 1loc.dev. Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π±ΡΠ»Π° ΡΡΡΠ»ΠΊΠ° Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ β 30 seconds of code. ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΡΡΡΡ Π΄Π»ΠΈΠ½Π½Π΅ΠΉ, Π½ΠΎ ΡΡΡΡ ΡΠ° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ. ΠΡΡΡ ΡΠ°Π·Π΄Π΅Π» ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΏΠΎ #nodejs ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠ°ΠΌ.
www.30secondsofcode.org
30 seconds of code
Browse 678 coding articles to level up your coding skills on 30 seconds of code.