рдЬреЗрдЯ рд╕рд╛рдордиреЗред рд╣рдо рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдХреА рдХрд╣рд╛рдиреА

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

Spoiler: BEM уГД \ _ (_) _ / ┬п рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!



рдзреНрдпрд╛рди рджреЗрдВ: рдлреНрд░рдВрдЯреЗрдВрдб рдХреА рдЙрдЪреНрдЪ рдПрдХрд╛рдЧреНрд░рддрд╛ред рдмрд╣реБрдд рд╕реЗ рдкрд╛рда, рдЪрд┐рддреНрд░ рдФрд░ рдХреЛрдб, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рднрд╛рдЧ 2. рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рд╕реБрджреВрд░ 2016. рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рд╕рд╣рдирд╢реАрд▓рддрд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рдореИрдВ рдкреВрд░реА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреВрдВрдЧрд╛ред 2017 Yandex.Money рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдорд╕реНрддрд┐рд╖реНрдХ рдХрд╛ рдПрдХ рдмреАрдИрдПрдо рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИред

Node.js рдкрд░ рдмреИрдХреЗрдВрдб, рдореЗрд░реА рдкрд╣рд▓реА рдмрд╛рд░


рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд╛: рдореЗрд░реЗ рдкрд╛рд╕ рдмреИрдХрд▓реЙрдЧ рд╕реЗ рдпрд╣ рдХрд╛рд░реНрдп рдерд╛ред рдФрд░ рдкрд╣рд▓реЗ рд╣реА рджрд┐рди рдореИрдВ Node.js. рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛

Yandex.Money рдореЗрдВ рдлреНрд░рдВрдЯ-рдПрдВрдб рди рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рд╕рд░реНрд╡рд░ рд▓реЗрдпрд░ рдХреЗ рд▓рд┐рдП Node.ss рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдХрд╛рд░реНрдп рджреГрд╢реНрдп-рдЙрдиреНрдореБрдЦ рд░реВрдк рдореЗрдВ рддреИрдпрд╛рд░реА рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рд░реНрд╡рд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдФрд░ рд░реВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдмреИрдХрдПрдВрдб рд╕реЗ рдбреЗрдЯрд╛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рдирд╛ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛, рдореБрдЭреЗ рдХреБрдЫ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдЬрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдЖрддрд╛ рд╣реИ, рддреЛ Node.js рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╡реЗрдм рдкреЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╣рдо рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЛ рд╕рд░реНрд╡рд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рд▓рд┐рдВрдХ рдХреЗ рдмрд┐рдирд╛ рдЖрдВрддрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рд╣рдордиреЗ Koa2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рд╕реЗ рдкреНрдпрд╛рд░ рдерд╛, рдФрд░ рд╣рдордиреЗ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП Koa2 рд╕реНрдЯреИрдХ рдкрд░ рд░рд╣рд╛ред рд▓реЗрдХрд┐рди рд╣рдо рдмрд╛рд╣рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Koa2 рдХреЛрдб рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ: рдврд╛рдВрдЪреЗ рдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЦреБрд▓реА рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реИрдВред

рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕реАрдорд╛рдВрдд рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Node.js рдХреА рдЬрдЧрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ , рд▓реЗрдХрд┐рди рддрдм рд╕реЗ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред Node.js 8 рдПрд▓рдЯреАрдПрд╕ рдмрди рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╣рдо Nginx рд╕рд░реНрд╡рд░ рдХреЛ рднреА рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реНрдЯреЗрдЯрд┐рдХреНрд╕ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рддреЗ рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд░реНрд╡рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ Nginx рдФрд░ рдХрд┐рд╕реА рджрд┐рди CDN рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб рдХреЛ рд╡рд┐рдлрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рдкреВрд░реЗ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдмрд┐рдЯрдмрдХреЗрдЯ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЬреЗрдирдХрд┐рдВрд╕ рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВред рд╣рдо рд╕рдВрдХреБрд▓ рдХреА рд╕реНрдерд╛рдиреАрдп рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╣рдо рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ - рдпрд╣ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ рдЬрд╛рд╡реЗрджреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡реЗ рд╢рд╛рдВрдд рд╣реИрдВред рдЕрдкрдиреЗ рдмреИрдХрдПрдВрдбрд░реНрд╕ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░реЗрдВ;)

