рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдХреАрд╡ рдЧреЛ рдореАрдЯрдЕрдк рдореЗ реирежрезрео:

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдЕрдЧреНрд░рдЧрдгреНрдп: - рд╕рд░реНрд╡рд╛рдВрдирд╛ рдирдорд╕реНрдХрд╛рд░! рдпреЗрдереЗ рдЖрд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж! рдЖрдЬ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рджреЛрди рдЕрдзрд┐рдХреГрдд рд╡рдХреНрддреЗ рдЖрд╣реЗрдд - рд▓реНрдпреЛрд╢рд╛ рдЖрдгрд┐ рд╡рд╛рдиреНрдпрд╛. рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдкреБрд░реЗрд╕рд╛ рд╡реЗрд│ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдгрдЦреА рджреЛрди рдЕрд╕рддреАрд▓. рдкрд╣рд┐рд▓рд╛ рд╕реНрдкреАрдХрд░ ре▓рд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣ рдЖрд╣реЗ, рддреЛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЧреЛрдлрд░рдЬреЗрдПрд╕рдмрджреНрджрд▓ рд╕рд╛рдВрдЧреЗрд▓.

ре▓рд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣ (рдпрд╛рдкреБрдвреЗ - рдПрдЬреА): тАУ рдореА рдПрдХ рдЧреЛ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрд╣реЗ рдЖрдгрд┐ рдореА рдЧреЛ рдордзреНрдпреЗ рд╡реЗрдм рд╕реЗрд╡рд╛ рд▓рд┐рд╣рд┐рддреЛ. рдХрдзреА рд╕рдореЛрд░рдЪреНрдпрд╛рд▓рд╛ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рд╡реЗ рд▓рд╛рдЧрддреЗ, рддрд░ рдХрдзреА рддреНрдпрд╛рдд рд╣рд╛рддрд╛рдиреЗ рдЙрддрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреЗ. рдорд▓рд╛ рдЧреЛ рдСрди рдж рдлреНрд░рдВрдЯрдПрдВрдбрдордзреАрд▓ рдорд╛рдЭреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рдмрджреНрджрд▓ рдЖрдгрд┐ рд╕рдВрд╢реЛрдзрдирд╛рдмрджреНрджрд▓ рдмреЛрд▓рд╛рдпрдЪреЗ рдЖрд╣реЗ.

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

рдлреНрд░рдВрдЯрдПрдВрдбрдордзреНрдпреЗ рдХрд╛рдп рдЪреВрдХ рдЖрд╣реЗ?

рдлреНрд░рдВрдЯрдПрдВрдбрд╕рд╣ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ рд╣реЗ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рд╕рд╣рдордд рдЖрд╣реЗ рдХрд╛?

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдкреБрд░реЗрд╢рд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рдирд╛рд╣реАрдд рдХрд╛? рд╕рдВрде рдмрд┐рд▓реНрдб? рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо? рдареАрдХ рдЖрд╣реЗ.

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

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

Javascript рдордзреНрдпреЗ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдирд╛рд╣реА. рдЖрддрд╛ рдореА рдорд╛рдЭреНрдпрд╛ рдХрд╛рдорд╛рдЪреНрдпрд╛ рджрд░рдореНрдпрд╛рди рдорд▓рд╛ рдЖрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреА рдирд╛рд╡реЗ рджреЗрдИрди рдЖрдгрд┐ рддреНрдпрд╛ рдХрд╢рд╛ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рддреЗ рд╕рд╛рдВрдЧреЗрди.

