рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рд▓реИрдВрдЧреНрд╡реЗрдЬ рдореЗрдВ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╕рд░реНрд╡рд▓реЗрдЯ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рд▓реЗрдХрд░ рд╡рд░реНрддрдорд╛рди рд╕рдордп рддрдХ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИред

рд▓реЗрдЦ рдЕрдкрдиреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдореЗрдВ рдЕрдХрд╛рджрдорд┐рдХ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдмрддрд╛рдП рдЧрдП рд╕рднреА рддрдереНрдпреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдФрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗрд╡рд▓ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЬреНрдЮрд╛рди, рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп
рдЬрд╛рд╡рд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреА рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рдардХ рджреНрд╡рд╛рд░рд╛ рдЖрдЧреЗ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдирдореВрдирд╛ рдХреЛрдб
GitHub рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ
рд╣реИ :
рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдПрдХ
рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд▓реЗрдЦ рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рд╕реЗ рдЖрд╡реЗрджрди ред рд▓реЗрдЦрди рдХреЗ рд╕рдордп,
рдкрд╣рд▓реЗ рднрдВрдбрд╛рд░ рдореЗрдВ 37 рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рд╕рдордп рдХреЗ рд╕рд╛рде, рдЙрдирдХреА рд╕реВрдЪреА рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рдПрдЧреАред
рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдФрд░ рдЙрдирдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдЙрджреНрднрд╡ рдХреА рд╕рдордпрд░реЗрдЦрд╛
рдЖрд╕рд╛рди рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рд░рдгреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдЧреЗ рдЪрд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдЪрд┐рддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЯреЗрдмрд▓ рддрддреНрд╡реЛрдВ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╕рдореВрд╣реАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдЪреМрдЦрдЯреЗ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рд╣реИрдВред
рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЛ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд▓реА рдЧрдИ рд╣реИред рдкрд╣рд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ
ZeroTurnaround RebelLabs рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╕реВрдЪрдХрд╛рдВрдХ ред рдЗрд╕рдХрд╛ рдЖрдЦрд┐рд░реА рдЕрдкрдбреЗрдЯ 2017 рдХреЗ рдЕрдВрдд рдореЗрдВ рдерд╛ рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рджреЛ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдерд╛:
рдкрд╣рд▓рд╛ рдФрд░
рджреВрд╕рд░рд╛ ред рджреВрд╕рд░реЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЗ рд▓реЗрдЦрдХ,
рд╕рд╛рдЗрдорди рдореЗрдкрд▓ ,
Snyk рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдпреЛрдЧреА рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдФрд░ рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдПрдХ рджреВрд╕рд░рд╛ рд╕реНрд░реЛрдд рдЙрдирдХрд╛
рдЕрдзреНрдпрдпрди рд╣реИ , рдЬреЛ
рдЬрд╛рд╡рд╛ рдкрддреНрд░рд┐рдХрд╛, рдирд╡рдВрдмрд░ / рджрд┐рд╕рдВрдмрд░ 2018 (рдкреНрд░рд╢реНрди 17) рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рд╣реИред
рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереЗ, рд▓реЗрдХрд┐рди рдЬреЛ рдореИрдВ рдЕрднреА рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЙрдиреНрд╣реЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред
рдкрд╣рд▓реА рд╕рдордпрд░реЗрдЦрд╛ рдкрд░, рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рдорд╛рди рдХреНрд░рдо рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рд╕рдореВрд╣реЛрдВ рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╕реЗ рд░реИрдВрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдореВрд╣реЛрдВ (рд╡рд┐рдирд┐рд░реНрджреЗрд╢,
рд╕реНрдкреНрд░рд┐рдВрдЧ ,
рдЬреЗрдПрд╕рдПрдл ,
рдЬреЗрдПрдХреНрд╕-рдЖрд░рдПрд╕ ,
рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрдлрд╛рдЗрд▓ ) рдореЗрдВ, рддрддреНрд╡реЛрдВ рдХреЛ рдЙрдирдХреЗ рд╕реНрд╡рд░реВрдк рдХреЗ рдХрд╛рд▓рд╛рдиреБрдХреНрд░рдорд┐рдХ рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░реА рд╕рдордпрд░реЗрдЦрд╛ рдкрд░, рдЙрд╕реА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рддрд┐рдерд┐ рддрдХ рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ 2001 рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЗрд╡рд▓ рджреЛ рдореМрдЬреВрджрд╛ рдореБрдЦреНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ -
рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдФрд░
рд╕реНрдЯреНрд░рдЯреНрд╕ рдореЗрдВ рд╕реЗ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред 2014 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ,
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдерд╛ (рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдмрд╛рдж рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдФрд░
рд╕реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рдерд╛ (рдЗрд╕рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛)ред

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

рд╡рд┐рдирд┐рд░реНрджреЗрд╢
рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЖрдзрд╛рд░рд╢рд┐рд▓рд╛ рд╡реЗ рдорд╛рдирдХ рдФрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реЗ рдмрдиреЗ рд╣реИрдВред
рдЬрд╛рд╡рд╛ рд╕рдореБрджрд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ (
JCP ) рдирд╛рдордХ рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд
рдЬрд╛рд╡рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрдиреБрд░реЛрдз (
JSRs ) рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореМрдЬреВрдж рд╣реИрдВред
рдЬрд╛рд╡рд╛ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд
JSRs рдХреА рдПрдХ рд╕реВрдЪреА
рдпрд╣рд╛рдБ рд╣реИ ред рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ -
рд╕рд░реНрд╡рд▓реЗрдЯ рдФрд░
рдЬрд╛рд╡рд╛ рдИрдИ (рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдЕрдиреНрдп рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ)ред рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ
рдЬреЗрд╕реАрдкреА рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреЗ рдкрд╛рд╕
рдЬреЗрдПрд╕рдЖрд░ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИред
12 рд╕рд┐рддрдВрдмрд░, 2017 рд╕реЗ,
рдЬрд╛рд╡рд╛ рдИрдИ рдХреЛ рдЧреНрд░рд╣рдг рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЗ рдкреНрд░рдмрдВрдзрди
рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд
рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЗрд╕реЗ
рдЬрдХрд╛рд░реНрддрд╛ рдИрдИ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреЗрд╕реАрдкреА рдХреЛ рдЬрдХрд╛рд░реНрддрд╛ рдИрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреА
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк
рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд
рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
HTTP рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдмрд┐рдирд╛ рдХрд┐рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВред рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЗ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдВрдХ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЕрдзрд┐рдХ рд╕рдорд╛рди рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕рд░реНрд╡рд▓реЗрдЯ-xml рдореЙрдбреНрдпреВрд▓)
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ web.xml
, рд╡рд░реНрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐
рдЧреЗрдЯрдЧреЗрдЯ () рд╡рд┐рдзрд┐ рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╕рд╛рд░ рд╡рд░реНрдЧ
HttpServlet рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рд░
рд╕рд░реНрд╡рд▓реЗрдЯ 2.2 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (1999) рдореЗрдВ рддреИрдирд╛рддреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░
web.xml
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕рд░реНрд╡рд▓реЗрдЯ-рдПрдиреЛрдЯреЗрд╢рди рдореЙрдбреНрдпреВрд▓),
web.xml
рддреИрдирд╛рддреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░
web.xml
рдЧрд╛рдпрдм рд╣реИред рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрдЯ рдХреНрд▓рд╛рд╕
HttpServlet рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдЙрд╕реА рд╢реНрд░реЗрдгреА рдХреЗ рдКрдкрд░
, рдПрдХ
рд╡реЗрдмрд╕реНрд╡рд╛рд▓реЗрдЯ рдПрдиреЛрдЯреЗрд╢рди рд╣реИ рдЬреЛ
рд╕рд░реНрд╡рд▓реЗрдЯ 3.0 (2011) рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕рд░реНрд╡рд▓реЗрдЯ-рдЗрдВрдЯрд░рдлрд╝реЗрд╕-рдЬрд╛рд░ рдФрд░
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕рд░реНрд╡рд▓реЗрдЯ-рдЗрдВрдЯрд░рдлрд╝реЗрд╕-рдпреБрджреНрдз рдореЙрдбреНрдпреВрд▓) рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐
рд╕рд░реНрд╡рд▓реЗрдЯрдХреЛрдЗрдиреНрдЯрд░рдиреЗрдЯрд░рд▓рд╛рдЗрдЬрд╝рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреЛ
рд╕рд░реНрд╡рд▓реЗрдЯ 3.0 рдореЗрдВ рднреА рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдкрд╣рд▓реЗ рдореЙрдбреНрдпреВрд▓
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕рд░реНрд╡рд▓реЗрдЯ-рдЗрдВрдЯрд░рдлрд╝реЗрд╕-рдЬрд╛рд░ рдореЗрдВ рдЕрднреА рднреА рдХреЛрдИ
web.xml
рддреИрдирд╛рддреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░
web.xml
, рдПрдмреНрд╕рдЯреНрд░реИрдХреНрдЯ рдХреНрд▓рд╛рд╕
HttpServlet рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рд╡рд░реНрдЧ рд╣реИред
рд╕рд░реНрд╡рд▓реЗрдЯ 3.0 рд╕рд░реНрд╡рд▓реЗрдЯ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
ServletContainerInitializer рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд╕рд░реНрд╡рд▓реЗрдЯ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ред
рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (
SPI ) рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
ServletContainerInitializer рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрдЧ
META-INF/services/javax.servlet.ServletContainerInitializer
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдореЙрдбреНрдпреВрд▓ рдПрдХ JAR рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИред WAR рдлрд╝рд╛рдЗрд▓ рджреВрд╕рд░рд╛ рдореЙрдбреНрдпреВрд▓
helloworld-web-servlet-interface-war рдмрдирд╛рддрд╛ рд╣реИ, рдкрд╣рд▓рд╛ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕реВрдЪреА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред
ServletContainerInitializer рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрд░рдорд╢рдГ
JSF рдФрд░
рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХреЗ
FacesInitializer рдФрд░
SpringServletContainerInitializer рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд░реНрд╡рд▓реЗрдЯ 3.0 рдиреЗ рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рдХреА рд╢реБрд░реБрдЖрдд рдХреА,
рд╕рд░реНрд╡рд▓реЗрдЯ 3.1 (2013) рдореЗрдВ -
рд╕рд░реНрд╡рд▓реЗрдЯ 4.0 (2017) рдореЗрдВ
HTTP- 2 рд╕рдкреЛрд░реНрдЯ рдореЗрдВ рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ I / O,ред
рд╡рд╕рдВрдд рд╕реЗ рдкрд╣рд▓реЗ рдЙрдореНрд░
рдЕрдкрд╛рдЪреЗ рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдПрдХ рд╕рдЪреНрдЪреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рд╡рд╛рд▓рд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг 2000 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирдП рд╕рдВрд╕реНрдХрд░рдг рдЕрднреА рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдбрд┐рдЬрд╛рдЗрди рдХрд░рддреЗ рд╕рдордп,
WebObjects рдХреЗ рд╡рд┐рдЪрд╛рд░, рдПрдХ рд╡реЗрдм рдврд╛рдВрдЪрд╛ рдЬреЛ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛, рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдореЙрдбреНрдпреВрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд
рдЬрд╛рд╡рд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рдореЙрдбреНрдпреВрд▓рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
Apache Struts рдордИ 2000 рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдФрд░ рдЖрдЬ рднреА рдЗрд╕рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рд╣реИред рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕реНрдЯреНрд░рдЯреНрд╕ рдореЙрдбреНрдпреВрд▓ ) рдореЗрдВ, рдЖрдк рддреИрдирд╛рддреА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдлрд╛рдЗрд▓
web.xml
рдореЗрдВ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рд╕
StrutsPrepareAndExecuteFilter
рдХрд╛ рдПрдХ рд╕рдВрдХреЗрдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд░реНрдЧ рдЕрдиреБрд░реЛрдз рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред
рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдХреА рддрд░рд╣
рдЕрдкрд╛рдЪреЗ рд╕реНрдЯреНрд░рдЯреНрд╕ ,
рдПрдорд╡реАрд╕реА рдбрд┐рдЬрд╛рдЗрди
рдкреИрдЯрд░реНрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

