8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк

тАЬрдирд╡рд╢рд┐рдХреНрдпрд╛рдиреЗ рдкреНрд░рдпрддреНрди рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдорд╛рд╕реНрдЯрд░ рдЬрд╛рд╕реНрдд рдЪреБрдХрд╛ рдХрд░рддреЛтАЭ

рдЖрдореНрд╣реА 8 рдкреНрд░рдХрд▓реНрдк рдкрд░реНрдпрд╛рдп рдСрдлрд░ рдХрд░рддреЛ рдЬреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЕрдиреБрднрд╡ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА "рдордЬреЗрд╕рд╛рдареА" рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рдкреНрд░рдХрд▓реНрдк 1. рдЯреНрд░реЗрд▓реЛ рдХреНрд▓реЛрди

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк

рдЗрдВрдбреНрд░реЗрдХ рд▓рд╛рд╕рди рдХрдбреВрди рдЯреНрд░реЗрд▓реЛ рдХреНрд▓реЛрди.

рддреБрдореНрд╣реА рдХрд╛рдп рд╢рд┐рдХрд╛рд▓:

  • рд╡рд┐рдирдВрддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рд░реНрдЧрд╛рдВрдЪреА рд╕рдВрдШрдЯрдирд╛ (рд░рд╛рдЙрдЯрд┐рдВрдЧ).
  • рдбреНрд░реЕрдЧ рдЖрдгрд┐ рдбреНрд░реЙрдк рдХрд░рд╛.
  • рдирд╡реАрди рд╡рд╕реНрддреВ (рдмреЛрд░реНрдб, рдпрд╛рджреНрдпрд╛, рдХрд╛рд░реНрдб) рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ.
  • рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рдЖрдгрд┐ рддрдкрд╛рд╕рдгреЗ.
  • рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ: рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ, рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдХрд╕рд╛ рд╕реЗрд╡реНрд╣ рдХрд░рд╛рдпрдЪрд╛, рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬрдордзреАрд▓ рдбреЗрдЯрд╛ рдХрд╕рд╛ рд╡рд╛рдЪрд╛рдпрдЪрд╛.
  • рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ: рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╕рд╛ рд╡рд╛рдкрд░рд╛рдпрдЪрд╛, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдбреЗрдЯрд╛ рдХрд╕рд╛ рд╕реЗрд╡реНрд╣ рдХрд░рд╛рдпрдЪрд╛, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдбреЗрдЯрд╛ рдХрд╕рд╛ рд╡рд╛рдЪрд╛рдпрдЪрд╛.

рдпреЗрдереЗ рднрд╛рдВрдбрд╛рд░рд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ, React+Redux рдордзреНрдпреЗ рдмрдирд╡рд▓реЗ рдЖрд╣реЗ.

рдкреНрд░рдХрд▓реНрдк 2. рдкреНрд░рд╢рд╛рд╕рди рдкреЕрдиреЗрд▓

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк
рдЧрд┐рдердм рд░реЗрдкреЙрдЬрд┐рдЯрд░реА.

рдПрдХ рд╕рд╛рдзрд╛ CRUD рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА рд╢рд┐рдХрдгреНрдпрд╛рд╕рд╛рдареА рдЖрджрд░реНрд╢. рдЪрд▓рд╛ рдЬрд╛рдгреВрди рдШреЗрдКрдпрд╛:

  • рд╡рд╛рдкрд░рдХрд░реНрддреЗ рддрдпрд╛рд░ рдХрд░рд╛, рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛.
  • рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрд╛ - рд╡рд╛рдкрд░рдХрд░реНрддреЗ рддрдпрд╛рд░ рдХрд░рд╛, рд╡рд╛рдЪрд╛, рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛, рд╣рдЯрд╡рд╛.
  • рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдлреЙрд░реНрдорд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ.

рдкреНрд░реЛрдЬреЗрдХреНрдЯ 3. рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░рдиреНрд╕реА рдЯреНрд░реЕрдХрд░ (рдиреЗрдЯрд┐рд╡реНрд╣ рдореЛрдмрд╛рдИрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рди)

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк
Github рднрд╛рдВрдбрд╛рд░.

