рджреВрд╕рд░реЗ рджрд┐рди, SvelteJS рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдШрдЯрдирд╛ рд╣реБрдИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдкреВрд░реЗ рдЖрдзреБрдирд┐рдХ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП - Svelte 3 рдХреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рд░рд┐рд▓реАрдЬрд╝! рдЗрд╕рд▓рд┐рдП, рдХрдЯреМрддреА рдХреЗ рддрд╣рдд Svelte рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдФрд░ YGLF 2019 рдореЗрдВ рдЙрдирдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡реАрдбрд┐рдпреЛ рд╣реИред

рдЕрдВрдд рдореЗрдВ рд╡рд╣ рдпрд╣рд╛рдВ рд╣реИ
рдХрдИ рдорд╣реАрдиреЛрдВ рдХреЗ рдмрд╛рдж рдЬреЛ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреА рддрд░рд╣ рдЙрдбрд╝ рдЧрдпрд╛ рд╣реИ, рд╣рдо рд╕рд╛рддрд╡реЗрдВ рдЖрд╕рдорд╛рди рдкрд░ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо Svelte 3 рдХреА рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝реА рд░рд┐рд▓реАрдЬ рд╣реИ Svelte рд╕рдореБрджрд╛рдп рдХреЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реИрдХрдбрд╝реЛрдВ рдШрдВрдЯреЛрдВ рдХреЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмреАрдЯрд╛ рдкрд░реАрдХреНрд╖рдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдЕрдореВрд▓реНрдп рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдиреЗ рдЗрд╕ рдпрд╛рддреНрд░рд╛ рдХреЗ рд╣рд░ рдЪрд░рдг рдореЗрдВ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреАред
рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред
Svelte рдХреНрдпрд╛ рд╣реИ?
Svelte, React рдпрд╛ Vue рдХреЗ рд╕рдорд╛рди рдПрдХ рдШрдЯрдХ рдврд╛рдВрдЪрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдХреЗ рд╕рд╛рдеред рдкрд╛рд░рдВрдкрд░рд┐рдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрдкрдХреЛ
рдШреЛрд╖рдгрд╛рддреНрдордХ рд░рд╛рдЬреНрдп-рд╕рдВрдЪрд╛рд▓рд┐рдд рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рд╕рдЬрд╛ рдХреЗ рдирд╣реАрдВ: рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЗрди рдШреЛрд╖рдгрд╛рдкрддреНрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ
рд╡рд░реНрдЪреБрдЕрд▓реА рдбреЛрдо рдбрд┐рдлрд░рд┐рдВрдЧ рдЬреИрд╕реА рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдлреНрд░реЗрдо рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдмрдЬрдЯ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд▓реЗрдХреНрдЯрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдХрдЪрд░рд╛ред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, Svelte
рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди
рдЕрдирд┐рд╡рд╛рд░реНрдп рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ DOM рдХреЛ рд╕рд░реНрдЬрд┐рдХрд▓ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЖрдк рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
Svelte рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг
рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛
рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдерд╛ рдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЫреЛрдЯреЗ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдерд╛ рдЬреЛ рдХреНрд░рдо рдореЗрдВ рдХрдИ рдЪреАрдЬреЛрдВ рдХреЛ рд▓рд╛рдпрд╛ред
Svelte 3 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрд╢реЛрдзрди рд╣реИред рдкрд┐рдЫрд▓реЗ рдкрд╛рдВрдЪ рдпрд╛ рдЫрд╣ рдорд╣реАрдиреЛрдВ рдореЗрдВ, рд╣рдо
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рдЖрдк рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рдШрдЯрдХреЛрдВ рдХреЛ рдХрд╣реАрдВ рдФрд░ рд╕реЗ
рдХрд╛рдлреА рдХрдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдмреНрд░рд╛рдВрдб рдирдП
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ - рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕реБрдЦрдж рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрдВрдЧреЗред
рдЗрд╕ рдЕрд╡рд╕рд░ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдЖрдзреБрдирд┐рдХ рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ред
рдЖрдк рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рд▓рд╡ рдлреНрд░рдВрдЯреЗрдВрдб рдХреЛрдб рдХреИрдВрдк 2019рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ
Svelte рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдерд╛ рдХрд┐
рдЗрд╕.рд╕реЗрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рд░рд╛рдЬреНрдп рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рдмрджрд▓ рдЧрдпрд╛ рдерд╛:
const { count } = this.get();
this.set({
count: count + 1
});
. ,
this.set this.setState, ( ) React:
const { count } = this.state;
this.setState({
count: count + 1
});
( тАФ React ), .
React, -. , , , . , . ,
embedded-, , .
, API тАж , API тАФ API.
.
count , , :
count += 1;
, , :
count += 1; $$invalidate('count', count);
, . .
. Svelte
Achim Vedam, -,
svelte.technology svelte.dev.
┬л UI ┬╗ ┬л web-┬╗. Svelte тАФ , , , , , , , . .
2
Svelte 2, , .
svelte-upgrade, , .
, .
: , , Svelte 3, , .
, . , , .
Sapper, Next.js, Svelte 3.
Svelte Native, Android iOS Svelte, .
, , , devtools . ., , .
TypeScript.
, , Svelte 3 тАФ -. ,
, . ,
Discord ,
Telegram GitHub тАФ , .
P/S тАФ
Svelte 3.Svelte 3.Svelte 3.AlexxNB! - !