рд╕рд╛рдЗрдмрд░-рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ

JQuery рдФрд░ рдирд┐рдпрдорд┐рдд HTML рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рдордп рд╕реЗ рдЖрдзреБрдирд┐рдХ рдлреНрд░рдВрдЯрдПрдВрдб рдПрдХ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░ рдЪреБрдХрд╛ рд╣реИред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрд╕реЗрдВрдмрд▓рд░, рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░, рдПрдХ рдШрдЯрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдПрд╕рдкреАрдП, рдПрд╕рдПрд╕рдЖрд░ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рд╣реИред


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП рдЬрд░реВрд░реА рд╣реИред рд▓реЗрдХрд┐рди рдЙрджреНрдпреЛрдЧ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рд┐рдд рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдн рдХреНрдпрд╛ рд╣реИрдВред



рдПрдВрдбреНрд░рдпреВ рд╡рд╛рд▓рдкреЛрд▓ рджреНрд╡рд╛рд░рд╛ рдЫрд╡рд┐



рд╕рд╛рдордиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ 5 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд░реВрд╕ рдореЗрдВ рдХреАрд╡рд░реНрдб рд░рд┐рдПрдХреНрдЯ, jQuery, Vue, рдХреЛрдгреАрдп рдХреЗ рд▓рд┐рдП Google рд░реБрдЭрд╛рдиреЛрдВ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ред



рдЧреВрдЧрд▓ рдЯреНрд░реЗрдВрдб


рдкрд┐рдЫрд▓реЗ 5 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, jQuery рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рдлреА рдХрдореА рдЖрдИ рд╣реИ, рдЬреЛ рдШрдЯрдХ рдврд╛рдБрдЪреЛрдВ рдХреЛ рд░рд╛рд╕реНрддрд╛ рджреЗ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ jQuery рдиреЗ рдЬрдореАрди рдЦреЛ рджреА рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рд╣реИред


рдЗрд╕ рдЧреНрд░рд╛рдл рд╕реЗ, рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдиреЗ рдлреНрд░рдВрдЯ рдПрдВрдб рдЬреАрддрд╛, рдФрд░ рд░рд┐рдПрдХреНрдЯ рд░реВрд╕ рдореЗрдВ рдЕрдЧреНрд░рдгреА рд╣реИред


рд╢реНрд░рдо рдмрд╛рдЬрд╛рд░


рд╣рдо рди рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП рднреА рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рд▓рд┐рдП, рд╢реНрд░рдо рдмрд╛рдЬрд╛рд░ рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдЪреМрдЦрдЯреЗ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдореВрд░реНрдЦрддрд╛ рд╣реИред


Hh рдкрд░ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж jQuery рдФрд░ рдЕрдиреНрдп рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЙрди рдЖрд╡реЗрджрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреНрд░рдореБрдЦ рдХреМрд╢рд▓ рдореЗрдВ рдкреНрд░рд╢реНрди рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ, рддреЛ jQuery рд░рд┐рдПрдХреНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 5 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдЖрд╡реЗрджрдХреЛрдВ рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИред рдФрд░ рдХреЛрдгреАрдп рд╕реЗ 15 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рд╣реИред



рд╢реНрд░рдо рдмрд╛рдЬрд╛рд░


рдЗрд╕ рдЧреНрд░рд╛рдл рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:


  • рдирд┐рдпреЛрдХреНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдШрдЯрдХ рдврд╛рдВрдЪреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред
  • рдЖрд╡реЗрджрдХреЛрдВ рдореЗрдВ, рд╕рдмрд╕реЗ рдЖрдо рдкреБрд╕реНрддрдХрд╛рд▓рдп jQuery рд╣реИред