рдХрд╛рд╣реАрд╣реА: рд╕реНрд╡рд┐рдлреНрдЯ, рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡реНрд╣-рд╕реА, рд░рд┐рдЕреЕрдХреНрдЯ рдиреЗрдЯрд┐рд╡реНрд╣, рдЬрд╛рд╡рд╛, рдХреЛрдЯрд▓рд┐рди.

рдЪрд▓рд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реВ:

  • рдореВрд│ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд.
  • API рдордзреВрди рдбреЗрдЯрд╛ рдХрд╕рд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рд╛рдпрдЪрд╛.
  • рдореВрд│ рдкреГрд╖реНрда рд▓реЗрдЖрдЙрдЯ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд.
  • рдореЛрдмрд╛рдЗрд▓ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░рд╕рд╣ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рд╛рд╡реЗ.

рд╣реЗ API рд╡рд╛рдкрд░реВрди рдкрд╣рд╛. рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╛рд╣реАрддрд░реА рдЪрд╛рдВрдЧрд▓реЗ рдЖрдврд│рд▓реНрдпрд╛рд╕, рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд▓рд┐рд╣рд╛.

рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ рдпреЗрдереЗ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЖрд╣реЗ.

рдкреНрд░реЛрдЬреЗрдХреНрдЯ 4. рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рддреБрдордЪреА рд╕реНрд╡рддрдГрдЪреА рд╡реЗрдмрдкреЕрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯ рдХрд░рд╛

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк
рддрд╛рдВрддреНрд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рд╣рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╡реЗрдмрдкреЕрдХ рдЖрддреВрди рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рд╣реЗ рдПрдХ рдЕрддрд┐рд╢рдп рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдп рдЖрд╣реЗ. рдЖрддрд╛ рддреЗ тАЬрдмреНрд▓реЕрдХ рдмреЙрдХреНрд╕тАЭ рдирд╕реВрди рд╕рдордЬрдгреНрдпрд╛рдЬреЛрдЧреЗ рд╕рд╛рдзрди рдЕрд╕реЗрд▓.

рдЖрд╡рд╢реНрдпрдХрддрд╛:

  • es7 рддреЗ es5 (рдореВрд▓рднреВрдд) рд╕рдВрдХрд▓рд┐рдд рдХрд░рд╛.
  • jsx рддреЗ js - рдХрд┐рдВрд╡рд╛ - .vue рддреЗ .js рд╕рдВрдХрд▓рд┐рдд рдХрд░рд╛ (рддреБрдореНрд╣рд╛рд▓рд╛ рд▓реЛрдбрд░ рд╢рд┐рдХрд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓)
  • рд╡реЗрдмрдкреЕрдХ рдбреЗрд╡реНрд╣рд▓ рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рд╣реЙрдЯ рдореЙрдбреНрдпреВрд▓ рд░реАрд▓реЛрдбрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рд╛. (vue-cli рдЖрдгрд┐ create-react-app рджреЛрдиреНрд╣реА рд╡рд╛рдкрд░рддрд╛рдд)
  • Heroku, now.sh рдХрд┐рдВрд╡рд╛ Github рд╡рд╛рдкрд░рд╛, рд╡реЗрдмрдкреЕрдХ рдкреНрд░рдХрд▓реНрдк рдХрд╕реЗ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╢рд┐рдХрд╛.
  • css - scss, less, stylus рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдордЪрд╛ рдЖрд╡рдбрддрд╛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗрдЯ рдХрд░рд╛.
  • рд╡реЗрдмрдкреЕрдХрд╕рд╣ рдкреНрд░рддрд┐рдорд╛ рдЖрдгрд┐ svgs рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рд╢рд┐рдХрд╛.

рд╣реЗ рд╕рдВрдкреВрд░реНрдг рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрд╕рд╛рдареА рдПрдХ рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рд╕рдВрд╕рд╛рдзрди рдЖрд╣реЗ.

