Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд

Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд

Habr рднрд┐рддреНрд░рдмрд╛рдЯ рдХрд╕рд░реА рд╕рдВрд░рдЪрд┐рдд рдЫ, рдХрд╕рд░реА рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рд╕рдВрд░рдЪрд┐рдд рдЫ, рдХрд╕рд░реА рд╕рдВрдЪрд╛рд░ рд╕рдВрд░рдЪрд┐рдд рдЫ, рдХреБрди рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рд░ рдХрд╕рд░реА рдХреЛрдб рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдпрд╣рд╛рдБ рд▓реЗрдЦрд┐рдиреНрдЫ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдо рд╕рдзреИрдВ рдЪрд╛рд╕реЛ рд░рд╛рдЦреЗрдХреЛ рдЫреБред рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, рдореИрд▓реЗ рдпрд╕реНрддреЛ рдореМрдХрд╛ рдкрд╛рдПрдБ, рдХрд┐рдирднрдиреЗ рдо рднрд░реНрдЦрд░реИ рд╣рд╛рдмреНрд░рд╛ рдЯреЛрд▓реАрдХреЛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдиреЗрдХреЛ рдЫреБред рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд╕рд╛рдиреЛ рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧрдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ, рдо рдкреНрд░рд╢реНрдирдХреЛ рдЬрд╡рд╛рдл рджрд┐рдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреБ: рдпрд╣рд╛рдБ рдЕрдЧрд╛рдбрд┐ рдХрд╛рдо рдЧрд░реНрди рдХрд╕реНрддреЛ рдЫред рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛: рдиреЛрдб, Vue, Vuex рд░ SSR рд╕рд╕рдХреЛ рд╕рд╛рде Habr рдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡рдХреЛ рдмрд╛рд░реЗрдорд╛ рдиреЛрдЯрд╣рд░реВред

рддрдкрд╛рдИрдВрд▓реЗ рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рд╣рд╛рдореАрдордзреНрдпреЗ рдереЛрд░реИ рдЫрдиреНред рдкрд░реНрдпрд╛рдкреНрдд рдЫреИрди - рдпреА рддреАрди рдореЛрд░реНрдЪрд╛, рджреБрдИ рдкрдЫрд╛рдбрд┐ рд░ рд╕рдмреИ Habr рдХреЛ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдиреЗрддреГрддреНрд╡ - Baxley рд╣реЛред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рддреНрдпрд╣рд╛рдБ рдкрдирд┐ рдПрдХ рдкрд░реАрдХреНрд╖рдХ, рдПрдХ рдбрд┐рдЬрд╛рдЗрдирд░, рддреАрди Vadim, рдПрдХ рдЪрдорддреНрдХрд╛рд░ рдЭрд╛рдбреВ, рдПрдХ рдорд╛рд░реНрдХреЗрдЯрд┐рдЩ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд░ рдЕрдиреНрдп Bumburums рдЫред рддрд░ Habr рдХреЛ рд╕реНрд░реЛрддрд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рдХреЗрд╡рд▓ рдЫ рдкреНрд░рддреНрдпрдХреНрд╖ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рд╣рд░реБ рдЫрдиреНред рдпреЛ рдПрдХрджрдо рджреБрд░реНрд▓рдн рдЫ - рдХрд░реЛрдбреМрдВ-рдбрд▓рд░ рджрд░реНрд╢рдХрд╣рд░реВрдХреЛ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬреБрди рдмрд╛рд╣рд┐рд░рдмрд╛рдЯ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдЙрджреНрдпрдо рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ, рд╡рд╛рд╕реНрддрд╡рдорд╛ рд╕рдореНрднрд╡рддрдГ рд╕рдкрд╛рдЯ рд╕рдВрдЧрдардирд╛рддреНрдордХ рд╕рдВрд░рдЪрдирд╛рдХреЛ рд╕рд╛рде рдПрдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред

рдЕрдиреНрдп рдзреЗрд░реИ рдЖрдИрдЯреА рдХрдореНрдкрдиреАрд╣рд░реВ рдЬрд╕реНрддреИ, рд╣рдмреНрд░рд▓реЗ рдПрдЬрд╛рдЗрд▓ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ, рд╕реАрдЖрдИ рдЕрднреНрдпрд╛рд╕рд╣рд░реВ, рд░ рдпреЛ рд╕рдмреИ рд╣реЛред рддрд░ рдореЗрд░реЛ рднрд╛рд╡рдирд╛ рдЕрдиреБрд╕рд╛рд░, рдЙрддреНрдкрд╛рджрдирдХреЛ рд░реВрдкрдорд╛ Habr рд▓рдЧрд╛рддрд╛рд░ рднрдиреНрджрд╛ рддрд░рдВрдЧрд╣рд░реВрдорд╛ рдмрдвреА рд╡рд┐рдХрд╛рд╕ рднрдЗрд░рд╣реЗрдХреЛ рдЫред рддреНрдпрд╕реЛрднрдП, рдкрдЩреНрдХреНрддрд┐рдорд╛ рдзреЗрд░реИ рд╕реНрдкреНрд░рд┐рдиреНрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рд▓рдЧрдирд╢реАрд▓рддрд╛рдХрд╛ рд╕рд╛рде рдХреЗрд╣рд┐ рдХреЛрдб рдЧрд░реНрдЫреМрдВ, рдбрд┐рдЬрд╛рдЗрди рд░ рдкреБрди: рдбрд┐рдЬрд╛рдЗрди рдЧрд░реНрдЫреМрдВ, рдХреЗрд╣рд┐ рддреЛрдбреНрдЫреМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрдЫреМрдВ, рдЯрд┐рдХрдЯрд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдЫреМрдВ рд░ рдирдпрд╛рдБрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ, рд░реЗрдХрдорд╛ рдкрд╛рдЗрд▓рд╛ рдЯреЗрдХреНрдЫреМрдВ рд░ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЧреЛрд▓реА рд╣рд╛рдиреНрдЫреМрдВ, рдЕрдиреНрддрдорд╛ рдпреЛ рд╕реБрд╡рд┐рдзрд╛ рдЬрд╛рд░реА рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ред рдЙрддреНрдкрд╛рджрдиред рд░ рддреНрдпрд╕рдкрдЫрд┐ рддреНрдпрд╣рд╛рдБ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рд╢реНрд░рд╛рдо, рдкреБрдирд░реНрд╡рд┐рдХрд╛рд╕рдХреЛ рдЕрд╡рдзрд┐, "рдорд╣рддреНрд╡рдкреВрд░реНрдг-рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХ рдЫреИрди" рдЪрддреБрд░реНрдерд╛рдВрд╢рдорд╛ рдХреЗ рдЧрд░реНрдиреЗ рд╕рдордп рдЖрдЙрдБрдЫред