рд╣рдордиреЗ рдПрдХ рдкреНрд░рдпреЛрдЧ рднреА рдХрд┐рдпрд╛ - рд╣рдордиреЗ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ Node.js. рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреНрд░рд╢рд╛рд╕рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХреА, рдФрд░ рд╣рдореЗрдВ рдПрдХ рдкреБрд░рд╛рдиреА рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рднреА рдмрдЪрд╛рдпрд╛ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рддреА рдереАред

рдФрд░ рдкреВрд░рд╛ рдвреЗрд░ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ


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

рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ BEM рд╕рдм рдХреБрдЫ рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

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

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдвреЗрд░ рдкрд░ рдмрдиреЗ рджреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ:

- рдпрд╛рдВрдбреЗрдХреНрд╕ рдмреАрдИрдПрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдХ рдордВрдЪ;
- рд░рд┐рдПрдХреНрдЯ рдХреЗ рдпреБрд╡рд╛ рдФрд░ рдлреИрд╢рдиреЗрдмрд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ред

рдпрд╛рдВрдбреЗрдХреНрд╕ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ


рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдореБрдЭреЗ рдмреАрдИрдПрдо рд╕реЗ рдкреНрдпрд╛рд░ рдХреНрдпреЛрдВ рд╣реБрдЖред

рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рдг рд╕реНрддрд░


рд╕реНрддрд░, рд╕реНрддрд░, рд╕реНрддрд░ ... BEM! рд▓рд╛рдн!
рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рд╕реНрддрд░ BEM рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЪрд┐рддреНрд░ рджреЗрдЦреЗрдВ:


рдЫрд╡рд┐ рдУрд╡рд░рд▓реЗрдЗрдВрдЧ рдкрд░рддреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рдЕрдВрддрд┐рдо рддрд╕реНрд╡реАрд░ рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдкрд░рддреЛрдВ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИред рдкрд░рдд рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рд╛ рдпрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рддрд╕реНрд╡реАрд░ рдмрджрд▓ рдЬрд╛рдПрдЧреАред
рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рд╕реНрддрд░ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╣реИ:


рдШрдЯрдХ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛрдб рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рдмрдирддрд╛ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрддрд░ рдХреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░реЛрдВ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХреЛрдб рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░ рд╕реНрддрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрд░реЛрдд рдХреЛрдб рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрддрд░реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдХрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд▓рддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╕реНрддрд░ рд╣реИрдВ
рдКрдкрд░ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░ рдХрдИ рдкреБрдирд░реНрд╡рд┐рддреНрдд рд╕реНрддрд░ рджрд┐рдЦрд╛рддреА рд╣реИ:
  • рдореВрд▓ рд╕реНрддрд░ - рдкреБрд╕реНрддрдХрд╛рд▓рдп - рд╕реНрд░реЛрдд рдХреЛрдб рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ;
  • рдЕрдЧрд▓рд╛ рд╕реНрддрд░ - рдкреНрд░реЛрдЬреЗрдХреНрдЯ - рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ;
  • рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░ - рдордВрдЪ - рдПрдХ рд╣реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдирд╛рддрд╛ рд╣реИ;
  • рдХреЗрдХ рдкрд░ рдЪреЗрд░реА - рдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕реНрддрд░ - рдП / рдмреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред


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

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

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

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



рдЕрдм рд╣рдо BEM рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗ, рддрд╛рдХрд┐ рдпрд╣ рд╕рдордЭ рд╕рдХреЗрдВ рдХрд┐ BEM рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдиреЗ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдХрд╛рд░реНрдпрд▓рдп-XJST


рдореИрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ bem-xjst рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░реВрдБрдЧрд╛ред Yandex.Money рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЬреЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдмреЗрдо-рдПрдХреНрд╕рдЬрд╕реНрдЯ рдиреЗ рдЬреЗрдб рдХреЗ minuses рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛, рдЬреЛ рдореИрдВрдиреЗ рддрдм рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛ред Bem-xjst рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕ рдШреЛрд╖рдгрд╛рддреНрдордХ [1] рд╣реИрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдирд░рдХ [2] рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдШрдЯрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг [3] рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ:



рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ, рдЖрдк рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдЕрдВрджрд░ рд╕рд╣реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рд░рд╣рд╕реНрдп рд╣реИ;)
  • BEMJSON рд▓рд┐рдЦреЗрдВред BEMJSON рдПрдХ JSON рд╣реИ рдЬреЛ BEM рдЯреНрд░реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмреАрдИрдПрдо рдкреЗрдбрд╝ рдбреЛрдо рдХреЗ рдкреЗрдбрд╝ рдХрд╛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ;
  • bem-xjst BEMJSON рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреИрдЯрд░реНрди рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рддреБрд▓рдирд╛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдбреЛрдо рдЯреНрд░реА рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рд╕реАрдПрд╕рдПрд╕ рдирд┐рдпрдореЛрдВ рдХреЛ рдЕрдкрдиреЗ рдбреЛрдо рдиреЛрдбреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рдЖрдХрд╛рд░, рдкрд╛рда рдХрд╛ рд░рдВрдЧ, рдЗрдВрдбреЗрдВрдЯреЗрд╢рдиред Bem-xjst рднреА BEMJSON рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдиреЛрдбреНрд╕ рдХреЗ рдЕрдиреБрд░реВрдк рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рдЯреИрдЧ, рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рд╕рд╛рдордЧреНрд░реАред "рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдВ" рдХрд╛ рдЕрд░реНрде рд╣реИ рдЗрд╕рд╕реЗ рдПрдХ HTML рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ред BEMJSON рд╕реЗ HTML рдкреАрдврд╝реА рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди - BEMHTML рдореЗрдВ рд╕реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд┐рдЦрдирд╛ рд╕рд░рд▓ рд╣реИ: рдЗрдХрд╛рдИ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди HTML рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗред рд╕рд╛рд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реИред рд╕рд╣реА рдЗрдХрд╛рдЗрдпрд╛рдБ рдЕрдЪреНрдЫреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдХреБрдВрдЬреА рд╣реИрдВ!

рдЖрдкрдХреА рджрд╛рдврд╝реА рдЬрд┐рддрдиреА рд▓рдВрдмреА рд╣реЛрдЧреА, рдЙрддрдиреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд╛рдо рдореЗрдВ рдПрдХ рд╕рдВрджрд░реНрдн рджреЗрдЦрд╛ рд╣реИ: XSLT (eXtensible Stylesheet Language Transformations) => XJST (eXtensible JavaScript Transformations)ред рдпрд╣ XSLT рд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдмрд╣реБрдд рдШреЛрд╖рдгрд╛рддреНрдордХ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ XSLT рдХреНрдпрд╛ рд╣реИ, рддреЛ рдЦреБрдж рдХреЛ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╕рдордЭреЗрдВ :)

Bem-xjst isomorphic рд╣реИред рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ HTML рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдмрджрд▓рддреЗ рд╣реИрдВред рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЯреЗрдВрдкрд▓реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдмреАрдПрдо-рдПрдХреНрд╕рдЬрд╕реНрдЯ рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ-рдХрд╛рд░реНрдпрд▓рдп


рдмреЗрдо-рдПрдХреНрд╕рдЬрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд╣рдо рдЖрдИ-рдмреЗрдо рдХреЗ рд╕рд╛рде рджреГрд╢реНрдп, рдФрд░ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред I-bem DOM рдХреЗ рдКрдкрд░ рдПрдХ рдЕрдореВрд░реНрддрддрд╛ рд╣реИ рдЬреЛ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдпрд╣ рд▓рд┐рдЦрдиреЗ рджреЗрддрд╛ рд╣реИ:



рдмрдЬрд╛рдп:



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