рдкреНрд░рдХрд▓реНрдк 5. рд╣реЕрдХрд░рдиреНрдпреВрдЬ рдХреНрд▓реЛрди

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк
рдкреНрд░рддреНрдпреЗрдХ рдЬреЗрдбреАрд▓рд╛ рд╕реНрд╡рддрдГрдЪреЗ рд╣реЕрдХрд░рдиреНрдпреВрдЬ рдмрдирд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╡рд╛рдЯреЗрдд рддреБрдореНрд╣реА рдХрд╛рдп рд╢рд┐рдХрд╛рд▓:

  • рд╣реЕрдХрд░рдиреНрдпреВрдЬ API рд╢реА рд╕рдВрд╡рд╛рдж рдХрд╕рд╛ рд╕рд╛рдзрд╛рд╡рд╛.
  • рд╕рд┐рдВрдЧрд▓ рдкреЗрдЬ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ.
  • рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдкрд╛рд╣рдгреЗ, рд╡реИрдпрдХреНрддрд┐рдХ рдЯрд┐рдкреНрдкрдгреНрдпрд╛, рдкреНрд░реЛрдлрд╛рдЗрд▓ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд╢реА рдХрд░рд╛рд╡реА.
  • рд╡рд┐рдирдВрддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рд░реНрдЧрд╛рдВрдЪреА рд╕рдВрдШрдЯрдирд╛ (рд░рд╛рдЙрдЯрд┐рдВрдЧ).

рдкреНрд░рдХрд▓реНрдк 6. рддреБрдбреБрд╢реЗрдЪрдХрд╛

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк
TodoMVC.

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

рд╢рд┐рдХрд╛:

  • рдирд╡реАрди рдХрд╛рд░реНрдпреЗ рддрдпрд╛рд░ рдХрд░рд╛.
  • рдлреАрд▓реНрдб рднрд░рд▓реЗ рдЖрд╣реЗрдд рдХрд╛ рддреЗ рддрдкрд╛рд╕рд╛.
  • рдлрд┐рд▓реНрдЯрд░ рдХрд╛рд░реНрдпреЗ (рдкреВрд░реНрдг, рд╕рдХреНрд░рд┐рдп, рд╕рд░реНрд╡). рд╡рд╛рдкрд░рд╛ filter ╨╕ reduce.
  • Javascript рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА рд╕рдордЬреВрди рдШреНрдпрд╛.

рдкреНрд░рдХрд▓реНрдк 7. рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреА рдбреНрд░реЕрдЧ рдЖрдгрд┐ рдбреНрд░реЙрдк рд╕реВрдЪреА

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк
Github рднрд╛рдВрдбрд╛рд░.

рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рдЙрдкрдпреБрдХреНрдд api рдбреНрд░реЕрдЧ рдЖрдгрд┐ рдбреНрд░реЙрдк рдХрд░рд╛.

рдЪрд▓рд╛ рдЬрд╛рдгреВрди рдШреЗрдКрдпрд╛:

  • API рдбреНрд░реЕрдЧ рдЖрдгрд┐ рдбреНрд░реЙрдк рдХрд░рд╛
  • рд╕рдореГрджреНрдз UI рддрдпрд╛рд░ рдХрд░рд╛

рдкреНрд░реЛрдЬреЗрдХреНрдЯ 8. рдореЗрд╕реЗрдВрдЬрд░ рдХреНрд▓реЛрди (рдиреЗрдЯрд┐рд╡реНрд╣ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди)

8 рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░рдХрд▓реНрдк
рд╡реЗрдм рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЖрдгрд┐ рдиреЗрдЯрд┐рд╡реНрд╣ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рджреЛрдиреНрд╣реА рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдордЬреЗрд▓, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЧреНрд░реЗ рдорд╛рд╕рдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХрд░реЗрд▓.

рдЖрдореНрд╣реА рдХрд╛рдп рдЕрднреНрдпрд╛рд╕ рдХрд░реВ:

  • рд╡реЗрдм рд╕реЙрдХреЗрдЯреНрд╕ (рдЭрдЯрдкрдЯ рд╕рдВрджреЗрд╢)
  • рдореВрд│ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд.
  • рдореВрд│ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреНрдпреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд.
  • рдиреЗрдЯрд┐рд╡реНрд╣ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рд╡рд┐рдирдВрддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рд░реНрдЧ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ.

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

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