
рддреЛ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ - рдпрд╣ рдПрдХ рдЖрдо рд▓рдбрд╝рд╛рдИ рдирд╣реАрдВ рд╣реИред рдпрд╣ CSS
рдмрдирд╛рдо CSS-in-JS
рдореЗрдВ рдирд╣реАрдВ рд╣реИ, atomic CSS
рдмрдирд╛рдо BEM
рдирд╣реАрдВ, LESS
рдмрдирд╛рдо SASS
ред рдпрд╣ рд▓рдбрд╝рд╛рдИ ORDER рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдпрд╣ рд▓рдбрд╝рд╛рдИ ORDER рдФрд░ CHAOS рдХреЗ рдмреАрдЪ рд╣реИред рдФрд░ ORDER рдФрд░ рдХреЗ рдмреАрдЪ, ... рдПрдХ рдФрд░ ORDERред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рд╕реАрдПрд╕рдПрд╕ рдЧреБрдгреЛрдВ рдХреЛ рдЫрд╛рдБрдЯрдиреЗ рдХреЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рди рдЬреНрдпрд╛рджрд╛, рди рдХрдоред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ 3 рддрд░реАрдХреЗ рд╣реИрдВ:
- рдпрд╣ рдордд рдХрд░реЛред рдХрд┐рд╕реА рднреА CSS рдХреЛ рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ рд▓рд┐рдЦреЗрдВред рдпрд╣ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХрд╛ рд╣реИ
- рд╕рдореВрд╣ рдЧреБрдг рднрд╛рд╡ рд╕реЗред рдмрд╕ рдХреБрдЫ рд╕рд╛рдорд╛рди рдПрдХ рд╕рд╛рде рд░рдЦреЗрдВред рдпрд╣ рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХрд╛ рд╣реИред
- рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди, рд▓реЗрдХрд┐рди рдХрдо рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХрд╛ред
рдЕрдм рд╕реЗ рдкрд╣рд▓реЗ рд░рд╛рд╕реНрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред
2012
рд╕реАрдПрд╕рдПрд╕-рдЯреНрд░рд┐рдХ рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рдорддрджрд╛рди рд╣реБрдЖ , рдФрд░ рдпрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

