ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ (π¨ββοΈ). Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ β ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎ 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