рддреЛ, рдШрдЯрдХ рд░реВрдкрд░реЗрдЦрд╛ рдЬреАрддреАред рдлреНрд░рдВрдЯ рдиреЗ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ jQuery рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд▓реЗрдХрд┐рди рдирдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирдИ рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдБ рджрд┐рдЦрддреА рд╣реИрдВ?


  1. рдкреНрд░рджрд░реНрд╢рдиред
    рдЗрд╕ рд╕рд╛рд▓ рдЬрдирд╡рд░реА рдореЗрдВ, Google рдиреЗ Google Play рдкрд░ PWA рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреА, рджреЗрд╢реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреЛрд░ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд рдХрд┐рдпрд╛ред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЬрд┐рдореНрдореЗрджрд╛рд░реА рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрд╢реА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ, рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
    рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдо рд╢рдХреНрддрд┐ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рднреА рд╡рд┐рдЬрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЯреАрд╡реА рд╣реИ, рджреЗрдЦреЛ, IoTред рдРрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдореЗрдореЛрд░реА рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдПрдХ рд╕реАрдорд┐рдд рдмрдЬрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдЕрдкрдиреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред
    рдХрд╛рдо рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдВрдЯрд░рдиреЗрдЯ рд╣рдм рдкрд░ рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИред рдпрд╣ рддреЛ рдРрд╕рд╛ рдирд┐рдХрд▓рд╛ред
  2. рдЙрдЪреНрдЪ рдкреНрд░рд╡реЗрд╢ рджрд╣рд▓реАрдЬред
    рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рджреЗрдЦрд╛, рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреМрдХрд░реА рддрд▓рд╛рд╢рдиреЗ рд╡рд╛рд▓реЗ jQuery рдХреЗ рдХреМрд╢рд▓ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░рддреЗред рдорд╛рд╕реНрдЯрд░реАрдВрдЧ рд░рд┐рдПрдХреНрдЯ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдПрдХ jQuery рдкреЗрдЬ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИрдВред
  3. рдврд╛рдВрдЪреЗ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ред
    рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдПрдХ рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ Vue рдпрд╛ Angular рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдЖрдк рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдВрдзрдХ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред

рджреБрд░реНрдмрд▓ред рд╡реИрдирд┐рд▓рд╛ рдХрд╛ рд╕реНрд╡рд╛рджред


рдЗрд╕ рд╕рд╛рд▓ рдХреЗ рдЕрдкреНрд░реИрд▓ рдореЗрдВ, рд╕рдВрдХрд▓рд┐рдд Svelte рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рддреАрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
Svelte рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдШреЛрд╖рдгрд╛рддреНрдордХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЕрдирд┐рд╡рд╛рд░реНрдпрддрд╛ рдХреЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡реА рдкреЗрдбрд╝ рдХреЛ рд╣рд┐рд▓рд╛рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ рдиреНрдпреВрдирддрдо рдмрдВрдбрд▓ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдзреНрд╡рдирд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Svelte рдХреНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред


рдЪреВрдВрдХрд┐ рд░рд┐рдПрдХреНрдЯ рд░реВрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдЧреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд░рд┐рдПрдХреНрдЯ рдкрд░ рд╣реЛрдВрдЧреЗред


1. рдкреНрд░рджрд░реНрд╢рди


рдпрджрд┐ рдЖрдк рдирдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЯреВрдбреЛ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рджреМрд░реЗ рдХреА рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рдХрд╛рд░реНрдп рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдХреНрд╕рд░ рд╡реЗрдирд┐рд▓рд╛ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдврд╛рдВрдЪреЗ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЙрддрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд░рд┐рдпрд▓ рд╡рд░реНрд▓реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдореАрдХреНрд╖рд╛ рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрд╣ рдПрдХ рдРрд╕рд╛ рдмреНрд▓реЙрдЧ рд╣реИ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдорд╛рдзреНрдпрдо рдХрд╛ рдПрдХ рдХреНрд▓реЛрди рд╣реИред рдкрдВрдЬреАрдХрд░рдг, рдкреНрд░рд╛рдзрд┐рдХрд░рдг, рдкреЛрд╕реНрдЯ рдмрдирд╛рдирд╛, рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛, рдкрд╕рдВрдж рдХрд░рдирд╛ рд╣реИред рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реНрд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рд╡рд┐рднрд┐рдиреНрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд░рд┐рдпрд▓ рд╡рд░реНрд▓реНрдб рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдкрд░ рдПрдХ рд▓реЗрдЦ FreeCodeCamp рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдпрджрд┐ рд╣рдо рдЕрдВрддрд┐рдо рдмрдВрдбрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ Svelte рдЕрдкрдиреЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд┐рдпреЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИред рдХреЗрд╡рд▓ 9.7kb рдХрд╛ рдХреЛрдб рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ, рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред



рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реНрд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдВрдбрд▓ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛


рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреЛрдб рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ Svelte рдХреЛ рд▓рдЧрднрдЧ 1,000 рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ 2,000 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВред рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдХрдо рдХреЛрдб, рдХрдо рдмрдЧ рдФрд░ рдЖрд╕рд╛рди рд╕рдорд░реНрдердиред



рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реНрд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛрдб рдХрд╛ рдЖрдХрд╛рд░ рддреБрд▓рдирд╛


рдЖрдЗрдП рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдЬреЗрдПрд╕-рдлреНрд░реЗрдорд╡рд░реНрдХ-рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдлреНрд░рдВрдЯ-рдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдЦреАрдВрдЪрдирд╛ рд╣реИред рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд┐рдП рдЧрдП рд╣реИрдВ: рдЖрдВрд╢рд┐рдХ рдпрд╛ рдкреВрд░реНрдг рдЕрджреНрдпрддрди, рдирд┐рд░реНрдорд╛рдг, рд╕рдлрд╛рдИ, рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ред


рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рдордп рддрдХ, Svelte рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдпрд╛ рддреБрд▓рдиреАрдп рд╕рдордп рджрд┐рдЦрд╛рддрд╛ рд╣реИред Svelte рдмрд╣реБрдд рд╕рдВрддреБрд▓рд┐рдд рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рд╡рд┐рдХреГрддрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред



рдЕрджреНрдпрддрди рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреА рддреБрд▓рдирд╛, рдПрдо.рдПрд╕.


рдпрджрд┐ рд╣рдо рдЦрдкрдд рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗрд╡реЗрд▓реНрдЯ рд╕рдмрд╕реЗ рдХрдо рд╡рдЬрдиреА рд╣реИред



рдЦрдкрдд рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреА рддреБрд▓рдирд╛, рдПрдо.рдмреА.


рдореБрдЭреЗ рдПрдХ рд╢рдмреНрдж рд▓реЗрдиреЗ рдХреА рдЖрджрдд рдирд╣реАрдВ рдереА рдФрд░ рдореИрдВрдиреЗ рдЦреБрдж рд╕рдм рдХреБрдЫ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдХреЗ рд▓рд┐рдП DBMonster рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╛рдпрд╛ рдФрд░ рд░рд┐рдПрдХреНрдЯ 16.8 рдФрд░ Svelte рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред 3. рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдФрд░ рдлрд┐рд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред



DBMonster рдкрд░реАрдХреНрд╖рдг рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?


рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рд╕реНрд╡реЗрд▓реЗрдЯ рдиреЗ 10 рдПрдордмреА рдХрдо рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рд░рд┐рдПрдХреНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10 рдПрдордПрд╕ рддреЗрдЬреА рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред



Svelte / рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛


рдЙрдкрд░реЛрдХреНрдд рдкрд░реАрдХреНрд╖рдг рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрд╡реЗрд▓реНрдЯреЗ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЖрдк рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдВрдЧреЗ:


  • рдЫреЛрдЯреЗ рдмрдВрдбрд▓ рдЖрдХрд╛рд░
  • рдореЗрдореЛрд░реА рдХреА рдХрдо рдЦрдкрдд
  • рддреЗрдЬреА рд╕реЗ рдкреНрд░рддрд┐рдкрд╛рджрдиред