рдорд╛рд░реНрдЪ 2004 рдореЗрдВ,
JavaServer Faces рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рджреЛ рдХреНрд░рдорд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди: рдЕрдм рдЗрд╕реЗ
рдЧреНрд░рд╣рдг рдореЛрдЬрд░рд╛ (рдкреВрд░реНрд╡ рдореЗрдВ
рд╕реВрд░реНрдп JSF рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ,
JSF RI ,
Mojarra ,
Oracle Mojarra ) рдФрд░
Apache MyFaces рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдореБрдЦреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рдирд┐рд░реНрднрд░рддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреЗрдПрд╕рдПрдл-рдореЛрдЬрд░рд╛ рдФрд░
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреЗрдПрд╕рдПрдл-рдорд╛рдпрдлреЗрд╕реЗрд╕ рдореЙрдбреНрдпреВрд▓ ) рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╣реИрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдкрд░
рдЬреЗрдПрд╕рдПрдл рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдирд╛рдо (
рдореЛрдЬрд░реНрд░рд╛ рдпрд╛
рдорд╛рдИрдлреЗрд╕ ) рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЬреВрди 2005 рдФрд░
рд╡рд┐рдХреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд░рд┐рд▓реАрдЬ, рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ
рдЯреЗрдкреЗрд╕реНрдЯреНрд░реА рдФрд░
рдЬрд╛рд╡рд╛рд╕реЗрд╡рд░ рдлреЗрд╕реЗрд╕ рдХреЗ рд╕рдорд╛рди рд╣реИред
рдЬрд╛рд╡рд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдХ-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░
HTML рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ред рдЬреВрди 2007 рд╕реЗ,
рдЕрдкрд╛рдЪреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░
рдЕрдкрд╛рдЪреЗ рд╡рд┐рдХреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХрд╛ рдЪрд░рдо рд▓рдЧрднрдЧ 2008-2009 рдореЗрдВ рдЖрдпрд╛, рдлрд┐рд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕рдореЗрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рдЧрд┐рд░рд╛рд╡рдЯ рдЖрдИред рдирдП рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ; рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╡рд┐рдХреЗрдЯ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдХреНрдЯреВрдмрд░ 2005 рдореЗрдВ,
рдЧреНрд░рд┐рд▓реНрд╕ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг,
рдЧреНрд░реВрд╡реА рдЬреЗрд╡реАрдПрдо рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд┐рдд рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛
рдЬрд╛рд░реА рдХреА рдЧрдИ рдереА ред рдЬреИрд╕рд╛ рдХрд┐ рдЙрддреНрдкрд╛рдж рдХрд╛ рдирд╛рдо рд╣реИ,
рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ ,
рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦрд╛ рдПрдХ рд░реВрдкрд░реЗрдЦрд╛
, рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдПрдХ рдордЬрдмреВрдд рдкреНрд░рднрд╛рд╡ рдерд╛ред
рдПрдорд╡реАрд╕реА рдкреИрдЯрд░реНрди рдкрд░ рднреА рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛
рдЬреАрдПрд╕рдкреА (
рдЧреНрд░реВрд╡реА рд╕рд░реНрд╡рд░ рдкреЗрдЬ ) рд╡реНрдпреВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЧреНрд░реЗрд▓реНрд╕ рдореЙрдбреНрдпреВрд▓) рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░
рдЧреНрд░реЗрд╡ рдорд╛рд╡реЗрди рдкреНрд▓рдЧрд┐рди ,
рдорд╛рд╡реЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА, рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдФрд░ рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдмрдлреНрд▓рдХреНрд╕
рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА рд╕рд╣рд┐рдд
рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рд╕рдВрдмрд░ 2005 рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдЖред рдЗрд╕рдореЗрдВ
HTTP рд╕рд░реНрд╡рд▓реЗрдЯ рдХрд╛ рд╡рд░реНрдЧ
DispatcherServlet рд╣реИ ред рдЕрд╡рд╕рд░реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд▓рд╛рдиреБрдХреНрд░рдорд┐рдХ рдХреНрд░рдо рдореЗрдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ (
рд╕рд░реНрд╡рд▓реЗрдЯ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг, рдкрд╣рд▓реА рдмрд╛рд░ рдЕрдкреНрд░реИрд▓ 2014 рдореЗрдВ
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ , рдлрд┐рд░ рд╕рд┐рддрдВрдмрд░ 2017 рдореЗрдВ
рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдмрдлреНрд▓рдХреНрд╕ ), рдЬреЛ рдЙрдирдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ (
helloworld-web-spring-mvc-xml рдореЙрдбреНрдпреВрд▓),
web.xml
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░
web.xml
DispatcherServlet рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЧрдИ рд╣реИред GET рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдзрд┐ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ, рд╕рдВрдмрдВрдзрд┐рдд рдПрдиреЛрдЯреЗрд╢рди (
рдирд┐рдпрдВрддреНрд░рдХ рдФрд░
RequestMapping ) рд╣реИрдВред
рджреГрд╢реНрдп рдПрдХ
JSP рдлрд╝рд╛рдЗрд▓ рд╣реИред
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕реНрдкреНрд░рд┐рдВрдЧ-рдПрдорд╡реАрд╕реА-рдЬрд╛рд╡рд╛ рдореЙрдбреНрдпреВрд▓),
web.xml
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░
web.xml
рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ рдФрд░
рд╕рд░реНрд╡рд░ 3.0 рдореЗрдВ рд╢реБрд░реВ рдХреА рдЧрдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
AbstractAnnotationConfigDispatcherServletInitializer (рдЕрдВрддрддрдГ
SPI рдХреЗ рд╕рд╛рде
ServletContainerInitializer рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ) рдФрд░
JavaConfig (
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╡рд░реНрдЧ
рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ ред
рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕реНрдкреНрд░рд┐рдВрдЧ-рдмреВрдЯ-рдПрдорд╡реАрд╕реА рдореЙрдбреНрдпреВрд▓)
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХреЗ рдЖрдЧрдорди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд░рд▓реАрдХрд░рдг рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреНрд▓рд╛рд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рд╕реНрдкреНрд░рд┐рдВрдЧрдмреВрдЯрд╕рд░реНрд╡рд▓реЗрдЯ рдЗрдВрд╕реБрд▓реЗрдЯрд░ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХреНрд▓рд╛рд╕ рд╣реИ рдФрд░
рд╕реНрдкреНрд░рд┐рдВрдЧрдмреВрдЯрдРрдкреНрд▓реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪреМрдерд╛ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕реНрдкреНрд░рд┐рдВрдЧ-рдмреВрдЯ-рд╡реЗрдмрдлреНрд▓рдХреНрд╕ рдореЙрдбреНрдпреВрд▓ ) рджрд┐рдЦрд╛рддрд╛ рд╣реИ,
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХреЗ рд╕рд╛рде
, рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдмрдлреНрд▓рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЬреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд╛рд▓ рд╣реА рдореЗрдВ
рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред
рд╕реНрдкреНрд░рд┐рдВрдЧ рд╡реЗрдмрдлреНрд▓рдХреНрд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдФрд░
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдПрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рджреЛ рдореБрдЦреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдореЗрдВ рд╕реЗ (
рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рдФрд░
рдПрдиреЛрдЯреЗрд╢рди-рдЖрдзрд╛рд░рд┐рдд ), рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╡рд╕рдВрдд рдХреЗ рдЖрдЧрдорди рдХреЗ рдмрд╛рдж, 2000 рдХрд╛ рджрд╢рдХ

2002 рдореЗрдВ
рд╡рд╛рдбрд┐рди рдХрд╛ рд╡рд┐рдХрд╛рд╕ рджреВрд╕рд░реЗ рдврд╛рдВрдЪреЗ,
рдорд┐рд▓рд╕реНрдЯреЛрди 3 рдХреЗ рдкреВрд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖред 2006 рдХреЗ рджреМрд░рд╛рди, рдЬреЛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕реЗ рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрддреНрдкрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдордИ 2009 рддрдХ, рдЗрд╕рдХрд╛ рдирд╛рдо
IT рдорд┐рд▓ рдЯреВрд▓рдХрд┐рдЯ рдерд╛ , рдЙрд╕ рдХреНрд╖рдг рдХреЗ рдмрд╛рдж рд╣реА
рд╡рд╛рдбрд┐рди рдмрди рдЧрдпрд╛ред 2007 рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ рдХреЛ
Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ (
GWT ) рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╡рд╛рдбрд┐рди рдореЙрдбреНрдпреВрд▓), рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ
рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рдлрд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШрдЯрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрдмрдХрд┐ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдЫрд┐рдкрд╛рддреЗ рд╣реИрдВред

рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдЙрддреНрдкрд╛рдж,
Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ (
GWT ), рдордИ 2006 рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдЖ, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕реА
рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдХрд▓рдХ
рдЬрд╛рд╡рд╛ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдХреЛ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рддреАрди рдореЙрдбреНрдпреВрд▓ рд╣реЛрддреЗ рд╣реИрдВ -
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА-рдХреНрд▓рд╛рдЗрдВрдЯ (рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд╛рд░реНрдЯ),
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА-рд╕рд░реНрд╡рд░ (рд╕рд░реНрд╡рд░ рдкрд╛рд░реНрдЯ) рдФрд░
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА-рд╕рд╛рдЭрд╛ (рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рднрд╛рдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдо рдХреЛрдб)ред рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдЖрдк
рд╕реБрдкрд░ рджреЗрд╡ рдореЛрдб рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ
рдХреЛ рд▓реЙрдиреНрдЪ
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдорд╛рд╡реЗрди рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рддрдерд╛рдХрдерд┐рдд
рдХреЛрдб рд╕рд░реНрд╡рд░ рдмрджрд▓реЗ рд╣реБрдП
рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рд╕реАрдо рдиреЗ рдордИ 2007 рдореЗрдВ рдЕрдкрдирд╛ рдЬреАрд╡рди рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ 2012 рдореЗрдВ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред рдпрд╣
рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ JavaBeans (
EJB3 ) рдФрд░
JavaServer Faces (
JSF ) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛ред
JBoss рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд, рдлрд┐рд░
Red Hat рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдЖрдкрддреНрддрд┐ , рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП
рд╕рдВрдмрдВрдзрд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдереЗ)ред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд╕рд╛рдЗрдЯ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХреБрдЫ рдЦрдВрдбреЛрдВ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдВрдХ рдЕрдм рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╕реАрдо рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣реИ ред
рд░реИрд╕реНрдЯрдлреБрд▓ рд╡реЗрдм рд╕рд░реНрд╡рд┐рд╕реЗрдЬ (
JAX-RS ) рдХреЗ рд▓рд┐рдП
рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг 2008 (
JSR 311 ) рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдмрд╛рдж рдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ (
JSR 339 ,
JSR 370 )ред рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп
JAX-RS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
Apache CXF рдЪреМрдЦрдЯреЗ (рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдкреНрд░реИрд▓ 2008),
RESTEasy (рд╕рд┐рддрдВрдмрд░ 2008),
рдЬрд░реНрд╕реА (рдордИ 2010) рдФрд░
рд░реЗрд╕реНрдЯрд▓реЗрдЯ (рдЬрдирд╡рд░реА 2013) рд╣реИрдВред рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг
рдХреНрд░рдорд╢рдГ рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреИрдХреНрд╕рд░реНрд╕-рдЕрдкрд╛рдЪреЗ-рд╕реАрдПрдХреНрд╕рдПрдл ,
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб -рд╡реЗрдм-рдЬреИрдХреНрд╕рд░реНрд╕-рд░реЗрд╕реНрдЯреА ,
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб -рд╡реЗрдм-рдЬреИрдХреНрд╕рд░реНрд╕-рдЬрд░реНрд╕реА рдФрд░
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреИрдХреНрд╕рд░реНрд╕-рд░реЗрд╕реНрдЯрд▓реЗрдЯ рдореЗрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ ред
рдкреНрд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдордИ 2008 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред
рд╕реНрдХрд╛рд▓рд╛ рдЬреЗрд╡реАрдПрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ
рд╕реНрдХреЗрд▓ рдФрд░
рдЬрд╛рд╡рд╛ рджреЛрдиреЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдкреНрд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдПрдХ рдЕрдЬреАрдм рд╡рд┐рд╢реЗрд╖рддрд╛
sbt рдмрд┐рд▓реНрдб
рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдПрдХ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдкреНрд▓реЗ рдореЙрдбреНрдпреВрд▓) рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП
рдЙрдкрдпреБрдХреНрдд рдкреНрд▓рдЧ-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ,
рдорд╛рд╡реЗрди рдХреЗ рддрд╣рдд рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдкрдбрд╝реЗред
2010 рдХрд╛, рдирд╡реАрдирддрдо рд╕рдордп

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

2011 рдореЗрдВ,
рд╡рд░реНрдЯ.рдПрдХреНрд╕ ,
рдЬреЗрд╡реАрдПрдо рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдШрдЯрдирд╛-рдЙрдиреНрдореБрдЦ рд░реВрдкрд░реЗрдЦрд╛
рджрд┐рдЦрд╛рдИ рджреА ред
Node.js рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рднрд╛рд╡ рдХреЗ рддрд╣рдд рд▓рд┐рдЦрд╛ рдЧрдпрд╛, рдЬрд┐рд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ
Node.x рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
ред рдЗрд╕рдХреА рдПрдХ рдмрд╣реБрднрд╛рд╖реА рдкреНрд░рдХреГрддрд┐ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк
рдЬрд╛рд╡рд╛ ,
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ ,
рдЧреНрд░реВрд╡реА ,
рд░реВрдмреА ,
рд╕реАрд▓реЛрди ,
рд╕реНрдХрд╛рд▓рд╛ рдпрд╛
рдХреЛрдЯрд▓рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдиреЗрдЯреНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕рдореЗрдВ рдХрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рдлрд╛рдпрджреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд╡рд░реНрдЯреЗрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣реИ ред

рджрд┐рд╕рдВрдмрд░ 2011
рдбреНрд░реЙрдкрд╡реЙрдЧрд░ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдордп рдерд╛, рдЬрд┐рд╕рдХреЗ рд▓реЗрдЦрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдХреЛ рдХреБрдЫ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рддреАрди рдореБрдЦреНрдп рднрд╛рдЧ рдЬрд┐рд╕рдореЗрдВ
рдЬреЗрдЯреНрдЯреА (
HTTP ),
рдЬрд░реНрд╕реА (
JAX-RS ) рдФрд░
рдЬреИрдХреНрд╕рди (
JSON ) рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВред рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдореЗрдВ рднреА рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рднреА рд╣реИред рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдбреНрд░реЙрдкрд╡реЙрдЗрдб рдореЙрдбреНрдпреВрд▓ ) рдПрдХ
рдбреНрд░реЙрдкрд╡реЙрдпрд░- рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд░рдЪрдирд╛ рдХреЛ
рджрд░реНрд╢рд╛рддрд╛ рд╣реИ ред
рд░реИрдЯрдкреИрдХ рдПрдХ рдФрд░ рдврд╛рдВрдЪрд╛ рд╣реИ (
рд╕реНрдкрд╛рд░реНрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛),
рд╕рд┐рдирд╛рддреНрд░рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ рдФрд░
рдЧреНрд░реЛрд╡реА рдЬреЗрд╡реАрдПрдо рднрд╛рд╖рд╛ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдлреНрд░реИрдВрдХ рд╕рд┐рдирд╛рддреНрд░рд╛ рдХрд╛ рддрдерд╛рдХрдерд┐рдд рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз
рдЪреВрд╣рд╛ рдкреИрдХ ("рдЪреВрд╣рд╛ рдкреИрдХ")ред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг 2013 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирдП рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдиреЗрдЯреНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рддреЗрдЬ, рдиреНрдпреВрдирддрд░, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди, рдЕрддреНрдпрдзрд┐рдХ рд╕реНрдХреЗрд▓реЗрдмрд▓ред рдПрдХ рдЙрджрд╛рд╣рд░рдг
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд░реЙрдЯрдкреИрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдХреНрдЯреВрдмрд░ 2013, рдЙрддреНрд╕реБрдХ
JHipster рдкрд░рд┐рдпреЛрдЬрдирд╛, рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЖрдЧрдордиред рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП,
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪреМрдЦрдЯреЗ
рдХреЛрдгреАрдп ,
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░
Vue рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ (рдмрд╛рдж рдореЗрдВ рдЕрднреА рднреА
рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдореЛрдб рдореЗрдВ рд╕рдорд░реНрдерд┐рдд
рд╣реИ )ред рдмреИрдХрдПрдВрдб
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП
рдорд╛рд╡реЗрди рдпрд╛
рдЧреНрд░реИрдбрд▓ рдХреЛ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
JHipster- рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП
рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб -рд╡реЗрдм-рдЬрд┐рдкрд╕реНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣реИ ред

рдЕрдЧрд╕реНрдд 2014 рдореЗрдВ,
рд░реИрдкрд┐рдбреЛрдЗрдб рдврд╛рдВрдЪреЗ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг
рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛
рдерд╛ , рд╕рд░рд▓, рддреЗрдЬ рдФрд░ рдореЙрдбреНрдпреВрд▓рд░ред рдЕрдиреБрд╢рдВрд╕рд┐рдд рдореЙрдбреНрдпреВрд▓, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рдореЗрдВ
HTTP ,
рд╣рд╛рдЗрдмрд░рдиреЗрдЯ ,
рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╡реИрд▓рд┐рдбреЗрдЯрд░ ,
MySQL рдХрдиреЗрдХреНрдЯрд░ рдФрд░
рд▓реЙрдЧрдмреИрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдмрд╛рддрдЪреАрдд рд╢рд╛рдорд┐рд▓ рд╣реИ ред рдмрдврд╝рддреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд╕рд╛рде, рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рд░реИрдкрд┐рдбреЛрдЗрдб рдореЙрдбреНрдпреВрд▓ ) рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдХреЗ рдЕрддрд┐рд╕реВрдХреНрд╖реНрдорд╡рд╛рдж рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдорд╛рд░реНрдЪ 2016,
рд▓рд╛рдЧреЛрдо рдврд╛рдВрдЪреЗ рдХреА рд░рд┐рд╣рд╛рдИред рдЗрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓реЗрдЦрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ microservices рдореЗрдВ рдкреБрд░рд╛рдиреЗ рдЕрдЦрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВред рдлреНрд░реЗрдо
рдЕрдХреНрдХрд╛ рдФрд░
рдкреНрд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
рдЬрд╛рд╡рд╛ рдпрд╛
рд╕реНрдХрд╛рд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдирдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реИрдЧреЛрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЙрджрд╛рд╣рд░рдг
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб -рд╡реЗрдм- рд▓реИрдЧреЛрдо-рдПрдкрд┐ рдФрд░
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб -рд╡реЗрдм- рд▓реИрдЧреЛрдо-рдЗрдореНрдкреИрдХреНрдЯ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдордИ 2017 рдореЗрдВ, рд╣рд▓реНрдХрд╛ рдФрд░ рд╕рд░рд▓
рдЬреЗрд╡рд▓рд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛
рдерд╛ ред рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реНрд╡рдпрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЙрд▓реНрд▓реЗрдЦрд┐рдд
рд╕рд┐рдирд╛рддреНрд░рд╛ рдФрд░
рд╕реНрдкрд╛рд░реНрдХ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдЬрд╛рд╡рд╛ рдФрд░
рдХреЛрдЯрд▓рд┐рди рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдпрд╣ рдПрдиреЛрдЯреЗрд╢рди рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдХреЛрдб,
WebSocket ,
HTTP / 2 рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдЬреЗрд╡рд▓рд┐рди рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдЙрднрд░рддрд╛ рд╕рд┐рддрд╛рд░рд╛, рдЬрд┐рд╕рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЕрдХреНрдЯреВрдмрд░ 2018 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛, рд╡рд╣ рд╣реИ
рдорд╛рдЗрдХреНрд░реЛрдпреЛрдирдЯ ред
рдЬрд╛рд╡рд╛ ,
рдЧреНрд░реВрд╡реА рдФрд░
рдХреЛрдЯрд▓рд┐рди рдЬреЗрд╡реАрдПрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд рдФрд░ рдХрдо рдореЗрдореЛрд░реА рдЦрдкрдд рд╣реИред рдпрд╣ рд╕рдВрдХрд▓рди рдЪрд░рдг рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рди рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдкрд░ред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рдорд░реНрдерди рд╣реИ,
RxJava ,
рд░рд┐рдПрдХреНрдЯрд░ рдФрд░
рдЕрдХреНрдХрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ
рд╕рдВрднрд╡ рд╣реИ ред рдПрдХ рдЙрджрд╛рд╣рд░рдг (
рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб-рд╡реЗрдм-рдорд╛рдЗрдХреНрд░реЛрдПрдиреЗрдЯ рдореЙрдбреНрдпреВрд▓ ) рдПрдХ рд╕рд░рд▓
рдорд╛рдЗрдХреНрд░реЛ- рдЖрдзрд╛рд░рд┐рдд
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд
рдХрд░рддрд╛ рд╣реИ ред
MicroProfile
рдЬрд╛рд╡рд╛ рдИрдИ рдХреЗ рд╡рд░реНрддрдорд╛рди рднрд╛рд░реАрдкрди рдХреЗ рдХрд╛рд░рдг, рдХрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдПрдХ рд╣рд▓реНрдХреЗ рд╕реЗрдЯ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╕рд┐рддрдВрдмрд░ 2016 рдореЗрдВ
рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрдлрд╛рдЗрд▓ 1.0 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╕реЗрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рддреАрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (
CDI ,
JAX-RS рдФрд░
JSON-P ) рд╢рд╛рдорд┐рд▓ рдереЗред рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ, рд╕рдВрд╕реНрдХрд░рдг 3.0 рд╕реЗ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдРрд╕реЗ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИрдВ рдЬреЛ
рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рдЧреНрд░реА рддрдХ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рд╕рд╛рдд рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рд╣реИред
MicroProfile рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдореМрдЬреВрджрд╛ рдврд╛рдБрдЪреЛрдВ рдХреА рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА
рдпрд╣рд╛рдБ рд╣реИ ред

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

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

рдЕрдм рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдо рдФрд░ рдХрдо рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЬрд╛рд╡рд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рд╛рдЗрдмреНрд░рд┐рдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реБрдИ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдШрдЯрдХ
рдЬрд╛рд╡рд╛ рдХреЛрдб рд╣реИред
рдЬрдирд╡рд░реА / рдлрд░рд╡рд░реА 2017 рдХреЗ рдЕрдВрдХ рдореЗрдВ рдПрдбрд┐рдЯрд░-рдЗрди-рдЪреАрдл рдХреЗ рдХреЙрд▓рдо рдореЗрдВ
рдЬрд╛рд╡рд╛ рдореИрдЧрдЬрд╝реАрди , рдЬрд┐рд╕рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рд╖рдп
рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рд▓реИрдВрдЧреНрд╡реЗрдЬ рдерд╛ , рдХреЗ
рдЕрдиреБрд╕рд╛рд░ , "рдж рдкреЙрд▓реАрдЧреНрд▓реЙрдЯ рдлрд╝реНрдпреВрдЪрд░" рдФрд░ рд░реБрдЪрд┐ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереАред
рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд
рдЕрдзреНрдпрдпрди рдореЗрдВ
, рдкреНрд░рд╢реНрди 16 рдореЗрдВ, рд╡реЗ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ рдХрд┐
рдЬреЗрд╡реАрдПрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЧреИрд░-
рдЬреЗрд╡реАрдПрдо рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдиреЗрддрд╛ (57%)
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рджреГрд╢реНрдпрдкрдЯрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреБрдЫ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ
GUI (рд╕рднреА рд╕реЗрд╡рд╛рдПрдБ, microservices, рд╕реЗрд╡рд╛рдПрдВ) рдирд╣реАрдВ рд╣реИрдВ, рд╣рдо рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
Java рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реНрдпрд╛рдкрдХ рд╣реИред

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдЖрдЬ

рдЪрд┐рддреНрд░рдордп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдорд╛рдиреНрдп
рдЬрд╛рд╡рд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ
рдХрд╛рд░реНрдпрдХреНрд░рдо рдореВрд▓ рдЯреНрд╡рд┐рдЯрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдЕрдиреБрдХрд░рдг рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛: рдкреНрд░рдорд╛рдгреАрдХрд░рдг, рдЦрд╛рддрд╛ рдкреНрд░рдмрдВрдзрди (рдмрдирд╛рдПрдВ, рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рд╣рдЯрд╛рдПрдВ, рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ), рдореБрдЦреНрдп рдкреГрд╖реНрда (рдЦрд╛рддрд╛ рдЧреБрдг, рд╕рдВрджреЗрд╢ рдлрд╝реАрдб), рдирд┐рд░реНрдорд╛рдг рдЯреНрд╡реАрдЯ, рд╕рджрд╕реНрдпрддрд╛ / рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
рдмреИрдХрдПрдВрдб рдХреЛ
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдлреНрд░рдВрдЯреЗрдВрдб рд▓реЛрдХрдкреНрд░рд┐рдп
рдПрдВрдЧреБрд▓рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЖрд╡реЗрджрди рдХреЗ
рдЬрд╛рд╡рд╛ рднрд╛рдЧ рдореЗрдВ,
рд╕реНрдкреНрд░рд┐рдВрдЧ рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА ,
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ ,
рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА ,
рд╕реНрдкреНрд░рд┐рдВрдЧ рдЯреЗрд╕реНрдЯ ,
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдПрдбрдорд┐рди ред рдмреИрдХрдПрдВрдб
рд░реАрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреЛ
рд╕реНрд╡реИрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
JUnit ,
Spring Test ,
Mockito ,
TestContainers (unit-
Java -)
Jasmine Protractor (unit- end-to-end-
JavaScript Angular ).
(
Spring Boot Angular )
,
TechTrain 2019 .
рдирд┐рд╖реНрдХрд░реНрд╖
Java , -, . , , , , .
, ,
GitHub :
,
.
JUG Ru GroupSpring :
- ┬лSpring the Ripper┬╗, ( JPoint 2014 : , )
- ┬лSpring Data? , !┬╗, ( Joker 2014 : , )
- ┬лSpring Puzzlers: Spring┬╗, ( Joker 2014 : )
- ┬лSpring Puzzlers тАФ ┬╗, ( JPoint 2015 : , )
- ┬лThe Bootiful Application┬╗, Josh Long ( Joker 2015 : , )
- ┬л Spring Boot Starter┬╗, ( JPoint 2016 : , )
- ┬лSpring тАУ ┬╗, ( JPoint 2017 : , )
- ┬л Spring Test┬╗, ( JPoint 2017 : , )
- ┬лBoot yourself, Spring is coming┬╗, ( Joker 2017 : )
- ┬л Spring 5/Reactor┬╗, ( Joker 2017 : )
- ┬лSpring Framework 5.0 on JDK 8 & 9┬╗, Juergen Hoeller ( JPoint 2018 : , )
- ┬лSpring Framework 5: feature highlights and hidden gems┬╗, Juergen Hoeller ( JPoint 2018 : , )
- ┬лCamel microservices with Spring Boot and Kubernetes┬╗, Claus Ibsen ( JPoint 2018 : , )
- ┬лSpring Boot Xtend: c ┬╗, ( JPoint 2018 : , )
- ┬лBoot yourself, Spring is coming┬╗, ( JPoint 2018 : 1 2 , )
- ┬лSpring Boot 2: release notes┬╗, ( Joker 2018 : , )
- ┬лThe Proxy fairy and the magic of Spring┬╗, Victor Rentea ( JPoint 2019 : , )
- ┬л Spring Boot, : AOT- Spring-┬╗, ( JPoint 2019 : , )
- ┬лReactive reactive, ┬╗, ( JPoint 2019 : , )
- ┬л Spring Boot- Java 8 11: ?┬╗, ( JPoint 2019 : , )
Play :
- ┬л50 Play!┬╗, ( Joker 2015 : )
Vaadin :
- ┬л тАФ web UI Java desktop-┬╗, ( JPoint 2018 : , )
- ┬л Vaadin Flow┬╗, ( JPoint 2019 : , )
Vert.x :
- ┬лVert.x: ┬╗, ( Joker 2015 : )
- ┬лVert.x: ┬╗, ( Joker 2016 : , )
- ┬л Vert.x ┬╗, ( JPoint 2018 : , )
Micronaut :
- ┬лMicronaut vs Spring Boot, ?┬╗, ( Joker 2018 : , )
MicroProfile :
- ┬лMicroprofile.io: ┬╗, ( Joker 2018 : , )
Java JavaScript :
- ┬лJavaScript in the nterprise┬╗, Markus Eisele ( Joker 2014 : , )
- ┬лJava(Script) on JVM┬╗, ( Joker 2015 : )
UPD :
Quarkus (
helloworld-web-quarkus )
ActFramework (
helloworld-web-actframework ), .. 39.
25-26 2019 - Java- Joker 2019 , 1 .
8-9 2019 JavaScript- HolyJS 2019 Moscow , 1 .