рдпрд╣ 2019 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рдХреНрдпрд╛ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛?
alpha sort
, рдПрдмреАрд╕реАрдПрд╕рдПрд╕ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЬреНрдЮрд╛рдд рд╣реИ, рдФрд░ рдПрдХ grouping
рдХрд╛рдлреА рдзреНрд╡рдирд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛
рдЗрд╕ рдкреНрд░рд┐рдЯрд┐рдпрд░ рдореБрджреНрджреЗ рд╕реЗ рдЖрдЗрдП рдПрдХ рдЖрджрд░реНрд╢ CHAOS рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
.wrapper { top: 20px; margin-left: 20px; display: flex; position: absolute; height: 100%; margin-bottom: 20px; border-radius: 5px; color: red; justify-content: center; margin-left: 2px; left: 0px; width: 100%; border: 1px solid red; }
рд╕реБрдВрджрд░? рдмрд┐рдирд╛ рдХрд┐рд╕реА рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рд╕рд╛рдорд╛рдиреНрдп рд╕реАрдПрд╕рдПрд╕ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
ABCSS
рдЗрд╕реЗ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ
.wrapper { border: 1px solid red; border-radius: 5px; color: red; display: flex; height: 100%; justify-content: center; left: 0px; margin-bottom: 20px; margin-left: 20px; margin-left: 2px; position: absolute; top: 20px; width: 100%; }
рдЗрд╕рдиреЗ рд╕рд┐рд░реНрдл рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ margin-lefts
ред рдЕрдЧрд▓реА рдмрд╛рд░ рдирдИ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╕рднреА рдЫрдВрдЯрд╛рдИ stylelint
рд╕реНрддрд░ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреА stylelint
рд╣реИред
рд╡рд░реНрдгрдорд╛рд▓рд╛ рдЫрдБрдЯрд╛рдИ рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн - рдЖрд╕рд╛рди рд╕рдВрдкрддреНрддрд┐ рд╕реНрдерд╛рдиред рдЖрдк рд╕рд┐рд░реНрдл рдПрдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреА рддрд░рд╣ рд╕реНрдХреИрдирд┐рдВрдЧ рдЯреЗрдмрд▓, рдФрд░ рд╣рд╛рдВ, рдпрд╣рд╛рдБ рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рд╕рдВрдкрддреНрддрд┐ рд╣реИред
рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди - height
width
рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рддреА рд╣реИ, left
top
рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдХреБрдЫ рджреВрд░реА рд╣реИред рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдорд┐рдХ рдЫрдБрдЯрд╛рдИ рд╕рдВрджрд░реНрдн рдорд┐рд╢реНрд░рдг рд╣реИ ред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдСрдирд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдСрдирд▓рд╛рдЗрди рдЯреВрд▓, IDEs рдФрд░ CLI рдЯреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЕрд▓реНрдлрд╝рд╛ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рдЕрд▓реНрдлрд╛ рд╕реЙрд░реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред - рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиред
рд╕рдореВрд╣
рдЗрд╕реЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ
.wrapper{ position: absolute; top: 20px; left: 0; display: flex; justify-content: center; width: 100%; height: 100%; margin-bottom: 20px; margin-left: 20px; margin-left: 2px; color: red; border: 1px solid red; border-radius: 5px; }
рдЗрд╕ рдмрд╛рд░ рдпрд╣ separation of concerns
рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИ - рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рдПрдХ рдЕрд░реНрде рдореЗрдВ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ "рдЖрдЙрдЯрд╕рд╛рдЗрдб-рдЗрди" рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд▓реЗрдЖрдЙрдЯ рдЧреБрдг (рд╕реНрдерд┐рддрд┐, рдлреНрд▓реЛрдЯ, рд╕реНрдкрд╖реНрдЯ, рдкреНрд░рджрд░реНрд╢рди)
- рдмреЙрдХреНрд╕ рдореЙрдбрд▓ рдЧреБрдг (рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ, рдорд╛рд░реНрдЬрд┐рди, рдкреИрдбрд┐рдВрдЧ)
- рджреГрд╢реНрдп рдЧреБрдг (рд░рдВрдЧ, рдкреГрд╖реНрдарднреВрдорд┐, рд╕реАрдорд╛, рдмреЙрдХреНрд╕-рдЫрд╛рдпрд╛)
- рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдЧреБрдг (рдлрд╝реЙрдиреНрдЯ-рдЖрдХрд╛рд░, рдлрд╝реЙрдиреНрдЯ-рдкрд░рд┐рд╡рд╛рд░, рдкрд╛рда-рд╕рдВрд░реЗрдЦрдг, рдкрд╛рда-рдкрд░рд┐рд╡рд░реНрддрди)
- рд╡рд┐рд╡рд┐рдз рдЧреБрдг (рдХрд░реНрд╕рд░, рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣, рдЬреЗрдб-рдЗрдВрдбреЗрдХреНрд╕)
рдФрд░ рд╕рдорд╕реНрдпрд╛ - рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдирдХ рд╣реИрдВред рдЕрдзрд┐рдХ рдареЛрд╕ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП - рдкрд╛рдВрдЪ рд╕реЗ рдЕрдзрд┐рдХред рдФрд░ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╛ рдирд╣реАрдВ?
рдФрд░, рдлрд┐рд░ рднреА - рдЫрдБрдЯрд╛рдИ рдПрдХ рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рд╕рдордп CSSCOMB ред
рдореБрдЦреНрдп рд▓рд╛рдн - рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдлреНрд▓реЗрдХреНрд╕ рдЧреБрдг - рдПрдХ рд╕рд╛рдеред рд╕рднреА рд╕реНрдерд┐рддрд┐, рдмрд╛рдПрдВ, рджрд╛рдПрдВ, рдКрдкрд░, рдиреАрдЪреЗ - рдПрдХ рд╕рд╛рдеред
- рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдХрд╣реАрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдПрдХ рдЯреВрд▓ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рджреЗрдВред
- рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ - рдПрдХ рд╕рдореВрд╣ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ, рддреЛ рдПрдХ рд╕рдореВрд╣ рдХреЗ рдЕрдВрджрд░ рджреЗрдЦреЗрдВред рд╡реИрд╕реЗ - рдпрд╣ рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд░реИрдЦрд┐рдХ рдЦреЛрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдЕрд▓реНрдлрд╛ рд╕реЙрд░реНрдЯ рдХреЗ рд╕рд╛рде - рдЖрдк рд▓рд╛рдЗрди рдХреА рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рд╢реБрд░реБрдЖрдд рдФрд░ "рдЖрдкрдХрд╛" рдкрд╣рд▓рд╛ рдЕрдХреНрд╖рд░ рдХрд╛ рдЕрдВрддред рддрдм рдЖрдкрдХреЛ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдмрдмреНрд▓реЙрдХ рд╣реИ рдФрд░ рдпрд╣ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╡рд╣ рдореВрд▓ рд░реВрдк рд╕реЗ O (n) рд╣реИред рдХреБрдЫ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдмрд╛рдж - рдУ (рдПрди / 2), рдЬрдм рддрдХ рдЖрдк рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ "рдХрд╣рд╛рдВ" рдПрдХ рдкреНрд░реЛрдк рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИред
- рд╕рдореВрд╣ рд╕реЙрд░реНрдЯ рдХреЗ рд╕рд╛рде - рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ "рдХрд╣рд╛рдБ" рдПрдХ рдкреНрд░реЛрдк рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИ - рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЫреЛрдЯреЗ рдЙрдкрд╕рдореБрдЪреНрдЪрдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╣реИ - O (3), рди рдХрд┐ "n"ред
рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди - рдЖрдкрдХреЛ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдХреЙрдиреНрд╕рд░реНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реИред 99% рдЙрддреНрддрд░рджрд╛рддрд╛рдУрдВ рдиреЗ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ - рд╕рдореВрд╣рдмрджреНрдз рд╕реАрдПрд╕рдПрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЙрдкрдХрд░рдг рдХрд╛ рдХрд╛рдо рд╣реИ, рдЖрдкрдХрд╛ рдирд╣реАрдВред рдФрд░, рд╣рд╛рдБ, рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдорд╛рдирдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рдПрдХ рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрдирдордд

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рд╢реЛрдз рдХрд┐рдпрд╛ред
- 2012y, css-tricks рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ 45% devs рд╕рдореВрд╣реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, 14 - рдЕрд▓реНрдлрд╛ рд╕реЙрд░реНрдЯ, 39 рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
- рдЬрдирдордд рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдЖрдЬ (рдФрд░ рдЕрднреА рддрдХ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ) - рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП 50%, рдЕрд▓реНрдлрд╛ рдХреЗ рд▓рд┐рдП 25%, 25% рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
рд╕рдореВрд╣реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдХрд╛рд░рдг:
- рд╕рдореВрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рддрд░реАрдХрд╛ рд╣реИ: рдпрд╣ рд╡рд╣ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЛ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдПрдХ рд╡рд╛рдХреНрдп рдореЗрдВ рд╢рдмреНрдж рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рд╢реАрд░реНрд╖, рджрд╛рдПрдВ, рдиреАрдЪреЗ, рдмрд╛рдПрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╛рде рд╣реЛрддреЗ рд╣реИрдВ, рд╕реНрдерд┐рддрд┐ рдХреЗ рдареАрдХ рдмрд╛рдж: рдкреВрд░реНрдг ( рдЯреНрд╡рд┐рдЯрд░ )ред
- рд╕рдореВрд╣реЛрдВ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдкрд░рдорд╛рдгреБ рд╕реАрдПрд╕рдПрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдкрд░рдорд╛рдгреБ / рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ "рд╕рдореВрд╣" рд╕реЗ рдмрдВрдзреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рддрд░реАрдХрд╛ рд╣реИред рддреЛ "рд╕рд╛рдорд╛рдиреНрдп" рд╕реАрдПрд╕рдПрд╕ рд╕рдВрдпреБрдХреНрдд рдкрд░рдорд╛рдгреБрдУрдВ рдХреА рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ - рдпрд╛рдиреА рд╕рдореВрд╣рдмрджреНрдз ( рдЯреНрд╡рд┐рдЯрд░ )ред
- рдЫреЛрдЯреА рдЯреАрдореЗрдВ рдПрдХ рд╕рд╛рде рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░-рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ (рдЬреИрд╕реЗ рд╕реНрдерд┐рддрд┐ рдФрд░ рдмреЙрдХреНрд╕-рдореЙрдбрд▓) рдХреЛ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВред
- рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВред рдПрдХ рддрд░рдл, рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреНрд░рдо рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП), рдЗрд╕рд▓рд┐рдП рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдЫрд╛рдБрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдореБрдЭреЗ рдмрд╣реБрдд рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреАрдЪреЗ рдФрд░ рдКрдкрд░ рдЬреИрд╕реЗ рдЧреБрдг рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдареАрдХ рдмрдЧрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдкрд╣рд▓реЗ рдПрдирд┐рдореЗрд╢рди рдХреНрдпреЛрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдЪрд╛рд╣рд┐рдП? рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреНрд░рдо рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕реА рд╡рд┐рд╖рдорддрд╛рдПрдБ рд╣реИрдВред рджреВрд╕рд░реА рдУрд░, рдкреНрд░рдХрд╛рд░ рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рдЖрджреЗрд╢ рджреЗрдирд╛ рд╕рд╣реА рдЕрд░реНрде рд╣реИред рд╣рд░ рдлреЙрдиреНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШреЛрд╖рдгрд╛рдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рдлрд┐рд░ рд╕реЗ рдкреБрдирд░реНрдорд┐рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд▓рдШреБ рдХрдерд╛ рдкрдврд╝рдиреЗ рдХреА рддрд░рд╣ рдПрдХ рдирд┐рдпрдордмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред SASS рдЧрд╛рдЗрдб ред
- рд╕рдореВрд╣ рд╕реЙрд░реНрдЯ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ gzip рдХреЗ рдмрд╛рдж 2% рд╕реЗ рдЫреЛрдЯреА рд╣реИрдВред рдЬрд╛рджреВред рдпрд╣ рд▓реЗрдЦ рд╕реАрдПрд╕рдПрд╕ рдкреНрд░реЙрдкрд░ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 5 рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдЕрдзреНрдпрдпрди
рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдХрд╛рд░рдг
- "рд╕рдореВрд╣" рдорд╣рд╛рди рд╣реИ рдЕрдЧрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╢рд╛рдпрдж рд╕рдореВрд╣реАрдХрд░рдг рдХреЗ рдкреНрд░рд╡рд░реНрддрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЖрдк рд╡рд░реНрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд╣рдЪрд╣рд╛рдирд╛
- рдмрдбрд╝реА рдЯреАрдореЗрдВ рдЙрд╕ рд╕рд░рд▓рддрд╛ рдФрд░ рд╕рд╣рдЬрддрд╛ рдХреЛ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИред рдлрд┐рд░ рд╕реЗ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░-рд╕реАрдПрд╕рдПрд╕
рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг:
- рдореИрдВ "рд╕рдореВрд╣" рджреНрд╡рд╛рд░рд╛ рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд╣реИред рдкреНрд▓рд╕ рд╡рд╣рд╛рдБ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП addons рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреНрд░реЛрдо рджреЗрд╡ рдЙрдкрдХрд░рдг рдЧрдгрдирд╛ рд╢реИрд▓реА рдЕрд▓реНрдлрд╛ рд╣реИред
- рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдоред рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдЖрдкрдХреЗ рдкреИрдЯрд░реНрди рдХреЛ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
- рдореЗрд░реА рдЕрдкрдиреА рдХрдВрдкрдиреА рдЕрд▓реНрдлрд╛ рд╕реЙрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ (рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдереА)ред
- рдЧреВрдЧрд▓ рд╕реАрдПрд╕рдПрд╕ рдЧрд╛рдЗрдб рдПрдмреАрд╕реАрдПрд╕рдПрд╕ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗред
рддреЛ, TLDR
- рд╣рдо рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ (рдФрд░ рдореБрдЭреЗ рдЖрдорддреМрд░ рдкрд░ рд╢рд╛рдорд┐рд▓) рд╕реАрдПрд╕рдПрд╕ рд╕рд╣рд╛рд░рд╛ рдХреЗ рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрдХрд╡рд╛рд╕ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рднреА рд╕реАрдПрд╕рдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрдХрд╡рд╛рд╕ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВред
- CSS-in-JS рднреА рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
- рдкрд░рдорд╛рдгреБ рд╕реАрдПрд╕рдПрд╕ рдЬреИрд╕реА рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдВ рд╕рдореВрд╣реЛрдВ (рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛) рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд╣реИрдВ, рдЬрдмрдХрд┐ рдмреАрдИрдПрдо, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ:
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИ, рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд░рд╛рдп рд╡рд╛рд▓реА рдмрд╛рдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдпрд╣ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдордЬреЗрджрд╛рд░ рддрдереНрдп - рд╕рдореВрд╣ рдФрд░ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдХреНрд░рдо рд╕рд░реНрд╡реЛрддреНрддрдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реГрдХреНрд╖ рдХреА рддрд░рд╣, рд▓рд┐рд╕реНрдЯ-рдкреНрд▓рдЧ-рдЖрдпрд╛рдд
рдкрд╣рд▓реЗ рд╕рдореВрд╣ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреНрд░рдо рдХреЗрд╡рд▓ рдПрдХ рд╕рдореВрд╣ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм рддрдХ рдореИрдВрдиреЗ рдХрд╛рдлреА рдЙрдЪрд┐рдд рддрд░реНрдХ рдкреНрд░реЛ grouping
рд╕реБрдирд╛, рд▓реЗрдХрд┐рди рдПрдХ рднреА (рдореЗрд░реЗ рд▓рд┐рдП рдЙрдЪрд┐рдд) рдкреНрд░реЛ рдЕрд▓реНрдлрд╛ рд╕реЙрд░реНрдЯ рдирд╣реАрдВред
рдпрд╣ рднреА рджреЗрдЦреЗрдВ:
рдЕрдкрдирд╛ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ, рдФрд░ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВред рдореБрдЭреЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреЙрдкрдХреЙрд░реНрди рдорд┐рд▓реЗ рд╣реИрдВред