2. рдЙрдЪреНрдЪ рдкреНрд░рд╡реЗрд╢ рджрд╣рд▓реАрдЬ


рдпрджрд┐ рд╣рдо рд░рд┐рдПрдХреНрдЯ рдХреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдШрдЯрдХ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рд░рд┐рдПрдХреНрдЯ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ рдЬреЛ рдорд╛рд░реНрдХрдЕрдк рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЗ рдШрдЯрдХ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдЧрд╛ред рдХреЛрдб рдХреА рдХреБрд▓ 3 рд▓рд╛рдЗрдиреЗрдВред


import React from 'react'; const Component = () => (<div>Hello</div>); export default Component; 

рдпрджрд┐ рд╣рдо svelte рдкрд░ рдПрдХ рдШрдЯрдХ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╕ рдорд╛рд░реНрдХрдЕрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдХреЛрдб рдХреА рдХреБрд▓ 1 рдкрдВрдХреНрддрд┐ред


 <div>Hello</div> 

рд╕рдЦреНрддреА рд╕реЗ рдмреЛрд▓рдирд╛, рд╕рдмрд╕реЗ рд╕рд░рд▓ Svelte рдШрдЯрдХ рдПрдХ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рд╣реИред рдпрд╣ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рднреА рдирд╣реАрдВ рдЯреВрдЯреЗрдЧрд╛ред


рдЖрдк рдЯрд╛рдЗрдкрд╕реЗрдЯреНрдЯрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд▓реЗрдЖрдЙрдЯ рдХреЛ рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рддреБрд░рдВрдд Svelte рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Valid html рдПрдХ Svelte рдШрдЯрдХ рд╣реИред


рдореИрдВ рдордзреНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред


 setFilter() { this.switchFlag = !this.switchFlag } ... <button onClick={setFilter}>Filter</button> 

рдЙрдореНрдореАрджрд╡рд╛рд░ рдиреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдЯрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реАрдзреЗ рд╡рд░реНрдЧ рдХреА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдЗрд╕рдХреЗ рдирд╛рдо рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдордзреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рднреА рд░рд╛рдЬреНрдп рдЕрдкрдбреЗрдЯ рдкреИрдЯрд░реНрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рд░рд┐рдПрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред


рдЖрдЗрдП рдПрдХ рдмрдЯрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВ рдЬреЛ рдПрдХ рдХреНрд▓рд┐рдХ рд╕реЗ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред



рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░, рдЖрдкрдХреЛ рд░рд╛рдЬреНрдп рдХреЛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд░рд╛рдЬреНрдп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдмрдЯрди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдореБрдЭреЗ рдХреЛрдб рдХреА 8 рд▓рд╛рдЗрдиреЗрдВ рдорд┐рд▓реАрдВред


 import React from 'react'; const Component = () => { const [count, setCount] = React.useState(0) return <button onClick={() => setCount(count + 1)}> Clicked {count} </button> } export default Component; 

Svelte рдкрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░рд╛рдЬреНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдЖрдЧреЗ, рдЖрдк рдмрд╕ рдЗрд╕ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред рдХреЛрдб рдХреА рдХреБрд▓ 6 рд▓рд╛рдЗрдиреЗрдВред


 <script> let count = 0; </script> <button on:click={()=>count+=1}> Clicked {count} </button> 

рдЙрджрд╛рд╣рд░рдг рдХреЛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдореЗрдВ рдПрдХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред



рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░, рд╣рдореЗрдВ рдЕрднреА рднреА рд░рд╛рдЬреНрдп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд┐рд░, рдЗрдирдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдХреЛрдб рдХреА 11 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред


 import React from 'react'; const App = () => { const [value, setValue] = React.useState(''); return ( <React.Fragment> <input value={value} onChange={e => setValue(e.target.value)} /> {value} </React.Fragment> ); } export default App; 