рд╕рд╛рдорд╛рдиреНрдпрдд: рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдорд▓рд╛ Javasript рдордзреНрдпреЗ рдХреНрд╡рдЪрд┐рддрдЪ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдореНрд╣рдЯрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ - рдЕрд╢рд╛ рдУрд│реА рдЖрд╣реЗрдд рдЬреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрдЪрд╛ рдкреНрд░рдХрд╛рд░ рджрд░реНрд╢рд╡рддрд╛рдд, рдкрд░рдВрддреБ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдпрд╛рдЪрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрд╢реА рдХрд╛рд╣реАрд╣реА рд╕рдВрдмрдВрдз рдирд╛рд╣реА. рд╣реА рд╕рдорд╕реНрдпрд╛ TypeScript (Javasript рд╡рд░ ре▓рдб-рдСрди) рдЖрдгрд┐ рдлреНрд▓реЛ (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреАрд▓ рд╕реНрдЯреЕрдЯрд┐рдХ-рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕рдХ) рдордзреНрдпреЗ рд╕реЛрдбрд╡рд▓реА рдЬрд╛рддреЗ. рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдлреНрд░рдВрдЯрдПрдВрдб рдЖрдзреАрдЪ Javascript рдордзреАрд▓ рдЦрд░рд╛рдм рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордЪреА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдкреЛрд╣реЛрдЪрд▓рд╛ рдЖрд╣реЗ.

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдХреЛрдгрддреАрд╣реА рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рдирд╛рд╣реА - рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдХрд╛рд╣реА рдЕрдВрдЧрднреВрдд рд╡рд╕реНрддреВ рдЖрдгрд┐ "рдЬрд╛рджреВ" рдХрд╛рд░реНрдпреЗ рдЖрд╣реЗрдд. рдкрд░рдВрддреБ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдЕрд╢реА рдХреЛрдгрддреАрд╣реА рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рдирд╛рд╣реА. рд╣реА рд╕рдорд╕реНрдпрд╛ jQuery рджреНрд╡рд╛рд░реЗ рдЖрдзреАрдЪ рд╕реЛрдбрд╡рд▓реА рдЧреЗрд▓реА рд╣реЛрддреА (рдкреНрд░рддреНрдпреЗрдХрд╛рдиреЗ рд╕рд░реНрд╡ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк, рдорджрддрдиреАрд╕, рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдлрдВрдХреНрд╢рдиреНрд╕рд╕рд╣ jQuery рд╡рд╛рдкрд░рд▓рд╛). рдЖрддрд╛ рдкреНрд░рддреНрдпреЗрдХрдЬрдг Lodash рд╡рд╛рдкрд░рддреЛ:

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдХреЙрд▓рдмреЕрдХ рдирд░рдХ. рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдкреНрд░рддреНрдпреЗрдХрд╛рдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реБрдорд╛рд░реЗ 5 рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рдкрд╛рд╣рд┐рд▓рд╛ рд╣реЛрддрд╛ рдЖрдгрд┐ рддреЛ рдХреЙрд▓рдмреЕрдХрдЪреНрдпрд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреНрдпрд╛ "рдиреВрдбрд▓" рд╕рд╛рд░рдЦрд╛ рджрд┐рд╕рдд рд╣реЛрддрд╛. рдЖрддрд╛ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ (ES-15 рдХрд┐рдВрд╡рд╛ ES-16 рдЪреНрдпрд╛ рд░рд┐рд▓реАрдЭрд╕рд╣), Javascript рдордзреНрдпреЗ рд╡рдЪрдиреЗ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗрдд рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рдереЛрдбрд╛ рд╡реЗрд│ рд╕реЛрдкрд╛ рд╢реНрд╡рд╛рд╕ рдШреЗрдК рд╢рдХрддреЛ.

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдкреНрд░реЙрдорд┐рд╕ рд╣реЗрд▓ рдпреЗрдИрдкрд░реНрдпрдВрдд... рдлреНрд░рдВрдЯ-рдПрдВрдб рдЗрдВрдбрд╕реНрдЯреНрд░реА рдХрд╢реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реЗ рдорд▓рд╛ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ рдиреЗрд╣рдореА рд╕реНрд╡рдд: рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рддрд░реА рд╡рд┐рдЪрд┐рддреНрд░ рдЬрдВрдЧрд▓рд╛рдд рдШреЗрдКрди рдЬрд╛рддрд╛рдд. рдЖрдореНрд╣реА рдЖрд╢реНрд╡рд╛рд╕рдирд╛рдВрд╡рд░ рдирд░рдХ рджреЗрдЦреАрд▓ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ. рдордЧ рдЖрдореНрд╣реА рдирд╡реАрди рдЖрджрд┐рдо - async/await рдЬреЛрдбреВрди рд╣реА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реА:

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдЕрд╕рд┐рдВрдХреНрд░реЛрдиреАрдЪреА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реА рдЖрд╣реЗ. Async/await рд╡рд┐рд╡рд┐рдз рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдмрд▒реНрдпрд╛рдкреИрдХреА рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрд╣реЗ. рдкрд╛рдпрдерди рдЖрдгрд┐ рдЗрддрд░рд╛рдВрдХрдбреЗ рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдЖрд╣реЗ - рддреЛ рдЦреВрдк рдЪрд╛рдВрдЧрд▓рд╛ рдЖрд╣реЗ. рд╕рдорд╕реНрдпрд╛ рд╕реБрдЯрд▓реА.