рдпреЛ рдареНрдпрд╛рдХреНрдХреИ рдпреЛ "рдЕрдл-рд╕рд┐рдЬрди" рд╕реНрдкреНрд░рд┐рдиреНрдЯ рд╣реЛ рдЬреБрди рддрд▓ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдиреЗрдЫред рдпрд╕ рдкрдЯрдХ рдпрд╕рд▓реЗ Habr рдХреЛ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдпреЛред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдХрдореНрдкрдиреАрд╕рдБрдЧ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЙрдЪреНрдЪ рдЖрд╢рд╛ рдЫ, рд░ рднрд╡рд┐рд╖реНрдпрдорд╛ рдпрд╕рд▓реЗ Habr рдХреЛ рдЕрд╡рддрд╛рд░рд╣рд░реВрдХреЛ рд╕рдореНрдкреВрд░реНрдг рдЪрд┐рдбрд┐рдпрд╛рдЦрд╛рдирд╛рд▓рд╛рдИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрдкрд░реНрдЫ рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдХреНрд░рд╕-рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╕рдорд╛рдзрд╛рди рдмрдиреНрдиреБрдкрд░реНрджрдЫред рдХреБрдиреИ рджрд┐рди рддреНрдпрд╣рд╛рдБ рдЕрдиреБрдХреВрд▓рди рд▓реЗрдЖрдЙрдЯ, PWA, рдЕрдлрд▓рд╛рдЗрди рдореЛрдб, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдХреВрд▓рди, рд░ рдЕрдиреНрдп рдзреЗрд░реИ рд░реЛрдЪрдХ рдЪреАрдЬрд╣рд░реВ рд╣реБрдиреЗрдЫрдиреНред

рдХрд╛рд░реНрдп рд╕реЗрдЯ рдЧрд░реМрдВ

рдПрдХ рдкрдЯрдХ, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрдпрд╛рдиреНрдб-рдЕрдкрдорд╛, рдЕрдЧрд╛рдбрд┐ рдордзреНрдпреЗ рдПрдХрд▓реЗ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рдЯрд┐рдкреНрдкрдгреА рдШрдЯрдХрдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдмреЛрд▓реНрдпреЛред рдпрд╕реИрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, рд╣рд╛рдореАрд▓реЗ рд╕рдореВрд╣ рдордиреЛрдЪрд┐рдХрд┐рддреНрд╕рд╛ рдврд╛рдБрдЪрд╛рдорд╛ рдорд╛рдЗрдХреНрд░реЛ-рдмреИрдардХ рдЖрдпреЛрдЬрдирд╛ рдЧрд░реНтАНрдпреМрдВред рд╕рдмреИрд▓реЗ рдкрд╛рд▓реИрдкрд╛рд▓реЛ рднрдиреНрджреИ рдХрд╣рд╛рдБ рджреБрдЦреНрдпреЛ, рд╕рдмреИ рдХреБрд░рд╛ рдХрд╛рдЧрдЬрдорд╛ рд░реЗрдХрд░реНрдб рдЧрд░реЗ, рд╕рд╣рд╛рдиреБрднреВрддрд┐ рджреЗрдЦрд╛рдП, рдмреБрдЭреЗ, рдХрд╕реИрд▓реЗ рддрд╛рд▓реА рдмрдЬрд╛рдПрдиред рдирддрд┐рдЬрд╛ 20 рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдерд┐рдпреЛ, рдЬрд╕рд▓реЗ рдпреЛ рд╕реНрдкрд╖реНрдЯ рдЧрд░реНрдпреЛ рдХрд┐ рдореЛрдмрд╛рдЗрд▓ Habr рдЕрдЭреИ рдкрдирд┐ рд╕рдлрд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдореЛ рд░ рдХрд╛рдБрдЯреЗрджрд╛рд░ рдмрд╛рдЯреЛ рдерд┐рдпреЛред

рдо рдореБрдЦреНрдпрддрдпрд╛ рд╕реНрд░реЛрддрдХреЛ рдЙрдкрдпреЛрдЧрдХреЛ рджрдХреНрд╖рддрд╛ рд░ рдЪрд┐рд▓реНрд▓реЛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рднрдиреЗрд░ рдЪрд┐рдиреНрддрд┐рдд рдерд┐рдПрдБред рд╣рд░реЗрдХ рджрд┐рди, рдШрд░-рдХрд╛рд░реНрдп-рдШрд░рдХреЛ рдмрд╛рдЯреЛрдорд╛, рдореИрд▓реЗ рдореЗрд░реЛ рдкреБрд░рд╛рдиреЛ рдлреЛрдирд▓рд╛рдИ рдлрд┐рдбрдорд╛ 20 рд╣реЗрдбрд▓рд╛рдЗрдирд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЕрд╕рд╛рдзреНрдпреИ рдкреНрд░рдпрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рджреЗрдЦреЗрдВред рдпреЛ рдХреЗрд╣рд┐ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдереНрдпреЛ:

Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рддRefactoring рдЕрдШрд┐ рдореЛрдмрд╛рдЗрд▓ Habr рдЗрдиреНрдЯрд░рдлреЗрд╕

рдпрд╣рд╛рдБ рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫ? рдЫреЛрдЯрдХрд░реАрдорд╛, рд╕рд░реНрднрд░рд▓реЗ HTML рдкреГрд╖реНрдард▓рд╛рдИ рд╕рдмреИрд▓рд╛рдИ рдЙрд╕реНрддреИ рддрд░рд┐рдХрд╛рд▓реЗ рд╕реЗрд╡рд╛ рджрд┐рдпреЛ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд▓рдЧ рдЗрди рднрдПрдХреЛ рд╣реЛрд╕реН рд╡рд╛ рд╣реЛрдЗрдиред рддреНрдпрд╕рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХ JS рд▓реЛрдб рд╣реБрдиреНрдЫ рд░ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреБрди: рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрдЫ, рддрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рдпреЛрдЬрд┐рддред рддреНрдпреЛ рд╣реЛ, рд╣рд╛рдореАрд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдПрдЙрдЯреИ рдХрд╛рдо рджреБрдИ рдкрдЯрдХ рдЧрд░реНрдпреМрдВред рдЗрдиреНрдЯрд░рдлреЗрд╕ рдлреНрд▓рд┐рдХрд░ рднрдпреЛ, рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рд░рд╛рдореНрд░реЛ рд╕рдп рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реЗред рд╡рд┐рд╕реНрддрд╛рд░рдорд╛ рд╕рдмреИ рдХреБрд░рд╛ рдЕрдЭ рдбрд░рд▓рд╛рдЧреНрджреЛ рджреЗрдЦрд┐рдиреНрдереНрдпреЛред

Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рддрдкреБрд░рд╛рдиреЛ SSR-CSR рдпреЛрдЬрдирд╛ред рдкреНрд░рд╛рдзрд┐рдХрд░рдг C3 рд░ C4 рдЪрд░рдгрд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рд╕рдореНрднрд╡ рдЫ, рдЬрдм рдиреЛрдб JS HTML рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд╡реНрдпрд╕реНрдд рдЫреИрди рд░ API рдорд╛ рдкреНрд░реЛрдХреНрд╕реА рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рд╕рдХреНрдЫред

рддреНрдпрд╕ рд╕рдордпрдХреЛ рд╣рд╛рдореНрд░реЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдзреЗрд░реИ рд╕рд╣реА рд░реВрдкрдорд╛ Habr рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ:

рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдмрдХрд╡рд╛рд╕ рдЫред рдо рдпреЛ рдЬрд╕реНрддреЛ рдЫ рднрдирд┐рд░рд╣реЗрдХреЛ рдЫреБред SSR рд░ CSR рдХреЛ рдПрдХ рднрдпрд╛рдирдХ рд╕рдВрдпреЛрдЬрдиред

рдЬрддрд┐рд╕реБрдХреИ рджреБрдГрдЦ рд▓рд╛рдЧреЗ рдкрдирд┐ рд╣рд╛рдореАрд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреБрдкрд░реНрдЫ ред

рдореИрд▓реЗ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реЗрдВ, "рдЕрд╣рд┐рд▓реЗ рдирд░рд╛рдореНрд░реЛ рдЫ, рдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН" рдХреЛ рд╕реНрддрд░рдорд╛ рд╡рд░реНрдгрдирдХреЛ рд╕рд╛рде рдЬрд┐рд░рд╛рдорд╛ рдЯрд┐рдХрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдВ рд░ рдХрд╛рд░реНрдпрд▓рд╛рдИ рдлрд░рд╛рдХрд┐рд▓реЛ рд╕реНрдЯреНрд░реЛрдХрд╣рд░реВрдорд╛ рд╡рд┐рдШрдЯрд┐рдд рдЧрд░реЗ:

  • рдбрд╛рдЯрд╛ рдкреБрди: рдкреНрд░рдпреЛрдЧ,
  • redraw рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХрдо рдЧрд░реНрдиреБрд╣реЛрд╕реН,
  • рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реН,
  • рд▓реЛрдбрд┐рдЩ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдердк рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реНред

рдбрд╛рдЯрд╛ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реМрдВ

рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рд╕рд░реНрднрд░-рд╕рд╛рдЗрдб рд░реЗрдиреНрдбрд░рд┐рдЩ рджреБрдИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛ: рдЦреЛрдЬ рдЗрдиреНрдЬрд┐рди рд╕реАрдорд┐рддрддрд╛рд╣рд░реВрдХреЛ рд╕рд░реНрддрдорд╛ рдкреАрдбрд┐рдд рдирд╣реБрдиреБред SPA рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд░ рдореЗрдЯреНрд░рд┐рдХ рд╕реБрдзрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН FMP (рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛ рдмрд┐рдЧреНрд░реЗрдХреЛ TTI)ред рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рдорд╛ рдХрд┐ рдЕрдиреНрддрддрдГ 2013 рдорд╛ Airbnb рдорд╛ рддреИрдпрд╛рд░ рд╡рд░реНрд╖ (рдЕрдЭреИ рдкрдирд┐ Backbone.js рдорд╛), SSR рдиреЛрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рд╕рдорд╛рди isomorphic JS рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛред рд╕рд░реНрднрд░рд▓реЗ рдЕрдиреБрд░реЛрдзрдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛ рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рд▓реЗрдЖрдЙрдЯ рдорд╛рддреНрд░ рдкрдард╛рдЙрдБрдЫред рддреНрдпрд╕рдкрдЫрд┐ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖рдорд╛ рд░рд┐рд╣рд╛рдЗрдбреНрд░реЗрд╕рди рд╣реБрдиреНрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рд╕рдмреИ рдкреГрд╖реНрда рдкреБрди: рд▓реЛрдб рдмрд┐рдирд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред Habr рдХреЛ рд▓рд╛рдЧрд┐, рдкрд╛рда рд╕рд╛рдордЧреНрд░реА рд╕рдВрдЧ рдзреЗрд░реИ рдЕрдиреНрдп рд╕реНрд░реЛрддрд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА, рд╕рд░реНрднрд░ рд░реЗрдиреНрдбрд░рд┐рдЩ рдЦреЛрдЬ рдЗрдиреНрдЬрд┐рдирд╣рд░реБ рд╕рдВрдЧ рдореИрддреНрд░реА рд╕рдореНрдмрдиреНрдз рдирд┐рд░реНрдорд╛рдг рдорд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рд╣реЛред

рдпрд╕ рддрдереНрдпрдХреЛ рдмрд╛рд╡рдЬреБрдж рдЫ рдХрд┐ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрдХреЛ рдЖрдЧрдорди рдкрдЫрд┐ рдЫ рд╡рд░реНрд╖ рднрдиреНрджрд╛ рдмрдвреА рдмрд┐рддрд┐рд╕рдХреЗрдХреЛ рдЫ, рд░ рдпрд╕ рд╕рдордпрдорд╛ рдзреЗрд░реИ рдкрд╛рдиреА рд╕рд╛рдБрдЪреНрдЪреИ рдЕрдЧрд╛рдбрд┐-рдЕрдиреНрдд рд╕рдВрд╕рд╛рд░рдорд╛ рдкреБрд▓ рдореБрдирд┐ рдЙрдбреЗрдХреЛ рдЫ, рдзреЗрд░реИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рд╡рд┐рдЪрд╛рд░ рдЕрдЭреИ рдкрдирд┐ рдЧреЛрдкреНрдп рдЫред рд╣рд╛рдореАрд▓реЗ рдПрдХреИ рдард╛рдЙрдБрдорд╛ рдЙрднрд┐рдПрдиреМрдВ рд░ рдЙрддреНрдкрд╛рджрдирдорд╛ SSR рд╕рдорд░реНрдердирдХреЛ рд╕рд╛рде Vue рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░реНрдпреМрдВ, рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╡рд┐рд╡рд░рдг рдЫреБрдЯреЗрдХреЛ рдЫ: рд╣рд╛рдореАрд▓реЗ рдЧреНрд░рд╛рд╣рдХрд▓рд╛рдИ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рдкрдард╛рдПрдиреМрдВред

рдХрд┐рди? рдпреЛ рдкреНрд░рд╢реНрдирдХреЛ рдареНрдпрд╛рдХреНрдХреИ рдЬрд╡рд╛рдл рдЫреИрдиред рдпрд╛ рдд рддрд┐рдиреАрд╣рд░реВ рд╕рд░реНрднрд░рдмрд╛рдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛ рд╕рд╛рдЗрдЬ рдмрдврд╛рдЙрди рдЪрд╛рд╣рдБрджреИрдирдиреН, рд╡рд╛ рдЕрдиреНрдп рд╡рд╛рд╕реНрддреБ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рдЧреБрдЪреНрдЫрд╛рдХреЛ рдХрд╛рд░рдгрд▓реЗ, рд╡рд╛ рдпреЛ рдХреЗрд╡рд▓ рдмрдиреНрдж рднрдПрдиред рдПрдХ рддрд░рд┐рдХрд╛ рд╡рд╛ рдЕрд░реНрдХреЛ, рд░рд╛рдЬреНрдп рдлреНрдпрд╛рдБрдХреНрджреИ рд░ рд╕рд░реНрднрд░рд▓реЗ рдЧрд░реЗрдХреЛ рд╕рдмреИ рдХреБрд░рд╛ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдПрдХрджрдо рдЙрдкрдпреБрдХреНрдд рд░ рдЙрдкрдпреЛрдЧреА рджреЗрдЦрд┐рдиреНрдЫред рдХрд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡рдорд╛ рдорд╛рдореВрд▓реА рдЫ - рд░рд╛рдЬреНрдп рдорд╛рддреНрд░ рдЗрдВрдЬреЗрдХреНрд╢рди рдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдиреНрджрд░реНрднрдорд╛, рд░ Vue рд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЙрддреНрдкрдиреНрди рд▓реЗрдЖрдЙрдЯрдорд╛ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЪрд░рдХреЛ рд░реВрдкрдорд╛ рдердкреНрдЫ: window.__INITIAL_STATE__.