Svelte рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд░рд╛рдЬреНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрдирдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджреЛ-рддрд░рдлрд╝рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рдХреА рдХреБрд▓ 5 рд▓рд╛рдЗрдиреЗрдВред


 <script> let value = ''; </script> <input bind:value={value}/> {value} 

рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА рднреА DOM рдСрди рд░рд┐рдПрдХреНрдЯ рд╕реЗ рдХрд┐рд╕реА рдПрд▓рд┐рдореЗрдВрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЛ рдПрдирд┐рдореЗрдЯреЗрдб рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЖрдкрд╕реЗ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдПрдХ рдЖрд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рддрддреНрд╡ рдХреЛ DOM рд╕реЗ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдиреАрдореЗрд╢рди рдмрдирд╛ рджреЗрдЧрд╛, рдпрд╛ рддрддреНрд╡ DOM рдореЗрдВ рд░рд╣реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдиреАрдореЗрд╢рди рдХреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкреНрд░реЙрдкрд░реНрдЯреА рдпрд╛ рдЕрдиреНрдп рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рддрддреНрд╡ рдЬрдЧрд╣ рди рд▓реЗред



рдореИрдВрдиреЗ рд░рд┐рдПрдХреНрдЯ рдкрд░ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдХреЛрдб рдХреА 35 рд▓рд╛рдЗрдиреЗрдВ рдорд┐рд▓реАрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред


рдлреЗрдбрд┐рди рдлреЗрдбрдЖрдЙрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
 import React from "react"; import "./style.css"; const App = () => { const [visible, setVisible] = React.useState(true); return ( <React.Fragment> <button onClick={() => setVisible(!visible)}>toggle</button> <div className={visible ? "visible" : "invisible"}>Hello</div> </React.Fragment> ); }; export default App; 

 .visible { animation: fadeIn 0.5s linear forwards; } .invisible { animation: fadeOut 0.5s linear forwards; } @keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; display: none; } } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } 

Svelte рдкрд░, рд╕рдорд╛рди рдШрдЯрдХ рдХреЛ рдХреЛрдб рдХреА рдХреЗрд╡рд▓ 8 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдирд┐рдореЗрд╢рди рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП Svelte рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдореЙрдбреНрдпреВрд▓ рд╣реИред рдЖрдк рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдиреАрдореЗрд╢рди рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдкрд░ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдХреИрд╕реЗ рдЪреЗрддрди рдХрд░реЗрдВред


 <script> import { fade } from 'svelte/transition'; let visible = true; </script> <button on:click={()=>visible=!visible}>toggle</button> {#if visible} <div transition:fade>Hello</div> {/if} 

рдХрдВрдкрд╛рдЗрд▓рд┐рдмрд┐рд▓рд┐рдЯреА Svelte рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХреВрд▓ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЕрдВрддрд┐рдо рдмрдВрдбрд▓ рдореЗрдВ рдирд╣реАрдВ рдЧрд┐рд░реЗрдВрдЧреЗред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдХреНрд░рдордг рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рдардВрдбрд╛ рдХреНрд░реЙрд╕рдлрд╝реЗрдб рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдбреЛрдо рдиреЛрдб рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ рдкрд░ рдПрдХ рдШрдЯрдХ рдХреЛ рдЪреЗрддрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЯреВрдбреВ рд╕реВрдЪреА рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред



рд╢рд╛рдВрдд рдЕрдореВрд░реНрдд рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ рд╣реИ: рдирд┐рд░реНрджреЗрд╢ред рдпрд╣ рдЖрдкрдХреЛ DOM рддрддреНрд╡ рдореЗрдВ рдХрд╕реНрдЯрдо рд╣реИрдВрдбрд▓рд░ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджрдмрд╛рдиреЗ рдФрд░ рдЪрд▓рдиреЗ рдХреА рдШрдЯрдирд╛рдУрдВ, рд╕рд╛рде рд╣реА рд╕реНрдкрд░реНрд╢ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рд┐рд░реНрдл рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рд╕реНрд╡реЗрд▓реНрдЯреЗ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рджреЛрд╕реНрдд рдЖрдорддреМрд░ рдкрд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ jQuery рдХреЗ рдмрд╛рдж рдЗрд╕ рддрд░рд╣ рдХреЗ рдордЬреЗрджрд╛рд░ рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред


3. рдврд╛рдВрдЪреЗ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛


рдЬрдм рд░рд┐рдПрдХреНрдЯ рдЖрдпрд╛, рддреЛ рд╡реЗрдм рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ jQuery рдХреЗ рд╡рд┐рдЬреЗрдЯ рдереЗред рд░рд┐рдПрдХреНрдЯ рдкрд░ рд╕рд╣реА рдХрдВрдкреЛрдиреЗрдВрдЯ рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдерд╛ред рдлрд┐рд░, jQuery рд╡рд┐рдЬреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧреЗ, рдЬреЛ рд░рд┐рдПрдХреНрдЯ рдФрд░ jQuery рдХреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЙрд╕рдХреЗ рдмрд╛рдж, рд░рд┐рдПрдХреНрдЯ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рдШрдЯрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧреЗ рд╣реИрдВред
рдЕрдм рд░рд┐рдПрдХреНрдЯ рдХреЗ рд╕рд╛рде рднреА рдРрд╕реА рд╣реА рд╕реНрдерд┐рддрд┐ред рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рджрд░реНрдж рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред


Svelte рдХреНрдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ? рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, рдЖрдкрдХрд╛ рдХреЛрдб рдирд┐рдпрдорд┐рдд рдЬреЗрдПрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд░рдирдЯрд╛рдЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЕрдиреНрдп рдЪреМрдЦрдЯреЗ рдореЗрдВ Svelte рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЖрд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, React рдФрд░ Vue svelte- рдЕрдиреБрдХреВрд▓рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ ред рдПрдбреЙрдкреНрдЯрд░ рдореЗрдВ рдШрдЯрдХ рдХреЛ рд▓рдкреЗрдЯрдХрд░, рдЖрдк рддрддреНрд╡ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


 import React from "react"; import SvelteSpinner from "svelte-spinner"; import toReact from "svelte-adapter/react"; const Spinner = toReact(SvelteSpinner, {}, "div"); const App = () => <Spinner size={50} /> 


рд╕реНрд╡реЗрд▓реНрдЯ рдПрдХ рдХрд╕реНрдЯрдо рддрддреНрд╡ рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдШрдЯрдХреЛрдВ рдХреЗ рдЖрд╡реЗрджрди рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХрд╕реНрдЯрдо рдПрд▓рд┐рдореЗрдВрдЯ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо рдПрд▓рд┐рдореЗрдВрдЯреНрд╕-рд╣рд░ рдЬрдЧрд╣ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред


рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡


рдореИрдВ рдЕрднреА рддрдХ рдХрд╛рдо рдкрд░ Svelte рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд░рд┐рдПрдХреНрдЯ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдкрд░ рдЪреБрд╕реНрдд рдмреИрдареЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ Google Play рдкрд░ рдЕрдкрдирд╛ рдореЗрдЯрд▓рдЬ рдРрдк рдХреИрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред



рдореЗрд░реА рднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, Svelte рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


рд╡рд┐рдкрдХреНрд╖


рдХрд┐рд╕реА рднреА рдпреБрд╡рд╛ рдврд╛рдВрдЪреЗ рдХреА рддрд░рд╣, рд╕реНрд╡реЗрд▓реНрдЯ рдХреЗ рдкрд╛рд╕ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдФрд░ рдХреБрдЫ рд▓реЗрдЦреЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд Svelte рд▓реЗрдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдореГрдд рдЕрдВрдд рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред


рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ Svelte рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

Source: https://habr.com/ru/post/hi471702/


All Articles