рдХреЛрдгрддреА рд╕рдорд╕реНрдпрд╛ рд╕реБрдЯрдд рдирд╛рд╣реА? рдлреНрд░реЗрдорд╡рд░реНрдХрдЪреА рдЭрдкрд╛рдЯреНрдпрд╛рдиреЗ рд╡рд╛рдврдгрд╛рд░реА рдЬрдЯрд┐рд▓рддрд╛, рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордЪреА рдЬрдЯрд┐рд▓рддрд╛ рдЖрдгрд┐ рд╕реНрд╡рддрдГ рдкреНрд░реЛрдЧреНрд░рд╛рдо.

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

  • Javascript рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдереЛрдбреА рд╡рд┐рдЪрд┐рддреНрд░ рдЖрд╣реЗ. ре▓рд░реЗ рдЖрдгрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдгрд┐ рдЗрддрд░ рд╡рд┐рдиреЛрдж рдЬреЛрдбрдгреНрдпрд╛рддреАрд▓ рд╕рдорд╕реНрдпрд╛ рдЖрдкрд▓реНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрдирд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗрдд.
  • рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╣реБ-рдкреНрд░рддрд┐рдорд╛ рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдЦреВрдк рдореЛрдареА рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рд╣реА рд╡рд┐рд╢реЗрд╖рддрдГ рджрд╛рдмрдгрд╛рд░реА рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ:
    • рдкреНрд░рддреНрдпреЗрдХрдЬрдг рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╢реИрд▓реАрдВрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рддреЛ - рдХрд╛рд╣реА рд░рдЪрдирд╛рддреНрдордХ рд▓рд┐рд╣рд┐рддрд╛рдд, рдХрд╛рд╣реА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд▓рд┐рд╣рд┐рддрд╛рдд, рднрд┐рдиреНрди рд╡рд┐рдХрд╕рдХ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд▓рд┐рд╣рд┐рддрд╛рдд;
    • рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рднрд┐рдиреНрди рдкреЕрдХреЗрдЬреЗрд╕ рд╡рд╛рдкрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рднрд┐рдиреНрди рдкреЕрдХреЗрдЬреЗрд╕рдордзреВрди, рднрд┐рдиреНрди рдкреНрд░рддрд┐рдорд╛рди;
    • Javasript рдордзреНрдпреЗ рдлрдВрдХреНрд╢рдирд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрд╕рд╣ рдЦреВрдк "рдордЬрд╛" рдЖрд╣реЗ - rambda рд▓рд╛рдпрдмреНрд░рд░реА рджрд┐рд╕рд▓реА рдЖрдгрд┐ рдЖрддрд╛ рдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдгреАрд╣реА рд╡рд╛рдЪреВ рд╢рдХрдд рдирд╛рд╣реА.

  • рдпрд╛ рд╕рд░реНрд╡рд╛рдВрдЪрд╛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдорд╡рд░ рдореЛрдард╛ рдкреНрд░рднрд╛рд╡ рдкрдбрддреЛ рдЖрдгрд┐ рддреЛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрдкрдгреЗ рд╡рд╛рдврд▓рд╛ рдЖрд╣реЗ. рдкреЕрдХреЗрдЬреЗрд╕ рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╡рд┐рд╕рдВрдЧрдд рдЖрд╣реЗрдд: рдХрд╛рд╣реА рдЖрд╢реНрд╡рд╛рд╕рдирд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗрдд, рдХрд╛рд╣реА async/рдкреНрд░рддреАрдХреНрд╖рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗрдд, рдХрд╛рд╣реА рдХреЙрд▓рдмреЕрдХрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗрдд. рддреЗрд╣реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреЕрд░рд╛рдбрд╛рдЗрдореНрд╕рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рддрд╛рдд!
  • рддреНрдпрд╛рдореБрд│реЗ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдгреЗ рдХрдареАрдг рд╣реЛрддреЗ. рдЬрд░ рддреБрдореНрд╣реА рдХреЛрдб рд╡рд╛рдЪреВ рд╢рдХрдд рдирд╕рд╛рд▓ рддрд░ рдмрдЧ рд╢реЛрдзрдгреЗ рдХрдареАрдг рдЖрд╣реЗ.

рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реА рдореНрд╣рдгрдЬреЗ рдХрд╛рдп?

Mozilla Foundation рдЖрдгрд┐ рдЗрддрд░ рдЕрдиреЗрдХ рдХрдВрдкрдиреНрдпрд╛рдВрдЪреНрдпрд╛ рдзрд╛рдбрд╕реА рд▓реЛрдХрд╛рдВрдиреА рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реА рд╕рд╛рд░рдЦреА рдЧреЛрд╖реНрдЯ рд╕рдореЛрд░ рдЖрдгрд▓реА. рд╣реЗ рдХрд╛рдп рдЖрд╣реЗ?

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

  • рд╣реЗ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдЖрд╣реЗ рдЬреЗ рдмрд╛рдпрдирд░реА рд╕реНрд╡рд░реВрдкрдирд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ.
  • рдмрд╛рдпрдирд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рддреЗрдереЗ рдкреЛрд╣реЛрдЪрддрд╛рдд рдЖрдгрд┐ рдЬрд╡рд│рдЬрд╡рд│ рдореВрд│рдкрдгреЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реЗ рдЬрд╛рддрд╛рдд, рдореНрд╣рдгрдЬреЗрдЪ, рдмреНрд░рд╛рдЙрдЭрд░рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбрдЪреЗ рд╕рд░реНрд╡ тАЬрдиреВрдбрд▓реНрд╕тАЭ рдкрд╛рд░реНрд╕ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рддреЗ.
  • рд╕рд░реНрд╡ рдмреНрд░рд╛рдЙрдЭрд░рдиреЗ рд╕рдорд░реНрдерди рдШреЛрд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.
  • рд╣рд╛ рдмрд╛рдпрдХреЛрдб рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рднрд╛рд╖реЗрд╕рд╛рдареА рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд┐рд╣реВ рд╢рдХрддрд╛.
  • рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реА рд╕рдкреЛрд░реНрдЯрд╕рд╣ рдЪрд╛рд░ рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЭрд░ рдЖрдзреАрдЪ рдкрд╛рдард╡рд▓реЗ рдЖрд╣реЗрдд.
  • рдЖрдореНрд╣реА рд▓рд╡рдХрд░рдЪ Go рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рд╕рдорд░реНрдердирд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдд рдЖрд╣реЛрдд. рд╣реЗ рдирд╡реАрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдзреАрдЪ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ: GOARCH=wasm GOOS=js (рд▓рд╡рдХрд░рдЪ). рдЖрддрд╛рдкрд░реНрдпрдВрдд, рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдЖрд╣реЗ, рддреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЕрд╕реЗ рд╡рд┐рдзрд╛рди рдЖрд╣реЗ рдХреА рддреЗ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдЧреЛ рдордзреНрдпреЗ рдЕрд╕реЗрд▓.