рдЙрддреНрдкрдиреНрди рднрдПрдХреЛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдЪрдХреНрд░реАрдп рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрд▓рд╛рдИ JSON (рдкрд░рд┐рдкрддреНрд░ рд╕рдиреНрджрд░реНрдн); рддреНрдпрд╕реНрддрд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрд▓рд╛рдИ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рдорддрд▓ рд╕рдордХрдХреНрд╖рд╣рд░реВрд╕рдБрдЧ рдорд╛рддреНрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реЗрд░ рд╕рдорд╛рдзрд╛рди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

рдердк рд░реВрдкрдорд╛, UGC рд╕рд╛рдордЧреНрд░реАрд╕рдБрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ HTML рд▓рд╛рдИ рддреЛрдбреНрди рдирдкрд░реЛрд╕реН рднрдиреЗрд░ рдбрд╛рдЯрд╛рд▓рд╛рдИ HTML рд╕рдВрд╕реНрдерд╛рд╣рд░реВрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░рд┐рдиреБ рдкрд░реНрдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛ рдпрд╛рдж рдЧрд░реНрдиреБрдкрд░реНрдЫред рдпреА рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ he.

рдкреБрди: рдЪрд┐рддреНрд░рд╣рд░реВ рдиреНрдпреВрдирддрдо рдЧрд░реНрджреИ

рддрдкрд╛рдИрд▓реЗ рдорд╛рдерд┐рдХреЛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░рдмрд╛рдЯ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдПрдЙрдЯрд╛ рдиреЛрдб JS рдЙрджрд╛рд╣рд░рдгрд▓реЗ рджреБрдИ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫ: API рдорд╛ SSR рд░ "рдкреНрд░реЛрдХреНрд╕реА", рдЬрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╣реБрдиреНрдЫред рдпреЛ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд▓реЗ JS рдХреЛрдб рд╕рд░реНрднрд░рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдмреЗрд▓рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЧрд░реНрди рдЕрд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫ, рдХрд┐рдирдХрд┐ рдиреЛрдб рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдЫ, рд░ SSR рдкреНрд░рдХрд╛рд░реНрдп рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЫред рддреНрдпреЛ рд╣реЛ, рд╕рд░реНрднрд░рд▓реЗ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЙрди рд╕рдХреНрджреИрди рдЬрдм рдХрд▓рд╕реНрдЯреНрдпрд╛рдХ рдХреЗрд╣рд┐рд╕рдБрдЧ рд╡реНрдпрд╕реНрдд рд╣реБрдиреНрдЫред рдпреЛ рдкрддреНрддрд╛ рд▓рд╛рдЧреНрдпреЛ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рд░рд╛рдЬреНрдп рдЕрдкрдбреЗрдЯ рдЧрд░реНрдпреМрдВ, рддрд░ рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓реЗ рдЯреНрд╡рд┐рдЪ рдЧрд░реНрди рд░реЛрдХреЗрди, рдХрд┐рдирдХрд┐ рдЧреНрд░рд╛рд╣рдХрдХреЛ рдбрд╛рдЯрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рдерд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд▓рдЧрдЗрдирд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛рдорд╛ рд╕рд╣реА рдбрд╛рдЯрд╛ рд░рд╛рдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореНрд░реЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рд╕рд┐рдХрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рддреНрдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛рдХреЛ рдорд╛рддреНрд░ рджреБрдИ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдерд┐рдП:

  • рдХреНрд░рд╕-рд╕рд░реНрднрд░ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдорд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдбреЗрдЯрд╛ рд╕рдВрд▓рдЧреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • рдиреЛрдб JS рддрд╣рд╣рд░реВрд▓рд╛рдИ рджреБрдИ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдкрд╣рд┐рд▓реЛ рд╕рдорд╛рдзрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рд░реНрднрд░рдорд╛ рдЧреНрд▓реЛрдмрд▓ рдЪрд░рдХреЛ рдкреНрд░рдпреЛрдЧ рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛ, рд░ рджреЛрд╕реНрд░реЛрд▓реЗ рдХрдореНрддрд┐рдорд╛ рдПрдХ рдорд╣рд┐рдирд╛ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдЧрд░реНрдиреЗ рд╕рдордпрд╕реАрдорд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрдпреЛред

рдХрд╕рд░реА рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ? Habr рдЕрдХреНрд╕рд░ рдХрдо рд╕реЗ рдХрдо рдкреНрд░рддрд┐рд░реЛрдз рдХреЛ рдмрд╛рдЯреЛ рдорд╛ рдЬрд╛рдиреНрдЫред рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рд░реВрдкрдорд╛, рд╡рд┐рдЪрд╛рд░рдмрд╛рдЯ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкрдорд╛ рдЪрдХреНрд░рд▓рд╛рдИ рдиреНрдпреВрдирддрдордорд╛ рдШрдЯрд╛рдЙрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рдЗрдЪреНрдЫрд╛ рдЫред рдЙрддреНрдкрд╛рджрдирдкреНрд░рддрд┐ рдордиреЛрд╡реГрддреНрддрд┐рдХреЛ рдореЛрдбреЗрд▓ рдХреЗрд╣рд┐ рд╣рджрд╕рдореНрдо booking.com рдХреЛ рдкреЛрд╖реНрдЯреБрд▓реЗрдЯреНрд╕рдХреЛ рд╕рдореНрдЭрдирд╛ рджрд┐рд▓рд╛рдЙрдиреЗ рдЫ, рдХреЗрд╡рд▓ рдлрд░рдХ рдпреЛ рд╣реЛ рдХрд┐ Habr рд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдзреЗрд░реИ рдЧрдореНрднреАрд░рддрд╛рдХрд╛ рд╕рд╛рде рд▓рд┐рдиреНрдЫ рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реНрджрдЫ, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд░реВрдкрдорд╛, рддреНрдпрд╕реНрддрд╛ рдирд┐рд░реНрдгрдпрд╣рд░реВ рдЧрд░реНрдиред