I-bem рдЖрдкрдХреЛ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдХ рдХреЗ рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ [1]ред рдпрд╣ рдШреЛрд╖рдгрд╛рддреНрдордХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред I-bem рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдИрд╡реЗрдВрдЯ рдПрдорд┐рдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рдЬрдм рд░рд╛рдЬреНрдп рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдШрдЯрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдРрд╕реА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЕрдиреНрдп рдШрдЯрдХ [2] рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ BEM рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  • domReady i-bem рдЗрд╡реЗрдВрдЯ рдХреЗ рджреНрд╡рд╛рд░рд╛, рдпрд╣ DOM рдЯреНрд░реА рдореЗрдВ рдШрдЯрдХреЛрдВ (рдмреНрд▓реЙрдХ) рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ - рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдЬреЗрдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдмреНрд▓реЙрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ;
  • рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдирд╛рдУрдВ рдХреА рдШрдЯрдирд╛ рдкрд░, рд╣рдо рд░рд╛рдЬреНрдп рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд▓реЙрдХ рдорд╛рд░реНрдХрд░реЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рд░реНрдХрд░реЛрдВ рдХреА рднреВрдорд┐рдХрд╛ рд╕реАрдПрд╕рдПрд╕ рдХрдХреНрд╖рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╣рдо рдЗрдирдкреБрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ "рдЗрдирдкреБрдЯ_рдлреЛрдХрд╕" рд╢реНрд░реЗрдгреА рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдорд╛рд░реНрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ;
  • рдРрд╕реЗ рдорд╛рд░реНрдХрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, i-bem рдмреНрд▓реЙрдХ рдХреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдмреИрдХ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдЦрди рддрд░реНрдХ рд╕рд░рд▓ рд╣реИ: рдЖрдкрдХреЛ рдЗрди рд░рд╛рдЬреНрдпреЛрдВ (рдПрдХ рд╣реА рдХреЙрд▓рдмреИрдХ) рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд░рд╛рдЬреНрдпреЛрдВ (рд╕рдорд╛рди рдорд╛рд░реНрдХрд░) рдФрд░ рд╕реЗрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

I-bem рдХреЗ рд╕рд╛рде, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рдПрдкреАрдЖрдИ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ?
рд╣рдо BEM рдХреЛ рдкреНрд░реЗрдордкреВрд░реНрдгрддрд╛, рдЖрд╕рд╛рди рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдЗрд╕рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рдиреАрдЪреЗ рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рд░реЗрдВрдбрд░рд┐рдВрдЧ, рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ BEM рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдЕрдиреНрдп рд╕реАрдорд╛рдУрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рд╕рдордп рдХреЗ рд╕рд╛рде, рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ BEM рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред

рдПрд╕рдкреАрдП рдХреЗ рд╕рд╛рде рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рдорд╕реЗ рдЕрдиреБрдХреВрд▓рди рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдвреЗрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рд░рд┐рдПрдХреНрдЯ рдХреЛ рдЪреБрдирд╛ред

рдирдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдкрд▓ рд╕реНрдЯреИрдХ


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

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

рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ


рд╕реНрд╡рддрдВрддреНрд░ BEM рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдПрдВрдЯрд┐рдЯреАрдЬ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдиреБрдХреВрд▓ рд╣реИред Yandex рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ bem-react-core рд▓рд┐рдЦрд╛ рдФрд░ рдмреЗрд╕ рдШрдЯрдХ UI рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ React рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдЗрд╕рдХреЗ рдКрдкрд░ рдПрдХ рдПрдбрд╛рдкреНрдЯрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреА рд╣реИ рдЬреЛ рдЗрди рдШрдЯрдХреЛрдВ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ HOC рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкреВрд░реНрддрд┐ рдХрд░рддреА рд╣реИ:



рдРрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдШрдЯрдХ рдХреЗ рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ:



рдЖрд╡реЗрджрди рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рд╕рднреА рдШрдЯрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ:



рдпрд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рддрд╣рдд рджреЛ рдмрд╛рд░ рдмрдВрдбрд▓ рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред

рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ


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

рд╕рд╛рдордиреЗ рдХрд╛ рдЫреЛрд░ рдмрд╛рд░ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рд░рдЯреЗрдВрдбрд░ рдЙрд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ


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

рдореЗрдиреВ рдореЗрдВ:

  1. рдмрд░реНрдл рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ: рдмрд╛рд░ рдорд┐рдХреНрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ yml рдЪрд░ рдХреЛ рд╣рд┐рд▓рд╛рддрд╛ рд╣реИ рдФрд░ ansible рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред
  2. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рд╕реБрдЧрдВрдз рдХреЗ рд╕рд╛рде рдЬреВрд╕: рдмрд╛рд░ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рд░рд┐рдХреНрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдЧрд╛ - рд░рд╕ред
  3. рдмреБрдирд┐рдпрд╛рджреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕реЗрдЯред рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣рд╛ рд╣реИ

рд░рд╕рджрд╛рд░ рдРрдк рдмрдирд╛рдирд╛ рдЕрдм рдЖрд╕рд╛рди рд╣реИ - рдлреНрд░рдВрдЯреЗрдВрдб-рдмрд╛рд░ рдореЗрдХ рдЬреВрд╕ред рд░рд╕ рдмрдирд╛рдУ, рдпреБрджреНрдз рдирд╣реАрдВ! рдЬрдм Bar рдПрдХ рдирдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ Juice рд╕реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ: package.json, .babelrc, рдореБрдЦреНрдп рдорд┐рдбрд▓рд╡реЗрдпрд░ рдФрд░ рд░реВрдЯ рдХреЛрдб, рд░реВрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛрдб рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдлреНрд░рдВрдЯреЗрдВрдб рдмрд╛рд░ рдирдП рдорд╛рдЗрдХреНрд░реЛрд╕реЙрд░реНрдХреНрд╕ рдХреЗ рдЖрд╡рдВрдЯрди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдФрд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

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



рд╕реНрдкреЙрдпрд▓рд░: рдкреНрдпрд╛рдЬ рдЪреБрдиреЗрдВред

рдХреНрдпрд╛ рд╣реБрдЖ рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реБрдЖ? рдЖрдЗрдП рд╕рдордЭрддреЗ рд╣реИрдВ


рдЧрддрд┐рд╢реАрд▓ рдЗрдВрдЯрд░рдлреЗрд╕


рдпрд╣ рдерд╛


рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рд░рди-рд╡реЗ рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреАрдПрдо-рдПрдХреНрд╕рдЬрд╕реНрдЯ рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред I-bem, рдмрджрд▓реЗ рдореЗрдВ, DOM рдЯреНрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдорд┐рддреНрд░ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рд╣рдо HTML рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдЖрдЗрдП рдШрдЯрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдЯрди рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:




рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, BEM рдХрд╛ рдХрдордЬреЛрд░ рдкрдХреНрд╖ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ: i-bem, bem-xjst рдХреЗ рд╕рд╛рде рджреЛрд╕реНрддреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдЬрд╛рдирдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИред рдпрд╣ рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреЗрдореНрдкрд▓реЗрдЯ [1] рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдШрдЯрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ [2]:

  • рдмреАрдИрдПрдо рдкреЗрдбрд╝ рдХреЗ рдПрдХ рдирдП рдЯреБрдХрдбрд╝реЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ [3];
  • рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдВ [4];
  • рдФрд░ рд╡рд░реНрддрдорд╛рди DOM рдиреЛрдб [5] рдкрд░ рдПрдХ рдЕрдиреНрдп рдШрдЯрдХ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред

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



рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред



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

рдмрди рдЧрдпрд╛ рд╣реИ


рд░рд┐рдПрдХреНрдЯ рдЖрдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдмрд░реНрдмрд╛рдж рдХрд░ рджрд┐рдпрд╛ред рд╡рд╣ рдЦреБрдж рдШрдЯрдХреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдЕрдм рдореИрдиреБрдЕрд▓ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреЛрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ DOM рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрддрд╛ рд╣реИред React.createElement рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╡рдВрд╢рдЬреЛрдВ рдХреЗ рд╕рд╛рде DOM рдиреЛрдб рдХрд╛ рдПрдХ js-object рдмрдирд╛рддрд╛ рд╣реИ - рдЗрд╕ рдШрдЯрдХ рдХрд╛ рд╡рд░реНрдЪреБрдЕрд▓ DOM, рдЬреЛ React рдХреЗ рдЕрдВрджрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдПрдХ рдШрдЯрдХ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рд░рд┐рдПрдХреНрдЯ рдирдП рд╡рд░реНрдЪреБрдЕрд▓ рдбреЛрдо рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рд╣реЗрдЬреЗ рдЧрдП рдФрд░ рдирдП рдХрд╛ рдЕрдВрддрд░, рдФрд░ рдХреЗрд╡рд▓ рдЙрд╕реА рдбреЛрдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдЙрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдХреЗрд╡рд▓ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ shouldComponentUpdateред рдпрд╣ рдПрдХ рд╕рдлрд▓рддрд╛ рд╣реИ!

рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг


рдпрд╣ рдерд╛


BEM рдореЗрдВ, рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдкреЗрдЬ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:



рдШрдЯрдХ рдЕрд▓рдЧ-рдерд▓рдЧ рд╣реИрдВ рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рдорд╛рди рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдХреЛрдВ рдореЗрдВ рдлреЗрдВрдХрдирд╛ рд╣реЛрдЧрд╛ [1]ред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рдШрдЯрдХ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ [2]ред

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

рдмрди рдЧрдпрд╛ рд╣реИ


Redux + рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ = <3
Redux рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ [1]:



рдШрдЯрдХ рдЦреБрдж рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХрдм рдФрд░ рдХрд┐рд╕ рдбреЗрдЯрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реИ:



рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдШрдЯрдХ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реИ [3] рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╣рд╛рдВ рдорд┐рд▓реЗрдЧрд╛: [рек]



рдФрд░ рд░рд┐рдПрдХреНрдЯ рдХрд░реЗрдЧрд╛ рдмрд╛рдХреА [5]:



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

рдЖрдкрдХреЛ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛


рд╕рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд░рд┐рдПрдХреНрдЯ рдкрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреА рднрд╛рд░реА рд░рд╛рд╢рд┐ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрд░реНрджрдирд╛рдХ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЖрдкрдХрд╛ рдХреЛрдб, рдЖрд╕рд╛рдиреА рд╕реЗ рдкрджрд╛рд╡рдирдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

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

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

рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдмрдиреНрд╕


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

рдЬреЗрдПрд╕ рдореЗрдВ рд╕реАрдПрд╕рдПрд╕


рдпрд╣ рдерд╛


рдЬреАрд╡рди рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЖрдЗрдХрди рдХреЛ рд░рдВрдЧреАрди рдФрд░ рдЪреЗрддрди рдХрд░реЗрдВ, рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ:



рдХреЛрдб рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ:



рд╕рд╣реА рд╣реИ, BEM рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреАрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:



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



рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдПрдиреАрдореЗрд╢рди рдХреА рдЕрд╡рдзрд┐ рдХреБрдЫ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ? рдлрд┐рд░ рд╣рдо jQuery рдореЗрдВ CSS рдПрдиреАрдореЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВрдЧреЗ рдФрд░ рдереЛрдбрд╝рд╛ рджреБрдЦреА рд╣реЛрдВрдЧреЗред

рдмрди рдЧрдпрд╛ рд╣реИ


рд╕реНрдЯрд╛рдЗрд▓-рдШрдЯрдХреЛрдВ , рдореИрдВ рддреБрдорд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ! рдЬреЗрдПрд╕ рдореЗрдВ рд╕реАрдПрд╕рдПрд╕ - рдПрдХ рдкреНрдпрд╛рд░!рдореЗрд░реЗ рдЖрдВрддрд░рд┐рдХ рдЯрд╛рдЗрдкреНрдЯрд░ рдЖрдирдиреНрдж:



рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ, рд╕реАрдПрд╕рдПрд╕ рдПрдиреАрдореЗрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдореИрдиреБрдЕрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдирдП рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдмреЛрдирд╕ред

рдЯрд╛рдЗрдкрд┐рдВрдЧ


рдпрд╣ рдерд╛


рд╣рдо jsDoc рдХреЗ рдЯрди рд▓рд┐рдЦрддреЗ рдереЗред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ:



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

рдмрди рдЧрдпрд╛ рд╣реИ


рдЯрдВрдХрдг рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдпрд╛ред рдкреНрд░рдХрд╛рд░ рдкрд░ "рдЯрд╛рдпрдХ", рдФрд░ рдореЗрд░реА рдЖрдВрдЦреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рд╡рд┐рдзрд┐ рдХреЗ рд╕рднреА рдЗрдВрд╕ рдФрд░ рдмрд╣рд┐рд╖реНрдХрд╛рд░ред рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА? Precommit рдЪреЗрдХрд░ рдкреНрд░рд╡рд╛рд╣ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ , рдФрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИред

рдореБрдЭреЗ рдкрд╣рд▓реА рдирдЬрд░ рдореЗрдВ рдкреНрд░рд╡рд╛рд╣ рдирд╛рдкрд╕рдВрдж рдерд╛ред рджрд┐рдирд╛рдВрдХ, рдкреНрд░рдмрдВрдзрдХ рдкрд┐рдВрдЧ рдкрд░ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ "рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ", рдФрд░ рдпрд╣рд╛рдБ "рд╕рдВрдкрддреНрддрд┐ рдЧрд╛рдпрдм рд╣реИ"ред рд▓реЗрдХрд┐рди рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ O_o рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:



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

рддреЛ рдФрд░ BEM рдирд╣реАрдВ?


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

BEM рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдИ-рдореЗрд▓ рдиреНрдпреВрдЬрд╝рд▓реЗрдЯрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдмреАрдИрдПрдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рд╕реАрдорд╛рдПрдВ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдЗрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП BEM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЙрдЪрд┐рдд рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдбрд┐рдЬрд╛рдЗрдирд░ рдмреАрдИрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрднреА-рдХрднреА рд▓реЗрдЖрдЙрдЯ рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рдкреВрд░реНрд╡-рдЗрдХрдЯреНрдареЗ рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд╛рддреЗ рд╣реИрдВред рдФрд░ рднрд▓реЗ рд╣реА рд╣рдо BEM рдкрд░ рд▓рд┐рдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВ, рдлрд┐рд░ рднреА рд╡рд╣ рд╣рдореЗрдВ рдЦреЛрдЬ рд▓реЗрдЧрд╛ :)

рдореИрдВрдиреЗ рдкрд╣рд▓рд╛ рднрд╛рдЧ рдкрдврд╝рд╛ред рдХреЛрдбрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?


рдореИрдВрдиреЗ рдмреАрдИрдПрдо рд╕реЗ рд░рд┐рдПрдХреНрдЯ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рдФрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╕рдордЭреАред

Yandex.Money рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯрд╛рдЗрдкрд╕реЗрдЯрд░ рдерд╛ рдФрд░ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ, рдореАрд▓ рдСрдлрд╝ рдЯрди HTML рдФрд░ JSX рдкрд░ рдмрд┐рддрд╛рдпрд╛ред рдореИрдВрдиреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рд╕рдореБрджрд╛рдп рдФрд░ рдЗрд╕рдХреА рдмрджрд▓рддреА рджреБрдирд┐рдпрд╛ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдпрд╛ред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдкрд╣рд▓реЗ рдПрдВрдЧреБрд▓рд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рджреВрд╕рд░реЗ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВред рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХреНрдпреЛрдВ рдмрджрд▓рдХрд░ jQuery.Ajax to Fetch, рдлрд┐рд░ Axch рдХреЗ рд╕рд╛рде Fetch рдХреЛ рдмрджрд▓рдирд╛ред

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

рд╕рднреА рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ!

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


All Articles