рдЖрддрд╛ рдХрд╛рдп рдХрд░рд╛рдпрдЪрдВ? рдЧреЛрдлрд░рдЬреЗрдПрд╕

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реАрд╕рд╛рдареА рд╕рдорд░реНрдерди рдирд╕рд▓реЗ рддрд░реА, рдЧреЛрдлрд░рдЬреЗрдПрд╕ рд╕рд╛рд░рдЦреЗ рдЯреНрд░рд╛рдиреНрд╕рдкрд╛рдЗрд▓рд░ рдЖрд╣реЗ.

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

  • рдЧреЛ рдХреЛрдб "рд╢реБрджреНрдз" рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдмрджрд▓рд▓рд╛ рдЖрд╣реЗ.
  • рд╕рд░реНрд╡ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЪрд╛рд▓рддреЗ - рдХреЛрдгрддреАрд╣реА рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдирд╛рд╣реАрдд рдЬреА рдХреЗрд╡рд│ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЭрд░рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗрдд (рд╣реЗ рд╡реНрд╣реЕрдирд┐рд▓рд╛ рдЬреЗрдПрд╕ рдЖрд╣реЗ, рдЬреЗ рдХрд╢рд╛рд╡рд░рд╣реА рдЪрд╛рд▓рддреЗ).
  • Go рдХрдбреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЬрд╡рд│рдкрд╛рд╕ рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрд╣реЗ, рдЬреНрдпрд╛рдд рдЧреЛрд░рд╛рдЙрдЯреАрди рдЖрдгрд┐ рдЪреЕрдиреЗрд▓рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ... рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рдбрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрд╕рд╛рдареА.
  • рдЬрд╡рд│рдЬрд╡рд│ рд╕рдВрдкреВрд░реНрдг рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ, рддреНрдпрд╛ рдкреЕрдХреЗрдЬреЗрд╕рд╢рд┐рд╡рд╛рдп рдЬреНрдпрд╛рдВрдирд╛ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рдд рдХрд╛рд╣реА рдЕрд░реНрде рдирд╛рд╣реА: syscall, рдиреЗрдЯ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж (рддреЗрдереЗ рдиреЗрдЯ/http рдХреНрд▓рд╛рдпрдВрдЯ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕рд░реНрд╡реНрд╣рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯ XMLHttpRequest рджреНрд╡рд╛рд░реЗ рдЕрдиреБрдХрд░рдг рдХреЗрд▓реЗ рдЖрд╣реЗ). рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рд╕рдВрдкреВрд░реНрдг рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ - рдпреЗрдереЗ рддреЗ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЖрд╣реЗ, рдпреЗрдереЗ Go рдЪреЗ stdlib рдЖрд╣реЗ, рдЬреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рдбрддреЗ.
  • Go рдордзреАрд▓ рд╕рдВрдкреВрд░реНрдг рдкреЕрдХреЗрдЬ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо, рд╕рд░реНрд╡ рддреГрддреАрдп рдкрдХреНрд╖ рдЙрдкрд╛рдп (рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдЗ.) GopherJS рд╡рд╛рдкрд░реВрди рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛рдд.

GopherJS рдорд┐рд│рд╡рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ - рддреЗ рдлрдХреНрдд рдПрдХ рдирд┐рдпрдорд┐рдд Go рдкреЕрдХреЗрдЬ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдорд┐рд│рд╡реВ, рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА GopherJS рдХрдорд╛рдВрдб рдЖрд╣реЗ:

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рд╣реЗ рдПрдХ рд▓рд╣рд╛рди рд╣реЕрд▓реЛ рд╡рд░реНрд▓реНрдб рдЖрд╣реЗ ...

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

...рдПрдХ рдирд┐рдпрдорд┐рдд рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдирд┐рдпрдорд┐рдд рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА fmt рдкреЕрдХреЗрдЬ рдЖрдгрд┐ рдмреНрд░рд╛рдЙрдЭрд░ API рдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрдгреНрдпрд╛рд╕рд╛рдареА Js рдмрдВрдзрдирдХрд╛рд░рдХ. Println рдЕрдЦреЗрд░реАрд╕ рдХрдиреНрд╕реЛрд▓ рд▓реЙрдЧрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдмреНрд░рд╛рдЙрдЭрд░ "Hello gophers" рд▓рд┐рд╣реЗрд▓! рд╣реЗ рдЕрдЧрджреА рд╕реЛрдкреЗ рдЖрд╣реЗ: рдЖрдореНрд╣реА GopherJS рдмрд┐рд▓реНрдб рдХрд░рддреЛ - рдЖрдореНрд╣реА рддреЗ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рд▓реЙрдиреНрдЪ рдХрд░рддреЛ - рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрд╛рд░реНрдп рдХрд░рддреЗ!

рдпрд╛ рдХреНрд╖рдгреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХрд╛рдп рдЖрд╣реЗ? рдмрд╛рдВрдзрдгреА

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рд╕рд░реНрд╡ рд▓реЛрдХрдкреНрд░рд┐рдп js рдлреНрд░реЗрдорд╡рд░реНрдХрд╕рд╛рдареА рдмрдВрдзрдиреЗ рдЖрд╣реЗрдд:

  • JQuery;
  • Angular.js;
  • рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рд╕рд╣ рдкреНрд▓реЙрдЯрд┐рдВрдЧ рдЖрдгрд┐ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА D3.js;
  • react.js;
  • VueJS;
  • рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд╕рд╛рдареА рджреЗрдЦреАрд▓ рд╕рдорд░реНрдерди рдЖрд╣реЗ (рдореНрд╣рдгрдЬреЗ, рдЖрдореНрд╣реА рдЖрдзреАрдЪ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд╡рд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рд╣реВ рд╢рдХрддреЛ);
  • рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдордЬреЗрджрд╛рд░ рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ WebGL (рдЖрдореНрд╣реА рдкреВрд░реНрдг-рдЧреНрд░рд╛рдлрд┐рдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдмрдирд╡реВ рд╢рдХрддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ 3D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рд╕рдВрдЧреАрдд рдЖрдгрд┐ рд╕рд░реНрд╡ рд╡рд╕реНрддреВрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ);
  • рдЖрдгрд┐ рд╕рд░реНрд╡ рд▓реЛрдХрдкреНрд░рд┐рдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдЗрддрд░ рдЕрдиреЗрдХ рдмрдВрдзрдиреЗ.

рдлреНрд░реЗрдорд╡рд░реНрдХ

  1. рд╡рд┐рд╢реЗрд╖рдд: GopherJS - Vecty рд╕рд╛рдареА рдЖрдзреАрдЪ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реА рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрд╣реЗ. рд╣реЗ React.js рдЪреЗ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд ре▓рдирд╛рд▓реЙрдЧ рдЖрд╣реЗ, рдкрд░рдВрддреБ GopherJS рдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╕рд╣ рдХреЗрд╡рд│ Go рдордзреНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.
  2. рдЧреЗрдо рдмреЕрдЧ рдЖрд╣реЗрдд (рдЖрд╢реНрдЪрд░реНрдп!). рдорд▓рд╛ рджреЛрди рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрдврд│рд▓реЗ:
    • рдЗрдВрдЧреЛ;
    • рдПрдмрд┐рдЯреЗрди.

рддреЗ рдХрд╕реЗ рджрд┐рд╕рддреЗ рдЖрдгрд┐ рддреБрдореНрд╣реА Go рдордзреНрдпреЗ рдЖрдзреАрдЪ рдХрд╛рдп рд▓рд┐рд╣реВ рд╢рдХрддрд╛ рдпрд╛рдЪреА рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рджрд╛рдЦрд╡рддреЛ:

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдХрд┐рдВрд╡рд╛ рд╣рд╛ рдкрд░реНрдпрд╛рдп (рдорд▓рд╛ 3D рд╢реВрдЯрд░ рд╕рд╛рдкрдбрд▓рд╛ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХрджрд╛рдЪрд┐рдд рддреЛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕реЗрд▓):

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдореА рдХрд╛рдп рдСрдлрд░ рдХрд░рдд рдЖрд╣реЗ?

рдЖрддрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЗрдВрдбрд╕реНрдЯреНрд░реАрдЪреА рдЕрд╢реА рдЕрд╡рд╕реНрдерд╛ рдЖрд╣реЗ рдХреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╡рд░реВрди рдЖрдзреА рдУрд░рдбрд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рднрд╛рд╖рд╛ рддрд┐рдереЗ рдзрд╛рд╡рддреАрд▓. рдЖрддрд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА тАЬрд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реАтАЭ рдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓. рддрд┐рдереЗ рдЧреЛрдлрд░ рдореНрд╣рдгреВрди рдЖрдкрд▓реА рдпреЛрдЧреНрдп рдЬрд╛рдЧрд╛ рдШреЗрдгреНрдпрд╛рдЪреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╛рдп рдЧрд░рдЬ рдЖрд╣реЗ?

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдЧреЛ рдиреЗ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХрдкрдгреЗ рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рд▓реЗ рдЖрд╣реЗ рдХреА рд╣реА рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЖрд╣реЗ рдЖрдгрд┐ UI рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрдкрдгреЗ рдХреЛрдгрддреАрд╣реА рд▓рд╛рдпрдмреНрд░рд░реА рдирд╛рд╣реАрдд. рдХрд╛рд╣реАрддрд░реА рдЖрд╣реЗ, рдкрдг рддреЗ рдЕрд░реНрдзреЗ рд╕реЛрдбреВрди рджрд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ, рдЕрд░реНрдзреЗ рдЕрдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ.

рдЖрдгрд┐ рдЖрддрд╛ Go рдордзреНрдпреЗ UI рд▓рд╛рдпрдмреНрд░рд░реА рдмрдирд╡рдгреНрдпрд╛рдЪреА рдЪрд╛рдВрдЧрд▓реА рд╕рдВрдзреА рдЖрд╣реЗ рдЬреА GopherJS рд╡рд░ рдЪрд╛рд▓реЗрд▓! рдЖрдкрдг рд╢реЗрд╡рдЯреА рдЖрдкрд▓реЗ рд╕реНрд╡рддрдГрдЪреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд┐рд╣реВ рд╢рдХрддрд╛! рд╣реА рдЕрд╢реА рд╡реЗрд│ рдЖрд╣реЗ рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд┐рд╣реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреЗ рдкрд╣рд┐рд▓реНрдпрд╛рдкреИрдХреА рдПрдХ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рд▓рд╡рдХрд░ рджрддреНрддрдХ рдорд┐рд│реЗрд▓ рдЖрдгрд┐ рддреБрдореНрд╣реА рдПрдХ рд╕реНрдЯрд╛рд░ рд╡реНрд╣рд╛рд▓ (рдЬрд░ рддреЗ рдПрдХ рдЪрд╛рдВрдЧрд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрд╕реЗрд▓).

рддреБрдореНрд╣реА рдЧреЛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрди рдЕрд╕рд▓реЗрд▓реА рдмрд░реАрдЪ рд╡реЗрдЧрд╡реЗрдЧрд│реА рдкреЕрдХреЗрдЬреЗрд╕ рдмреНрд░рд╛рдЙрдЭрд░рдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдиреБрд╕рд╛рд░ рдЬреБрд│рд╡реВрди рдШреЗрдК рд╢рдХрддрд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрд┐рди). рддреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдХрд╛рд░реНрдп рдХрд░рддреАрд▓, рдЖрдкрдг рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдВрдзрдиреЗ рдмрдирд╡реВ рд╢рдХрддрд╛ рдЬреЗрдгреЗрдХрд░реВрди рдЖрдкрдг рдереЗрдЯ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рд╕рд╛рдордЧреНрд░реА рд╕рд╣рдЬрдкрдгреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реВ рд╢рдХрддрд╛. рд╢рд┐рд╡рд╛рдп, рддреБрдореНрд╣реА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрдгрд┐ рдлреНрд░рдВрдЯ-рдПрдВрдбрд╡рд░ рд╕рдорд╛рди рдЧреЛрд╖реНрдЯ рд░реЗрдВрдбрд░ рдХрд░реВ рд╢рдХрдгрд╛рд░реА рд╕реЗрд╡рд╛, рд╕рдорд╛рди рдХреЛрдб рд╡рд╛рдкрд░реВрди рдмрдирд╡реВ рд╢рдХрддрд╛ - рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡реНрд╣рд▓рдкрд░рдирд╛ рдЖрд╡рдбрдгрд╛рд░реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ (рдлрдХреНрдд рдЖрддрд╛ Go рдордзреНрдпреЗ).

рдЖрдкрдг рдПрдХ рдЦреЗрд│ рд▓рд┐рд╣реВ рд╢рдХрддрд╛! рдлрдХреНрдд рдЧрдВрдордд рдореНрд╣рдгреВрди...

рдорд▓рд╛ рдПрд╡рдвреЗрдЪ рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рд╣реЛрддреЗ.

рдЕрд▓реЗрдХреНрд╕реА рдЧреНрд░реЕрдЪреЗрд╡реНрд╣: рд╕рдореЛрд░ рдЬрд╛

рдкреНрд░рд╢реНрди

рдкреНрд░рд╢реНрди (рдпрд╛рдкреБрдвреЗ Q рдореНрд╣рдгреВрди рд╕рдВрджрд░реНрднрд┐рдд): - рдореА Go рдХрд┐рдВрд╡рд╛ Js рдордзреНрдпреЗ рд▓рд┐рд╣реВ рдХрд╛?

AG: тАУ рддреБрдореНрд╣реА рджрд┐рдирдЪрд░реНрдпрд╛, рдЪреЕрдиреЗрд▓, рд╕рдВрд░рдЪрдирд╛, рдПрдореНрдмреЗрдбрд┐рдВрдЧ - рдЧреЛ рдордзреНрдпреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рд▓рд┐рд╣рд┐рддрд╛... рддреБрдореНрд╣реА рдЗрд╡реНрд╣реЗрдВрдЯрдЪреЗ рд╕рджрд╕реНрдпрддреНрд╡ рдШреНрдпрд╛, рддреЗрдереЗ рдлрдВрдХреНрд╢рди рдкрд╛рд╕ рдХрд░рд╛.

рдордзреНрдпреЗ: - рддрд░ рдореА "рдирдЧреНрди" Js рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рддреЛ?

AG: тАУ рдирд╛рд╣реА, рддреБрдореНрд╣реА Go рдордзреНрдпреЗ рд▓рд┐рд╣рд╛ рдЖрдгрд┐ рдмреНрд░рд╛рдЙрдЭрд░ API рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рд╛ (рдПрдкреАрдЖрдп рдмрджрд▓рд▓рд╛ рдирд╛рд╣реА). рддреБрдореНрд╣реА рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд▓рд┐рд╣реВ рд╢рдХрддрд╛ рдЬреЗрдгреЗрдХрд░реВрди рдЪреЕрдиреЗрд▓рд╡рд░ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреАрд▓ - рд╣реЗ рдЕрд╡рдШрдб рдирд╛рд╣реА.

рдордзреНрдпреЗ: - рдореЛрдмрд╛рдИрд▓рдЪреЗ рдХрд╛рдп?

AG: - рдореА рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдкрд╛рд╣рд┐рд▓реЗ: рдЬреЗрдПрд╕ рдЪрд╛рд▓рд╡рдгрд╛рд▒реНрдпрд╛ рдХреЙрд░реНрдбреЛрд╡реНрд╣рд╛ рдкреЕрдЪрд╕рд╛рдареА рдмрдВрдзрдиреЗ рдЖрд╣реЗрдд. рдореВрд│ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдордзреНрдпреЗ - рдорд▓рд╛ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА; рдХрджрд╛рдЪрд┐рдд рдЖрд╣реЗ, рдХрджрд╛рдЪрд┐рдд рдирд╛рд╣реА (рдорд▓рд╛ рд╡рд┐рд╢реЗрд╖ рд░рд╕ рдирд╡реНрд╣рддрд╛). N-go рдЧреЗрдо рдЗрдВрдЬрд┐рди рджреЛрдиреНрд╣реА рдореЛрдмрд╛рдИрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ - iOS рдЖрдгрд┐ Android рджреЛрдиреНрд╣реА.

рдордзреНрдпреЗ: - рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реАрдмрджреНрджрд▓ рдкреНрд░рд╢реНрди. рдХреЙрдореНрдкреНрд░реЗрд╢рди рдЖрдгрд┐ "рдЭрд┐рдкрд┐рдВрдЧ" рдЕрд╕реВрдирд╣реА, рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдЬрд╛рдЧрд╛ рдШреЗрддрд▓реА рдЬрд╛рдд рдЖрд╣реЗ... рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЖрдкрдг рд╕рдореЛрд░рдЪреНрдпрд╛ рдЬрдЧрд╛рд▓рд╛ рдЖрдгрдЦреА рдорд╛рд░рдгрд╛рд░ рдирд╛рд╣реА рдХрд╛?

AG: тАУ рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реА рд╣реЗ рдмрд╛рдпрдирд░реА рдлреЙрд░рдореЕрдЯ рдЖрд╣реЗ рдЖрдгрд┐ рдмрд╛рдпрдирд░реА рдмрд╛рдпрдирд░реА рдмрд╛рдпрдирд░реА рдордЬрдХреВрд░рд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЕрдВрддрд┐рдо рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реА... рддреБрдореНрд╣реА рд░рдирдЯрд╛рдЗрдорд╕рд╛рдареА рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЖрд╣рд╛рдд, рдкрд░рдВрддреБ рд╣реЗ рдорд╛рдирдХ Javascript рд▓рд╛рдпрдмреНрд░рд░реА рдирд╕рддрд╛рдирд╛ рдмрд╛рд╣реЗрд░ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рдХрд╛рд╣реА Lodash рд╡рд╛рдкрд░рд╛. Lodash рдХрд┐рддреА рдШреЗрддреЛ рдорд╛рд╣реАрдд рдирд╛рд╣реА.

рдордзреНрдпреЗ: - рдЕрд░реНрдерд╛рддрдЪ рд░рдирдЯрд╛рдЗрдордкреЗрдХреНрд╖рд╛ рдХрдореА...

AG: - "рд╢реБрджреНрдз" рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ?

рдордзреНрдпреЗ: - рд╣реЛрдп. рдкрд╛рдард╡рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЖрдореНрд╣реА рддреЗ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХрд░рддреЛ...

AG: тАУ рдкрдг рд╣рд╛ рдордЬрдХреВрд░ рдЖрд╣реЗ... рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдЦреВрдк рджрд┐рд╕рддреЗ, рдкрдг рдПрд╡рдвреЗрдЪ рдЖрд╣реЗ (рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╕рдВрдкреВрд░реНрдг рд░рдирдЯрд╛рдЗрдо рдЖрд╣реЗ). рдкреБрдвреЗ, рддреБрдореНрд╣реА рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рд▓рд┐рд╣рд╛, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдордЪреА рдмрд╛рдпрдирд░реА 1% рд╡рд╛рдвреЗрд▓. рдЖрддрд╛рдкрд░реНрдпрдВрдд рдорд▓рд╛ рд╣реЗ рд╕рдореЛрд░рдЪреНрдпрд╛рд▓рд╛ рдорд╛рд░рддрд╛рдирд╛ рджрд┐рд╕рдд рдирд╛рд╣реА. рд╢рд┐рд╡рд╛рдп, рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдкреЗрдХреНрд╖рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рдЬрд▓рдж рдХрд╛рд░реНрдп рдХрд░реЗрд▓ - рддреНрдпрд╛рд▓рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.

рдордзреНрдпреЗ: - рд╣рд╛ рдЕрдЬреВрдирд╣реА рдПрдХ рд╡рд╛рджрдЧреНрд░рд╕реНрдд рдореБрджреНрджрд╛ рдЖрд╣реЗ... "рд╡рд╕реНрдорд╛" (рд╡реЗрдм тАЛтАЛрдЕрд╕реЗрдВрдмреНрд▓реА) рдЪреА рдХреЛрдгрддреАрд╣реА рд╕рдВрджрд░реНрдн рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЕрджреНрдпрд╛рдк рдЭрд╛рд▓реЗрд▓реА рдирд╛рд╣реА рдЬреНрдпрд╛рдореБрд│реЗ рдХреЛрдгреАрд╣реА рдирд┐рдГрд╕рдВрджрд┐рдЧреНрдзрдкрдгреЗ рдиреНрдпрд╛рдп рдХрд░реВ рд╢рдХреЗрд▓. рд╡реИрдЪрд╛рд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рд╣реЛрдп: рдмрд╛рдпрдирд░реА рдЬрд▓рдж рдЕрд╕рд╛рд╡реА рд╣реЗ рдЖрдкрдг рд╕рд░реНрд╡рдЬрдг рд╕рдордЬрддреЛ, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ V8 рдЪреА рд╕рдзреНрдпрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЕрддрд┐рд╢рдп рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ.

AG: - рд╣реЛрдп.

рдордзреНрдпреЗ: - рддреЗрдереЗ рд╕рдВрдХрд▓рди рдЦрд░реЛрдЦрд░ рдЦреВрдк рдЫрд╛рди рдХрд╛рдо рдХрд░рддреЗ рдЖрдгрд┐ рд╣реЗ рддрдереНрдп рдирд╛рд╣реА рдХреА рдореЛрдард╛ рдлрд╛рдпрджрд╛ рд╣реЛрдИрд▓.

AG: - рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реА рджреЗрдЦреАрд▓ рдореЛрдареНрдпрд╛ рд▓реЛрдХрд╛рдВрдиреА рдмрдирд╡рд┐рд▓реА рдЖрд╣реЗ.

рдордзреНрдпреЗ: - рдорд▓рд╛ рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рд╡реЗрдм рдЕрд╕реЗрдВрдмреНрд▓реАрдЪрд╛ рдиреНрдпрд╛рдп рдХрд░рдгреЗ рдЕрджреНрдпрд╛рдк рдХрдареАрдг рдЖрд╣реЗ. рдЖрддрд╛ рдмрд░реАрдЪ рд╡рд░реНрд╖реЗ рд╕рдВрднрд╛рд╖рдгреЗ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдХрд╛рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрд▓рдмреНрдзреА рдЖрд╣реЗрдд рдЬреНрдпрд╛ рдЕрдиреБрднрд╡рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

AG: - рдХрджрд╛рдЪрд┐рдд. рдЖрдкрдг рдмрдШреВ.

рдордзреНрдпреЗ: - рдЖрдореНрд╣рд╛рд▓рд╛ рдмреЕрдХрдПрдВрдбрд╡рд░ рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реАрдд... рдХрджрд╛рдЪрд┐рдд рдЖрдореНрд╣реА рдпрд╛ рд╕рдорд╕реНрдпрд╛ рдлреНрд░рдВрдЯрдПрдВрдбрд╡рд░ рд╕реЛрдбрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд? рддрд┐рдереЗ рдХрд╢рд╛рд▓рд╛ рдЬрд╛рдпрдЪреЗ?

AG: - рдЖрдореНрд╣рд╛рд▓рд╛ рдлреНрд░рдВрдЯ рд▓рд╛рдЗрди рдХрд╛рдордЧрд╛рд░рд╛рдВрдЪрд╛ рд╕реНрдЯрд╛рдл рдареЗрд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓.

рдХрд╛рд╣реА рдЬрд╛рд╣рд┐рд░рд╛рддреА ЁЯЩВ

рдЖрдордЪреНрдпрд╛рд╕реЛрдмрдд рд░рд╛рд╣рд┐рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж. рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреЗ рд▓реЗрдЦ рдЖрд╡рдбрддрд╛рдд рдХрд╛? рдЕрдзрд┐рдХ рдордиреЛрд░рдВрдЬрдХ рд╕рд╛рдордЧреНрд░реА рдкрд╛рд╣реВ рдЗрдЪреНрдЫрд┐рддрд╛? рдСрд░реНрдбрд░ рджреЗрдКрди рдХрд┐рдВрд╡рд╛ рдорд┐рддреНрд░рд╛рдВрдирд╛ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░реВрди рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рдорд░реНрдерди рджреНрдпрд╛, $4.99 рдкрд╛рд╕реВрди рд╡рд┐рдХрд╕рдХрд╛рдВрд╕рд╛рдареА рдХреНрд▓рд╛рдЙрдб VPS, рдПрдВрдЯреНрд░реА-рд▓реЗрд╡реНрд╣рд▓ рд╕рд░реНрд╡реНрд╣рд░рдЪреЗ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдЕреЕрдирд╛рд▓реЙрдЧ, рдЬреЗ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЖрдордЪреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╢реЛрдзрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ: VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps рдмрджреНрджрд▓ рд╕рдВрдкреВрд░реНрдг рд╕рддреНрдп $19 рдкрд╛рд╕реВрди рдХрд┐рдВрд╡рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдХрд╕рд╛ рд╢реЗрдЕрд░ рдХрд░рд╛рдпрдЪрд╛? (RAID1 рдЖрдгрд┐ RAID10 рд╕рд╣ рдЙрдкрд▓рдмреНрдз, 24 рдХреЛрд░ рдкрд░реНрдпрдВрдд рдЖрдгрд┐ 40GB DDR4 рдкрд░реНрдпрдВрдд).

рдбреЗрд▓ R730xd рдНрдорд╕реНрдЯрд░рдбреЕрдордордзреАрд▓ рдЗрдХреНрд╡рд┐рдирд┐рдХреНрд╕ рдЯрд┐рдпрд░ IV рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдордзреНрдпреЗ 2 рдкрдЯ рд╕реНрд╡рд╕реНрдд? рдлрдХреНрдд рдЗрдереЗрдЪ 2 x рдЗрдВрдЯреЗрд▓ рдЯреЗрдЯреНрд░рд╛рдбреЗрдХрд╛-рдХреЛрд░ Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 рдЯреАрд╡реНрд╣реА $199 рдкрд╛рд╕реВрди рдиреЗрджрд░рд▓рдБрдб рдордзреНрдпреЗ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 рдкрд╛рд╕реВрди! рдмрджреНрджрд▓ рд╡рд╛рдЪрд╛ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЙрд░реНрдкреЛрд░реЗрд╢рди рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ. рдбреЗрд▓ R730xd E5-2650 v4 рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди 9000 рдпреБрд░реЛ рдХрд┐рдорддреАрдЪрд╛ рд╡рд░реНрдЧ?

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

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