рдпреЛ рддрд░реНрдХ рд░ рдЪрд╛рдБрдбреИ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдореЗрд░реЛ рдЖрдлреНрдиреИ рдЗрдЪреНрдЫрд╛ рдкрдЫреНрдпрд╛рдЙрдБрджреИ, рдореИрд▓реЗ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдЪрд░рд╣рд░реВ рд░реЛрдЬреЗрдВред рд░, рдкреНрд░рд╛рдп рдЬрд╕реЛ рд╣реБрдиреНрдЫ, рддрдкрд╛рдИрдВрд▓реЗ рдЪрд╛рдБрдбреЛ рд╡рд╛ рдкрдЫрд┐ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рддрд┐рд░реНрдиреБрдкрд░реНрдЫред рд╣рд╛рдореАрд▓реЗ рд▓рдЧрднрдЧ рддреБрд░реБрдиреНрддреИ рднреБрдХреНрддрд╛рди рдЧрд░реНрдпреМрдВ: рд╣рд╛рдореАрд▓реЗ рд╕рдкреНрддрд╛рд╣рдиреНрддрдорд╛ рдХрд╛рдо рдЧрд░реНрдпреМрдВ, рдирддрд┐рдЬрд╛рд╣рд░реВ рдЦрд╛рд▓реА рдЧрд░реНрдпреМрдВ, рд▓реЗрдЦреНрдпреМрдВ рдкреЛрд╕реНрдЯрдорд╛рд░реНрдЯрдо рд░ рд╕рд░реНрднрд░рд▓рд╛рдИ рджреБрдИ рднрд╛рдЧрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрди рдерд╛рд▓реНрдпреЛред рддреНрд░реБрдЯрд┐ рдзреЗрд░реИ рдореВрд░реНрдЦ рдерд┐рдпреЛ, рд░ рдпрд╕рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдмрдЧ рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдерд┐рдПрдиред рд░ рд╣реЛ, рдпреЛ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдЬрдорд░реНрджреЛ рдХреБрд░рд╛ рд╣реЛ, рддрд░ рдПрдХ рддрд░рд┐рдХрд╛ рд╡рд╛ рдЕрд░реНрдХреЛ, рдареЗрд╕ рд▓рд╛рдЧреНрдиреЗ рд░ рд╡рд┐рд▓рд╛рдк рдЧрд░реНрджреИ, рдЧреНрд▓реЛрдмрд▓ рднреЗрд░рд┐рдПрдмрд▓рдХреЛ рд╕рд╛рде рдореЗрд░реЛ рдкреАрдУрд╕реА рдпрджреНрдпрдкрд┐ рдЙрддреНрдкрд╛рджрдирдорд╛ рдЧрдпреЛ рд░ рдирдпрд╛рдБ "рджреБрдИ-рдиреЛрдб" рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдорд╛ рд╕рд╛рд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрдБрджреИ рдзреЗрд░реИ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫред рдпреЛ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХрджрдо рдерд┐рдпреЛ, рдХрд┐рдирдХрд┐ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдкрдорд╛ рд▓рдХреНрд╖реНрдп рдкреНрд░рд╛рдкреНрдд рднрдпреЛ - SSR рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рддрдпрд╛рд░ рдкреГрд╖реНрда рдбреЗрд▓рд┐рднрд░ рдЧрд░реНрди рд╕рд┐рдХреНрдпреЛ, рд░ UI рдзреЗрд░реИ рд╢рд╛рдиреНрдд рднрдпреЛред

Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рддRefactoring рдХреЛ рдкрд╣рд┐рд▓реЛ рдЪрд░рдг рдкрдЫрд┐ рдореЛрдмрд╛рдЗрд▓ Habr рдЗрдиреНрдЯрд░рдлреЗрд╕

рдЕрдиреНрддрддрдГ, рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ SSR-CSR рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рд▓реЗ рдпреЛ рдЪрд┐рддреНрд░рдорд╛ рдиреЗрддреГрддреНрд╡ рдЧрд░реНрдЫ:

я┐╝Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд"рджреБрдИ-рдиреЛрдб" SSR-CSR рд╕рд░реНрдХрд┐рдЯред рдиреЛрдб JS API рд╕рдзреИрдВ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ I/O рдХреЛ рд▓рд╛рдЧреА рддрдпрд╛рд░ рдЫ рд░ SSR рдкреНрд░рдХрд╛рд░реНрдп рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рдХрд┐рдирдХрд┐ рдкрдЫрд┐рд▓реНрд▓реЛ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рдорд╛ рд╕реНрдерд┐рдд рдЫред рдХреНрд╡реЗрд░реА рдЪреЗрди #3 рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред

рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рд╣рдЯрд╛рдЙрдБрджреИ

рд╣реЗрд░рдлреЗрд░рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рдкреГрд╖реНрдардХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд░реЗрдиреНрдбрд░рд┐рдЩрд▓реЗ рдЕрдм рдПрдкрд┐рд▓реЗрдкреНрд╕реАрд▓рд╛рдИ рдЙрдХреНрд╕рд╛рдЙрдБрджреИрдиред рддрд░ SPA рдореЛрдбрдорд╛ Habr рдХреЛ рдердк рдкреНрд░рдпреЛрдЧ рдЕрдЭреИ рдкрдирд┐ рднреНрд░рдо рдкреИрджрд╛ рднрдпреЛред

рдХрд┐рдирднрдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╡рд╛рд╣рдХреЛ рдЖрдзрд╛рд░ рдлрд╛рд░рдордХреЛ рд╕рдВрдХреНрд░рдордг рд╣реЛ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╕реВрдЪреА тЖТ рд▓реЗрдЦ тЖТ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рд░ рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, рдкрд╣рд┐рд▓реЛ рд╕реНрдерд╛рдирдорд╛ рдпрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рд╕реНрд░реЛрдд рдЦрдкрддрд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдерд┐рдпреЛред

Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рддрдкреЛрд╖реНрдЯ рдлрд┐рдбрдорд╛ рдлрд░реНрдХрд┐рдБрджрд╛ рдирдпрд╛рдБ рдбрд╛рдЯрд╛ рдЕрдиреБрд░реЛрдз рдЙрдХреНрд╕рд╛рдЙрдБрдЫ

рдЧрд╣рд┐рд░реЛ рдЦрдиреНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдПрдиред рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдирдХрд╛рд╕реНрдЯрдорд╛ рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓реЗ рдлрд┐рд░реНрддрд╛ рд╕реНрд╡рд╛рдЗрдк рдЧрд░реНрджрд╛ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдкреБрди: рдЕрдиреБрд░реЛрдз рдЧрд░реНрджрдЫ, рд░ рдЕрдиреБрд░реЛрдзрдХреЛ рдХреНрд░рдордорд╛ рд╣рд╛рдореАрд▓реЗ рд▓реЗрдЦрд╣рд░реВ рджреЗрдЦреНрджреИрдиреМрдВ, рдЬрд╕рдХреЛ рдорддрд▓рдм рдЕрдШрд┐рд▓реНрд▓реЛ рдбрд╛рдЯрд╛ рдХрддреИ рдЧрд╛рдпрдм рд╣реБрдиреНрдЫред рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдХрд┐ рд▓реЗрдЦ рд╕реВрдЪреА рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд▓реЗ рд╕реНрдерд╛рдиреАрдп рд░рд╛рдЬреНрдп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рд░ рдпрд╕рд▓рд╛рдИ рдирд╖реНрдЯ рдЧрд░реНрджрд╛ рдЧреБрдорд╛рдЙрдБрдЫред рд╡рд╛рд╕реНрддрд╡рдорд╛, рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓реЗ рдЧреНрд▓реЛрдмрд▓ рд╕реНрдЯреЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреЛ, рддрд░ Vuex рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╣реЗрдб-рдЕрди рдмрдирд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ: рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдкреГрд╖реНрдард╣рд░реВрдорд╛ рдмрд╛рдБрдзрд┐рдПрдХрд╛ рдЫрдиреН, рдЬреБрди рдмрд╛рд░реАрдорд╛ рдорд╛рд░реНрдЧрд╣рд░реВрдорд╛ рдмрд╛рдБрдзрд┐рдПрдХрд╛ рдЫрдиреНред рдпрд╕рдмрд╛рд╣реЗрдХ, рд╕рдмреИ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ "рдбрд┐рд╕реНрдкреЛрдЬреЗрдмрд▓" рдЫрдиреН - рдкреГрд╖реНрдардорд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрдЫрд┐рд▓реНрд▓рд╛ рднреНрд░рдордгрд▓реЗ рд╕рдореНрдкреВрд░реНрдг рдореЛрдбреНрдпреБрд▓рд▓рд╛рдИ рдкреБрди: рд▓реЗрдЦреНрдпреЛ:

ArticlesList: [
  { Article1 },
  ...
],
PageArticle: { ArticleFull1 },

рдХреБрд▓рдорд╛, рд╣рд╛рдореАрд╕рдБрдЧ рдореЛрдбреНрдпреБрд▓ рдерд┐рдпреЛ рд▓реЗрдЦ рд╕реВрдЪреА, рдЬрд╕рдорд╛ рдкреНрд░рдХрд╛рд░рдХрд╛ рд╡рд╕реНрддреБрд╣рд░реВ рдЫрдиреН рд▓реЗрдЦ рд░ рдореЛрдбреНрдпреБрд▓ рдкреГрд╖реНрда рд▓реЗрдЦ, рдЬреБрди рд╡рд╕реНрддреБрдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдерд┐рдпреЛ рд▓реЗрдЦ, рдкреНрд░рдХрд╛рд░рдХреЛ рд▓реЗрдЦ рдкреВрд░реНрдгред рд░ рдареВрд▓реЛ рд░реВрдкрдорд╛, рдпреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓реЗ рдЖрдлреИрдВрдорд╛ рднрдпрд╛рдирдХ рдХреЗрд╣рд┐ рдмреЛрдХреНрджреИрди - рдпреЛ рдзреЗрд░реИ рд╕рд░рд▓ рдЫ, рдХрд╕реИрд▓реЗ рднреЛрд▓реА рдкрдирд┐ рднрдиреНрди рд╕рдХреНрдЫ, рддрд░ рдЕрддреНрдпрдиреНрддреИ рдмреБрдЭреНрди рд╕рдХрд┐рдиреНрдЫред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдореЛрдбреНрдпреБрд▓рд▓рд╛рдИ рдкреНрд░рддреНрдпреЗрдХ рдкрдЯрдХ рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рд░реНрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджрд╛ рд░рд┐рд╕реЗрдЯ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВ рдпрд╕рдХреЛ рд╕рд╛рде рдмрд╛рдБрдЪреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрджреНрдпрдкрд┐, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд▓реЗрдЦ рдлрд┐рдбрд╣рд░реВ рдмреАрдЪ рд╕рд░реНрджреИ /рдлрд┐рдб тЖТ /рд╕рдмреИ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд┐рдбрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдмреИ рдЪреАрдЬрд╣рд░реВ рдлреНрдпрд╛рдБрдХреНрдиреЗ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЫ, рдХрд┐рдирдХрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдЫ рд▓реЗрдЦ рд╕реВрдЪреА, рдЬрд╕рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рдирдпрд╛рдБ рдбрд╛рдЯрд╛ рд░рд╛рдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдлреЗрд░рд┐ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдирдХреНрдХрд▓рдорд╛ рд▓реИрдЬрд╛рдиреНрдЫред

рдореИрд▓реЗ рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рдЦрдиреНрди рд╕рдХреНрдиреЗ рд╕рдмреИ рдХреБрд░рд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░реЗрд░ рдирдпрд╛рдБ рд░рд╛рдЬреНрдп рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрд░ рдЖрдлреНрдирд╛ рд╕рд╣рдХрд░реНрдореАрд╣рд░реВрд╕рдордХреНрд╖ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реЗрдВред рдЫрд▓рдлрд▓ рд▓рд╛рдореЛ рдерд┐рдпреЛ, рддрд░ рдЕрдиреНрддрдорд╛ рдкрдХреНрд╖рдорд╛ рддрд░реНрдХрд╣рд░реВрд▓реЗ рд╢рдВрдХрд╛рд▓рд╛рдИ рдмрдврд╛рдпреЛ, рд░ рдореИрд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдерд╛рд▓реЗред

рд╕рдорд╛рдзрд╛рдирдХреЛ рддрд░реНрдХ рджреБрдИ рдЪрд░рдгрд╣рд░реВрдорд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдкреНрд░рдХрдЯ рд╣реБрдиреНрдЫред рдкрд╣рд┐рд▓реЗ рд╣рд╛рдореА рдкреГрд╖реНрдард╣рд░реВрдмрд╛рдЯ Vuex рдореЛрдбреНрдпреБрд▓рд▓рд╛рдИ рдбрд┐рдХрдкрд▓ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдЫреМрдВ рд░ рд╕реАрдзрд╛ рдорд╛рд░реНрдЧрд╣рд░реВрдорд╛ рдмрд╛рдБрдзреНрдЫреМрдВред рд╣реЛ, рд╕реНрдЯреЛрд░рдорд╛ рдЕрд▓рд┐ рдмрдвреА рдбрд╛рдЯрд╛ рд╣реБрдиреЗрдЫ, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рд╣рд░реВ рдЕрд▓рд┐ рдмрдвреА рдЬрдЯрд┐рд▓ рд╣реБрдиреЗрдЫрдиреН, рддрд░ рд╣рд╛рдореА рд▓реЗрдЦрд╣рд░реВ рджреБрдИ рдкрдЯрдХ рд▓реЛрдб рдЧрд░реНрджреИрдиреМрдВред рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рд╕рд╛рдпрдж рд╕рдмреИрднрдиреНрджрд╛ рдмрд▓рд┐рдпреЛ рддрд░реНрдХ рд╣реЛред рдпреЛ рдХреЗрд╣рд┐ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреЗрдЫ:

ArticlesList: {
  ROUTE_FEED: [ 
    { Article1 },
    ...
  ],
  ROUTE_ALL: [ 
    { Article2 },
    ...
  ],
}

рддрд░ рдХреЗ рд╣реБрдиреНрдЫ рдпрджрд┐ рд▓реЗрдЦ рд╕реВрдЪреАрд╣рд░реВ рдзреЗрд░реИ рдорд╛рд░реНрдЧрд╣рд░реВ рдмреАрдЪ рдУрднрд░рд▓реНрдпрд╛рдк рд╣реБрди рд╕рдХреНрдЫ рд░ рдпрджрд┐ рд╣рд╛рдореА рд╡рд╕реНрддреБ рдбреЗрдЯрд╛ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ рднрдиреЗ рд▓реЗрдЦ рдкреЛрд╕реНрдЯ рдкреГрд╖реНрда рд░реЗрдиреНрдбрд░ рдЧрд░реНрди, рдпрд╕рд▓рд╛рдИ рдорд╛ рдмрджрд▓реНрджреИ рд▓реЗрдЦ рдкреВрд░реНрдг? рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдпрд╕реНрддреЛ рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдердк рддрд╛рд░реНрдХрд┐рдХ рд╣реБрдиреЗрдЫ:

ArticlesIds: {
  ROUTE_FEED: [ '1', ... ],
  ROUTE_ALL: [ '1', '2', ... ],
},
ArticlesList: {
  '1': { Article1 }, 
  '2': { Article2 },
  ...
}

рд▓реЗрдЦ рд╕реВрдЪреА рдпрд╣рд╛рдБ рдпреЛ рдХреЗрд╡рд▓ рд▓реЗрдЦ рдХреЛ рднрдгреНрдбрд╛рд░ рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реЛред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░рдХреЛ рд╕рдордпрдорд╛ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рд▓реЗрдЦрд╣рд░реВред рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрддреНрдпрдиреНрдд рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрдЫреМрдВ, рдХрд┐рдирдХрд┐ рдпреЛ рдЯреНрд░рд╛рдлрд┐рдХ рд╣реЛ рдЬреБрди рд╕реНрдЯреЗрд╢рдирд╣рд░реВ рдмреАрдЪрдХреЛ рдореЗрдЯреНрд░реЛрдорд╛ рдХрддреИ рджреБрдЦрд╛рдЗрдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рд╣реБрди рд╕рдХреНрдЫ, рд░ рд╣рд╛рдореА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рдпреЛ рдкреАрдбрд╛ рдкреБрди: рдЙрд╕рд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рднрдПрдХреЛ рдбреЗрдЯрд╛ рд▓реЛрдб рдЧрд░реНрди рдмрд╛рдзреНрдп рдкрд╛рд░реЗрд░ рдЧрд░реНрди рдЪрд╛рд╣рдБрджреИрдиреМрдВред рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдпреЛред рдПрдЙрдЯрд╛ рд╡рд╕реНрддреБ рд▓реЗрдЦ Ids рд╡рд╕реНрддреБрд╣рд░реВрдорд╛ рдЖрдИрдбреАрд╣рд░реВрдХреЛ рдПрд░реЗ (рдЬрд╕реНрддреИ "рд▓рд┐рдЩреНрдХрд╣рд░реВ") рд╣реЛ рд▓реЗрдЦред рдпреЛ рд╕рдВрд░рдЪрдирд╛рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдорд╛рд░реНрдЧрд╣рд░реВрдорд╛ рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛ рдирдХреНрдХрд▓ рдЧрд░реНрди рд░ рд╡рд╕реНрддреБ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдмрд╛рдЯ рдмрдЪреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рд▓реЗрдЦ рдпрд╕рдорд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдбрд╛рдЯрд╛ рдорд░реНрдЬ рдЧрд░реЗрд░ рдкреЛрд╕реНрдЯ рдкреГрд╖реНрда рд░реЗрдиреНрдбрд░ рдЧрд░реНрджрд╛ред

рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╕реВрдЪреАрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдкрдирд┐ рдердк рдкрд╛рд░рджрд░реНрд╢реА рднрдПрдХреЛ рдЫ: рдЗрдЯрд░реЗрдЯрд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд▓реЗ рд▓реЗрдЦ ID рдХреЛ рд╕рд╛рде рдПрд░реНрд░реЗ рдорд╛рд░реНрдлрдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЧрд░реНрдЫ рд░ рд▓реЗрдЦ рдЯрд┐рдЬрд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рдХреЛрд░реНрдЫ, рдЖрдЗрдбреАрд▓рд╛рдИ рдкреНрд░реЛрдкрдХреЛ рд░реВрдкрдорд╛ рдкрд╛рд╕ рдЧрд░реНрджреИ, рд░ рдЪрд╛рдЗрд▓реНрдб рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд▓реЗ рдпрд╕рдмрд╛рдЯ рдЖрд╡рд╢реНрдпрдХ рдбрд╛рдЯрд╛ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред рд▓реЗрдЦ рд╕реВрдЪреАред рдЬрдм рддрдкрд╛рдИрдВ рдкреНрд░рдХрд╛рд╢рди рдкреГрд╖реНрдардорд╛ рдЬрд╛рдиреБрд╣реБрдиреНрдЫ, рд╣рд╛рдореА рдкрд╣рд┐рд▓реЗ рдиреИ рдЕрд╡рд╕реНрдерд┐рдд рдорд┐рддрд┐ рджреЗрдЦрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫреМрдВ рд▓реЗрдЦ рд╕реВрдЪреА, рд╣рд╛рдореА рд╣рд░рд╛рдПрдХреЛ рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд░ рдпрд╕рд▓рд╛рдИ рдЕрд╡рд╕реНрдерд┐рдд рд╡рд╕реНрддреБрдорд╛ рдердкреНрди рдЕрдиреБрд░реЛрдз рдЧрд░реНрдЫреМрдВред

рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд┐рди рд░рд╛рдореНрд░реЛ рдЫ? рдореИрд▓реЗ рдорд╛рдерд┐ рд▓реЗрдЦреЗрдХреЛ рд░реВрдкрдорд╛, рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛рдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдЕрдзрд┐рдХ рдХреЛрдорд▓ рдЫ рд░ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕рд▓рд╛рдИ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддрд░ рдпрд╕рдмрд╛рд╣реЗрдХ, рдпрд╕рд▓реЗ рдХреЗрд╣реА рдирдпрд╛рдБ рд╕рдореНрднрд╛рд╡рдирд╛рд╣рд░реВрдХреЛ рдмрд╛рдЯреЛ рдЦреЛрд▓реНрдЫ рдЬреБрди рдпрд╕реНрддреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛рдорд╛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдлрд┐рдЯ рд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреЛрд▓рд┐рдЩ рдЧрд░реНрдиреЗ рд░ рдлрд┐рдбрдорд╛ рд▓реЗрдЦрд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНрджрд╛ рд▓реЛрдб рдЧрд░реНрдиреЗред рд╣рд╛рдореА рднрд░реНрдЦрд░рдХрд╛ рдкреЛрд╖реНрдЯрд╣рд░реВ "рднрдгреНрдбрд╛рд░" рдорд╛ рд░рд╛рдЦреНрди рд╕рдХреНрдЫреМрдВред рд▓реЗрдЦ рд╕реВрдЪреА, рдирдпрд╛рдБ ID рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕реВрдЪреА рдорд╛ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рд▓реЗрдЦ Ids рд░ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рд╕реВрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЬрдм рд╣рд╛рдореА "рдирдпрд╛рдБ рдкреНрд░рдХрд╛рд╢рдирд╣рд░реВ рджреЗрдЦрд╛рдЙрдиреБрд╣реЛрд╕реН" рдмрдЯрдирдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдЫреМрдВ, рд╣рд╛рдореА рдХреЗрд╡рд▓ рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╣рд╛рд▓рдХреЛ рд╕реВрдЪреАрдХреЛ рдПрд░реНрд░реЗрдорд╛ рдирдпрд╛рдБ рдЖрдЗрдбреАрд╣рд░реВ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рд╕рдмреИ рдХреБрд░рд╛рд▓реЗ рд▓рдЧрднрдЧ рдЬрд╛рджреБрдИ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫред

рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рдердк рд░рдорд╛рдЗрд▓реЛ рдмрдирд╛рдЙрди

рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдЩ рдХреЗрдХрдорд╛ рдЖрдЗрд╕рд┐рдЩ рднрдиреЗрдХреЛ рдХрдВрдХрд╛рд▓рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реЛ, рдЬрд╕рд▓реЗ рдврд┐рд▓реЛ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рд╕рд╛рдордЧреНрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдЕрд▓рд┐ рдХрдо рдШреГрдгрд┐рдд рдмрдирд╛рдЙрдБрдЫред рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рдХреБрдиреИ рдЫрд▓рдлрд▓ рднрдПрди; рд╡рд┐рдЪрд╛рд░рдмрд╛рдЯ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкрдХреЛ рдмрд╛рдЯреЛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдкрдорд╛ рджреБрдИ рдШрдгреНрдЯрд╛ рд▓рд╛рдЧреНрдпреЛред рдбрд┐рдЬрд╛рдИрдирд▓реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдкрдорд╛ рдЖрдлреИрд▓рд╛рдИ рдЖрдХрд░реНрд╖рд┐рдд рдЧрд░реНрдпреЛ, рд░ рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░рд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрд▓рд╛рдИ рдбреЗрдЯрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрдБрджреИ рд╕рд░рд▓, рдореБрд╢реНрдХрд┐рд▓рд▓реЗ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ div рдмреНрд▓рдХрд╣рд░реВ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрди рд╕рд┐рдХрд╛рдпреМрдВред рд╡рд╕реНрддреБрдЧрдд рд░реВрдкрдорд╛, рд▓реЛрдбрд┐рдЩрдХреЛ рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд╢рд░реАрд░рдорд╛ рддрдирд╛рд╡ рд╣рд╛рд░реНрдореЛрдирдХреЛ рдорд╛рддреНрд░рд╛ рдШрдЯрд╛рдЙрдБрдЫред рдХрдВрдХрд╛рд▓ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

Habr рдлреНрд░рдиреНрдЯ-рдПрдиреНрдб рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд▓рдЧрд╣рд░реВ: рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧ рд░ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд
рд╣реНрдпрд╛рдмреНрд░рд╛рд▓реЛрдбрд┐рдЩ

рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд

рдо рд╣рдмреНрд░реЗрдорд╛ рдЫ рдорд╣рд┐рдирд╛рджреЗрдЦрд┐ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫреБ рд░ рдореЗрд░рд╛ рд╕рд╛рдереАрд╣рд░реВрд▓реЗ рдЕрдЭреИ рд╕реЛрдзреНрдЫрдиреН: рдард┐рдХреИ рдЫ, рддрдкрд╛рдИрдВрд▓рд╛рдИ рддреНрдпрд╣рд╛рдБ рдХрд╕реНрддреЛ рд▓рд╛рдЧреНрдЫ? рдареАрдХ рдЫ, рд╕рд╣рдЬ - рд╣реЛред рддрд░ рддреНрдпрд╣рд╛рдБ рдХреЗрд╣рд┐ рдЫ рдЬрд╕рд▓реЗ рдпреЛ рдХрд╛рдорд▓рд╛рдИ рдЕрд░реВ рднрдиреНрджрд╛ рдлрд░рдХ рдмрдирд╛рдЙрдБрдЫред рдореИрд▓реЗ рдЯреЛрд▓реАрд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реЗрдВ рдЬреБрди рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЙрддреНрдкрд╛рджрдирдорд╛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЙрджрд╛рд╕реАрди рдерд┐рдП, рдЙрдиреАрд╣рд░реВрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдХреЛ рдерд┐рдП рднрдиреЗрд░ рдерд╛рд╣рд╛ рдерд┐рдПрди рд╡рд╛ рдмреБрдЭреЗрдирдиреНред рддрд░ рдпрд╣рд╛рдБ рд╕рдмреИ рдХреБрд░рд╛ рдлрд░рдХ рдЫред рдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рдХрд╛рдордХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдорд╣рд╕реБрд╕ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред рд╕реБрд╡рд┐рдзрд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛, рддрдкрд╛рдЗрдБ рдЖрдВрд╢рд┐рдХ рд░реВрдкрдорд╛ рдпрд╕рдХреЛ рдорд╛рд▓рд┐рдХ рдмрдиреНрдиреБрд╣реБрдиреЗрдЫ, рддрдкрд╛рдЗрдБрдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдмреИ рдЙрддреНрдкрд╛рджрди рдмреИрдардХрд╣рд░реВрдорд╛ рднрд╛рдЧ рд▓рд┐рдиреБрд╣реЛрд╕реН, рд╕реБрдЭрд╛рд╡рд╣рд░реВ рджрд┐рдиреБрд╣реЛрд╕реН рд░ рдирд┐рд░реНрдгрдпрд╣рд░реВ рдЖрдлреИ рд▓рд┐рдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрд▓реЗ рд╣рд░реЗрдХ рджрд┐рди рдЖрдлреИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЙрддреНрдкрд╛рджрди рдмрдирд╛рдЙрдиреБ рдПрдХрджрдореИ рд░рд╛рдореНрд░реЛ рдЫ, рддрд░ рддрдкрд╛рдИ рднрдиреНрджрд╛ рдпрд╕рдорд╛ рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреЛрдб рд▓реЗрдЦреНрдиреБ рдорд╛рддреНрд░ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рднрд╛рд╡рдирд╛ рд╣реЛ (рдХреБрдиреИ рд╡реНрдпрдВрдЧреНрдп рдЫреИрди)ред

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

рдорд▓рд╛рдИ рддрдкрд╛рдИрд▓рд╛рдИ рд╕рдореНрдЭрд╛рдЙрди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдЧреНрд▓реЛрдмрд▓ рдЪрд░ рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗ рд░ рдкреНрд░реЛрдХреНрд╕реА рд▓реЗрдпрд░рд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдЖрд╡рдВрдЯрд┐рдд рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред "рджреБрдИ-рдиреЛрдб" рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмреАрдЯрд╛ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд░реВрдкрдорд╛ рд░рд┐рд▓реАрдЬрдорд╛ рдкреБрдЧреЗрдХреЛ рдЫред рдЕрдм рдЬреЛ рдХреЛрд╣реА рдкрдирд┐ рдпрд╕рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрди рд░ рдореЛрдмрд╛рдЗрд▓ Habr рд▓рд╛рдИ рдЕрдЭ рд░рд╛рдореНрд░реЛ рдмрдирд╛рдЙрди рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫред рдЖрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдпрддрд┐ рд╣реЛред рдо рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдорд╛ рддрдкрд╛рдЗрдБрдХрд╛ рд╕рдмреИ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдЬрд╡рд╛рдл рджрд┐рди рдЦреБрд╕реА рд╣реБрдиреЗрдЫреБред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди