рдЖрдЬ (19 рдЕрдЧрд╕реНрдд) рдХреЛ, рдЗрдВрдЯреЗрд▓ рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рд╕реЗрдВрдЯрд░ рдиреЗ
рдиреЛрдб-рд╡реЗрдмрдХрд┐рдЯ рдЗрдВрдЬрди рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛
ред рдпрд╣ рдЗрдВрдЬрди, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдерд╛, рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЬреИрд╕реА рд╡рд┐рдВрдбреЛрдЬрд╝ (рдХреНрд░реЛрдорд┐рдпрдо рдХреЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдЦреЛрд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ
Node.js рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
- рддрд╛рдХрд┐ рдпрд╣ рд╡реЗрдм
рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдзрд┐рдпреЛрдВ (рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, HTML, рд╕реАрдПрд╕рдПрд╕) рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
GUI рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЖрд╕рд╛рди рдирд┐рд░реНрдорд╛рдг рдкреНрд░рджрд╛рди рдХрд░реЗ рд╡реЗрдмрд▓реЙрдЧ
, рдЖрджрд┐) рд╡рд┐рдВрдбреЛрдЬ, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдПред
рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ
рдирдВрдмрд░ 0.7.1 рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдФрд░ рдЗрд╕рдореЗрдВ рдиреЛрдб рдЗрдВрдЬрди
рд╕рдВрд╕реНрдХрд░рдг 0.10.12 рд╢рд╛рдорд┐рд▓ рд╣реИ , рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
![[рд╡рд┐рдВрдбреЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ]](https://habrastorage.org/storage2/844/e13/fd3/844e13fd3e5ed52e081a6c3a992f1c1e.png)
рдореИрдВрдиреЗ
рдЖрдЬ рдЬреАрдердм рдкрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЦреЛрд▓рд╛
, рддрд╛рдХрд┐ рдЬреЛ рд▓реЛрдЧ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
рдиреЛрдб-рд╡реЗрдмрдХрд┐рдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ
(рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб) рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪрд░рдг рдирд┐рдпрдорд┐рдд рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ,
рдиреЛрдб рдПрдкреАрдЖрдИ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛
рд╣реИ редрдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ (24 рдЬреБрд▓рд╛рдИ) рд╕реЗ рдХрдо,
рдореИрдВрдиреЗ рдиреЛрдб-рд╡реЗрдмрдХрд┐рдЯ (рд╕рдВрд╕реНрдХрд░рдг 0.6.3) рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА
рд╕рдореАрдХреНрд╖рд╛ рдХреА ред рддрдм рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рдмреАрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐,
рдиреЛрдб-рд╡реЗрдмрдХрд┐рдЯ рдореЗрдВ рдХрдИ рдЕрд╡рд┐рдЪрд╛рд░рд┐рдд рдирд╡рд╛рдЪрд╛рд░ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ:
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред рдЕрдм, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдореЗрдВ, рдЖрдк " " рдореБрдЦреНрдп ": " рдРрдк: // рд╣реЛрд╕реНрдЯрдирд╛рдо / рдкрд╛рде " " рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХреЛрдИ рднреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрд╕реНрдЯ рдирд╛рдо ( рд╣реЛрд╕реНрдЯрдирд╛рдо ) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкрде ( рдкрде ) рдХреЛ рдЙрд╕ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИред , рдЬрд┐рд╕рдореЗрдВ рд╕реНрд╡рдпрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ (рдлрд╝рд╛рдЗрд▓ package.json )ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рднрд╛рдЧ рдореЗрдВ (HTML, CSS рдЖрджрд┐ рдореЗрдВ), рд╕рднреА " рд░реВрдЯ рд╕реЗ рдкреВрд░реНрдг рдкрддреЗ " (рдПрдХ рд╕реНрд▓реИрд╢ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ) рдХреЛ рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рдПрдЧрд╛ - рдпрд╣ рдкреНрд░рднрд╛рд╡ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬреЛ рдиреЛрдб рдХреЗ рддрд╣рдд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗрдмрдХрд┐рдЯ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╡реЗрдм рдкрд░ рдШреВрдорддрд╛ рдерд╛ рдФрд░ "рд░реВрдЯ" рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрде рд╕рдорд╛рд╣рд┐рдд рдХрд░рддрд╛ рдерд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИред рдпрджрд┐ рдорд╛рдорд▓рд╛ рд╡рд┐рдкрд░реАрдд рд╣реИ (рд╕рднреА рдкрде рд╕рд╛рдкреЗрдХреНрд╖ рдереЗ), рддреЛ рдЖрдк рдирдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореВрд▓реНрдп рдореЗрдВ "рдореБрдЦреНрдп" рдиреАрдЪреЗ рд▓рд┐рдЦреЗрдВ, рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдкреНрд░рдХрдЯ рд╕реЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкрдеред (рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, "index.html" )
- рдЕрдм рдЖрдк рдПрдХ рдЗрдирдкреБрдЯ рддрддреНрд╡ рдХреЗ рдорд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЯрд╛рдЗрдк = "рдлрд╝рд╛рдЗрд▓" рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ; рдЗрд╕ рддрд░рд╣, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд╛ рдкреВрд░реНрдг рд╕реНрд╡рдЪрд╛рд▓рди рдЗрдВрдЯреНрд░рд╛-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдзрд┐ (рдЬреЛ рдиреЛрдб рдПрдкреАрдЖрдИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ) рджреНрд╡рд╛рд░рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдирдП App.manifest рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдорд╛рди рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ ('package.json') рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдиреЛрдб-рд╡реЗрдмрдХрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝ рд▓реА рдЬрд╛рддреА рд╣реИ ред
- App.open рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЕрдм рд╕рдВрдкреВрд░реНрдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ, рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдкреИрд░рд╛рдореАрдЯрд░ рдиреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдЕрд▓рдЧ рдШрдЯрдирд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рди рдХреЗрд╡рд▓ рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдХреБрдЫ рдЕрдиреНрдп рдореВрд▓реНрдп рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝реНрд▓реИрдЧ)ред
- GetUserMedia API рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдм рд╕рдВрдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди (рдЬреИрд╕реЗ рдХрд┐ Chrome рдЗрдЪреНрдЫрд┐рдд рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ ) рдХреА рдПрдХ рдкреНрд░рддрд┐ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрди рдмрдЧреЛрдВ рдХреЛ рднреА рдареАрдХ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд╣рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреНрд░реИрд╢ рдпрд╛ рдлреНрд░реАрдЬ рд╣реЛ рдЧрдП рдереЗред