рд╣рд░ рдмрджрд▓рд╛рд╡, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрджрд▓рд╛рд╡,
рд╣рдореЗрд╢рд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ
рд░рд┐рдЪрд░реНрдб рд╣реБрдХрд░
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡рд╛рдбрд┐рди рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЬрд╛рд╡рд╛ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╡реЗрдм рдпреВрдЖрдИ, рд╡рд╛рдбрд┐рди 10 рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреА рдПрдХ рдирдИ рд░рд┐рд▓реАрдЬ рдЬрд╛рд░реА рдХреА рдЧрдИ рд╣реИред рд╡рд╛рдбрд┐рди 10 рдФрд░ рд╡рд╛рдбрд┐рди рдлреНрд▓реЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реВрд╕реА рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд╢рди рд╣реИрдВ, рдФрд░ рдпрд╣ рдкреЛрд╕реНрдЯ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рд░рдЪрдирд╛рдХрд╛рд░ рдЖрдзреБрдирд┐рдХ рд╡реЗрдм-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╡реЗрдм-рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡рд╛рдбрд┐рди рдлреНрд▓реЛ рдХреЛ рдПрдХ рдирдП рдЬрд╛рд╡рд╛ рд╡реЗрдм-рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рди рджреЗрддреЗ рд╣реИрдВ (рдпрд╣рд╛рдВ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдорд╛рдирддрд╛ рдирд╣реАрдВ рд╣реВрдВ)ред рдпрд╣ рд╡реИрдбрд┐рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрддреНрдкрд╛рдж рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ - рд╡рд╛рдбрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ, рдпрд╣ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рд╡реЗрдм рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдпрд╛, рд╕рдЯреАрдХ, рд╡реЗрдм рдпреВрдЖрдИ) рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдкрд╛рдардХ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд┐рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпреЗ рд╕рднреА рд╡рд╛рдбрд┐рди рдмреНрд▓рд╛ рдмреНрд▓рд╛, рд░реВрдкрд░реЗрдЦрд╛, рдордВрдЪ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
рд╣рдо 7 рд╕рд╛рд▓ рд╕реЗ UI рдмреИрдХ рдСрдлрд┐рд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ
CUBA рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдбрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рджреМрд░рд╛рди рд╣рдордиреЗ рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдЕрдиреБрднрд╡ рдЬрдорд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрд╕рдХреЗ рднрд╛рдЧреНрдп рдХреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдЯ рдХреЗ рддрд╣рдд рдЖрдкрдХреЛ рд╡рд╛рдбрд┐рди 10 рдкрд░ рдореЗрд░рд╛ рдЪрд╢реНрдорд╛ рдорд┐рд▓реЗрдЧрд╛ред
рд╡рд╛рджрд┐рди рдврд╛рдВрдЪрд╛
рд╡рд╛рдбрд┐рди рдПрдХ рдлрд┐рдирд┐рд╢ рдХрдВрдкрдиреА рд╣реИ рдЬреЛ рдпреВрдЖрдИ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреВрд▓ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреА рд╣реИред рд╡реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдирд╛рдо рдХреА рд░реВрдкрд░реЗрдЦрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред
рд╡рд╛рдбрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдпреВрдЖрдИ рддрд░реНрдХ рдФрд░ рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддреА рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рдпреВрдЖрдИ рдХреЛрдб рдХреЗ рдШрдЯрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рдкрддрд▓реА рдЧреНрд░рд╛рд╣рдХ рддрдХрдиреАрдХ рд╣реИ рдЬрд╣рд╛рдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗрд╡рд▓ рд╡рд╣реА рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдХрд╣рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рд╡реЗрдм рдХреЗ рддрд╣рдд рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдпреВрдЖрдИ рдХреЛ рдбреЗрд╕реНрдХрдЯреЙрдк рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рд╡рд╛рдбрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ UI рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ AJAX рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред рд╡рд╛рдбрд┐рди рдЗрдВрдЬрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ:
- рдЬрд╛рд╡рд╛ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдФрд░ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ
- рдЖрдк рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ (рдЖрдИрдбреАрдИ, рд╕рдВрдХрд▓рдХ, рдкрд░реАрдХреНрд╖рдг) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рдХреЛрдИ рд╡реЗрдм рд╕реЗрд╡рд╛ рд╡рд┐рдХрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
- рд╕реБрд░рдХреНрд╖рд╛ рдмреЗрд╣рддрд░ рд╣реИ
рдФрд░ рд╡рд┐рдкрдХреНрд╖:
- UI рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
- рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рд╣реИ
- рд╡рд┐рдЬреЗрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
рдЗрди minuses рдФрд░ pluses рдХреЗ рдЖрдзрд╛рд░ рдкрд░, Vaadin FW рдЙрджреНрдпрдо рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдмрд╕ рдЧрдпрд╛, рдЬрд╣рд╛рдВ рднрд╛рд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдпреЛрдЧреНрдп рд╣реИрдВ, рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдФрд░ рдЖрд╕рд╛рдиреА рд▓реЛрд╣рд╛ рдФрд░ рд╕реНрдореГрддрд┐ рдХреА рд▓рд╛рдЧрдд рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ
рд╣рд░ рд╕рдордп рдЬрдм рд╡рд╛рдбрд┐рди рдЖрдо рдЬрдирддрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╛рдбрд┐рди рдПрдлрдбрдмреНрд▓реНрдпреВ рдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдЕрдиреНрдп рдкреНрд░рд╕рд┐рджреНрдз рдЙрддреНрдкрд╛рдж - Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ (рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА) рдХреЗ рд╕рд╛рде рдЕрдЯреВрдЯ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ред рдЗрд╕ рдЕрдЧреНрд░рд╛рдиреБрдХреНрд░рдо рдиреЗ рдпреВрдЖрдИ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдПрдкреАрдЖрдИ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рднрд╛рд╖рд╛ - рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛, рдЬреЛ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛ред
рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдФрд░ 2015 рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рдо рд╕рднреА GWT 3.0 / J2CL рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдШреЛрд╖рдгрд╛ GWT.Create 2015 рдореЗрдВ рдХреА рдЧрдИ рд╣реИ:
рдЗрд╕ рд╕реНрдерд┐рд░ рдЕрд╡рдзрд┐ (2015-2017) рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛ рдШрдЯрд┐рдд рд╣реБрдИ: рд╡реЗрдм рдШрдЯрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдФрд░ рдПрдХ рдЕрдиреНрдп Google рд░реВрдкрд░реЗрдЦрд╛, рдкреЙрд▓рд┐рдорд░, рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ GWT рдХреЗ рдЕрдВрдд рдХреА рд╢реБрд░реБрдЖрдд рдереАред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ GWT 3 рдХреЛ рдЖрдВрддрд░рд┐рдХ Google рдврд╛рдВрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдореБрджрд╛рдп рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓ рд░рд╣реА рд╣реИред
рдЗрд╕ рдард╣рд░рд╛рд╡ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЦрд┐рд▓рд╛рдл, рд╡рд╛рдбрд┐рди рдЯреАрдо рдиреЗ рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдФрд░
рдЙрдирдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рдХрдард┐рди рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛ рд╕рдХрд╛ рдФрд░ рдЙрди рд╕рднреА рдХреЛ рдбрд░рд╛ рджрд┐рдпрд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рдбрд┐рди рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВред
рд╡реЗрдм рдШрдЯрдХ
рд╡реЗрдм рдШрдЯрдХ рдорд╛рдирдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдФрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ Google рдХреЗ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд╣рд▓ рдХреЛ рдореЛрдЬрд╝рд┐рд▓рд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд╕рдорд░реНрдерди рдорд┐рд▓ рдЪреБрдХрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпреЗ рд╡реЗрдм рдХреЗ рд▓рд┐рдП UI рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреА рддрдХрдиреАрдХреЗрдВ рд╣реИрдВ, рддрд╛рдХрд┐ рд╡реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред рдФрд░ рдореБрдЦреНрдп рдкреНрд▓рд╕ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ:
- рдХрд╕реНрдЯрдо рддрддреНрд╡ - рдЕрдкрдиреЗ HTML рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ
- рд╢реИрдбреЛ рдбреЛрдо HTML рдШрдЯрдХреЛрдВ рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реАрдПрд╕рдПрд╕ рдирд┐рдпрдореЛрдВ рд╕реЗ рдЙрдирдХреА рджреГрд╢реНрдп рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЖрдк рдПрдХ рдШрдЯрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдСрд░реНрдбрд░ рдлреЙрд░реНрдо, рдФрд░ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдбрд░реЛ рдирд╣реАрдВ рдХрд┐ рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рд╕реАрдПрд╕рдПрд╕ рдирд┐рдпрдореЛрдВ рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдХреА рд╢реИрд▓реА рд╕рд╛рдЗрдЯ рдХреЗ рдХреБрдЫ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдЯреВрдЯ рдЬрд╛рдПрдЧреАред
- HTML рдЯреЗрдореНрдкреНрд▓реЗрдЯ - рдПрдХ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ DOM рд░рд┐рдХреНрдд рддрддреНрд╡реЛрдВ рд╡рд╛рд▓реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рд░рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреНрд▓реЙрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рд░реЗрдВрдбрд░ рдпрд╛ рд░рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- HTML рдЖрдпрд╛рдд - рдПрдХ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЕрдкрдиреЗ рд╕рднреА рд▓реЗрдЖрдЙрдЯ, рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ JS рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЕрдм YouTube DOM рдЯреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрд╕реНрдЯрдо рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдФрд░ рд╢реИрдбреЛ DOM рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд┐рд▓реЗрдЧрд╛:

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

рдпреЗ рдШрдЯрдХ рд╡реЗрдм рдШрдЯрдХ рдФрд░ рдкреЙрд▓рд┐рдорд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ!
рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд╛рдбрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдПрдпрд░реЛрдбреНрд░реЛрдо рдерд╛, рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ Google рд╡реЗрдм рдЯреВрд▓рдХрд┐рдЯ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдФрд░ рдПрдХ рдирдпрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рдереЗред рдЪрд┐рдХрди рдФрд░ рдЕрдВрдбреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдФрд░ рд╡рд╛рдбрд┐рди рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдЖрдЧрд╛рдореА рд╡реИрдбрд┐рди 10 рдХрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдмрди рдЧрдП рд╣реИрдВред
рд╡рд╛рдбрд┐рди рдкреНрд░рд╡рд╛рд╣
рд╡рд╛рдбрд┐рди 8 рдореЗрдВ рдПрдХ рдпреВрдЖрдИ рд░рд╛рдЬреНрдп рддреБрд▓реНрдпрдХрд╛рд▓рди рддрдВрддреНрд░ рдФрд░ рджреЛ-рддрд░рдлрд╝рд╛ рдЖрд░рдкреАрд╕реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЙрд▓) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рдерд╛ред рдпрд╣ рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдФрд░ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рд▓рд┐рдЦреЗ рдЧрдП рдереЗред
GWT рдХреЗ рдкрд░рд┐рддреНрдпрд╛рдЧ рдХреЗ рд╕рд╛рде, рдПрдХ рдирдП рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдЬреЛ JS рдлреНрд░рдВрдЯреЗрдВрдб рдФрд░ рдЬрд╛рд╡рд╛ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдкрд╛рд░рджрд░реНрд╢реА рдПрдХреАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдпрд╣ рддрдВрддреНрд░ рд╡рд╛рдбрд┐рди рдлреНрд▓реЛ рдерд╛ (рдФрд░ рдпрд╣ рдирд╛рдо рднреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреВрд░реЗ рд╡рд╛рдбрд┐рди 10 рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ)ред
рдлреНрд▓реЛ
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдпрд╣ рдпреЛрдЬрдирд╛ рд╣реИ:

рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рдЕрд░реНрде рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдпреВрдЖрдИ рд░рд╛рдЬреНрдп рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИ
- рд╕рд░реНрд╡рд░ рднрд╛рдЧ UI рдШрдЯрдХреЛрдВ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ AJAX рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
- рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ UI рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдбреЗрдЯрд╛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
- рдХреНрд▓рд╛рдЗрдВрдЯ HTML, CSS, JS рдФрд░ рдкреЙрд▓рд┐рдорд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡рд╛рдбрд┐рди рдореЗрдВ рдЕрдзрд┐рдХ рдлреНрд░рдВрдЯ-рдПрдВрдб рддрдХрдиреАрдХреЗрдВ рд╣реЛрдВрдЧреА, рдФрд░ рдЕрдм рдЬрд╛рд╡рд╛ рдЕрдХреЗрд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ (рд╡реИрдбрд┐рди 8 рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдФрд░ HTML / CSS рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА)ред рджреВрд╕рд░реА рдУрд░, рдЬреЗрдПрд╕ рдХреЛрдб рдХрд╛ рдЖрд╕рд╛рди рдПрдХреАрдХрд░рдг рдЕрдм рд╕рдВрднрд╡ рд╣реИред
рд╡рд╛рджрд┐рди рдордВрдЪ
рд╡реИрдбрд┐рди 10 рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдФрд░ рдЬреЗрдПрд╕ рджреБрдирд┐рдпрд╛ рдХреА рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкрд░рдВрдкрд░рд╛рдУрдВ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЫреЛрдЯреЗ рдореЙрдбреНрдпреВрд▓ рдЬреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдШрдЯрдХреЛрдВ рдХрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ JAR рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ WebJARs:
www.webjenn.orgрдпрд╣ рдереЛрдбрд╝рд╛ рдбрд░рд╛рд╡рдирд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдиреНрдпреВрдирддрдо рдбрд┐рдЬрд╛рдЗрди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдЕрд░рд╛рдЬрдХрддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рд╡реИрдбрд┐рди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдирд╛рдордХ рдПрдХ рдмреАрдУрдПрдо (рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдмрд┐рд▓) рдкрд░рд┐рдпреЛрдЬрдирд╛
рджрд┐рдЦрд╛рдИ рджреА ред
рдпрд╣ рдХреБрдЫ рд╕реНрд╡рддрдВрддреНрд░ рдЙрддреНрдкрд╛рдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди
рдореИрд╡реЗрди рдмреЙрдо рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдШрдЯрдХреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрдЧрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред
рдпрд╣ рдорд╛рд╡реЗрди рд╕реЗ рдЬреЛрдбрд╝рддрд╛
рд╣реИ :
<dependencyManagement> <dependencies> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-bom</artifactId> <version>${vaadin.platform.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
рд╡реИрдбрд┐рди 10 рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рдХреБрд▓, рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдореЗрдВ 3 рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ:
- рд╡рд╛рдбрд┐рди рдШрдЯрдХ - рд╕реАрдорд╛
- рд╡рд╛рджрд┐рди рдкреНрд░рд╡рд╛рд╣ - рдкрд░рд┐рд╡рд╣рди
- рд╕рд░реНрд╡рд░ рдШрдЯрдХ рдПрдкреАрдЖрдИ - рдпреВрдЖрдИ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ
рдпрд╣
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдПрдХ
рдирдП рд╡реЗрдмрд┐рдирд╛рд░ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рд╕реНрдЯрд╛рд░реНрдЯрд░реНрд╕
рдЖрдк
рдкреГрд╖реНрда рд╕реЗ рд░реВрдкрд░реЗрдЦрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдлреБрд▓-рд╕реНрдЯреИрдХ рд╕рд╣рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓реЗрдВрдЧреЗред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХреЗ рдЙрддреНрд╕рд╛рд╣реА рдкреНрд░рд╢рдВрд╕рдХ рд╕реАрдзреЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
spring.io рдФрд░ рд╡рд╣рд╛рдВ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмреАрдЪ
рд╡рд╛рдбрд┐рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдПрдХ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдиреНрдпреВрдирддрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдк Vaadin 10 рдкрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ Vaadin 8, BUT рдкрд░! рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк
рд╕реЗ рдШрдЯрдХ рдорд┐рд▓рд╛рди рдкреГрд╖реНрда рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рддрддреНрд╡ рдПрдкреАрдЖрдИ
рдХрд┐рд▓рд░ рд╕реБрд╡рд┐рдзрд╛ рд╡рд╛рдбрд┐рди 10 - рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдЬрд╛рд╡рд╛ рдХреЛрдб рд╕реЗ рдбреЛрдо рддрддреНрд╡реЛрдВ рдХреЛ рд╕реАрдзреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИред
Element nameField = ElementFactory.createInput(); nameField.setAttribute("id", "nameField"); nameField.setAttribute("placeholder", "John Doe"); nameField.setAttribute("autofocus", "");
рдЖрдк рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рднреА рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд┐рдкрдХрд╛рдП рдЧрдП рд╣реИрдВ:
рдмреЗрд╢рдХ, рдпрд╣ рдпреВрдЖрдИ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпреВрдЖрдИ рдШрдЯрдХреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд▓реЗрдЖрдЙрдЯ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдПрдкреАрдЖрдИ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
HasValue рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдореВрд▓реНрдп / рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ ValueChangeListener), рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрд╛рдЗрдВрдбрд░ рд╡рд░реНрдЧ рд╣реИ:
Binder<Person> binder = new Binder<>(); TextField titleField = new TextField(); binder.forField(titleField) .bind( Person::getTitle, Person::setTitle);
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реИрдореНрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдЯреИрдЯрд┐рдХрд▓реА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд╛рдЗрдВрдбрд░реНрд╕ рдореВрд▓реНрдпрд╡рд░реНрдзрдХ рдФрд░ рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
binder.forField(yearOfBirthField)
рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕
HTML рдЯреЗрдореНрдкрд▓реЗрдЯ рдЯрд╛рдЗрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
<link rel="import" href="../bower_components/polymer/polymer-element.html"> <link rel="import" href="../bower_components/paper-input/paper-input.html"> <dom-module id="hello-world"> <template> <div> <paper-input id="inputId" value="{{userInput}}"></paper-input> <button id="helloButton" on-click="sayHello">Say hello</button> <div id="greeting">[[greeting]]</div> </div> </template> <script> class HelloWorld extends Polymer.Element { static get is() { return 'hello-world' } } customElements.define(HelloWorld.is, HelloWorld); </script> </dom-module>
рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕ рдШреЛрд╖рдгрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рджреЗрд╢реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЗрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рдмрд┐рдирд╛ рд╕рд░рд▓рддрдо рдпреВрдЖрдИ рддрд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдШрдЯрдирд╛рдХреНрд░рдо
рдШрдЯрдХ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ
рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ :
TextField textField = new TextField(); textField.addChangeListener(e -> System.out.println("Event fired"));
рдпрд╣рд╛рдВ рдЖрдк рд╡рд╛рдбрд┐рди 8 рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред
рд░реВрдЯрд┐рдВрдЧ
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдФрд░ рд░реВрдЯрд┐рдВрдЧ рд╡рд╣
рдмрди рдЧрдП рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП :
@Route("some/path") public class SomePathComponent extends Div { public SomePathComponent() { setText("Hello @Route!"); } }
рджреГрд╢реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХрд┐рд╕ URL рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдкрддреЗ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдХрд┐рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рдШрдЯрдХ рд╡рд┐рдХрд╛рд╕
рд╡рд╛рдбрд┐рди 10 рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдХрд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╕реАрдзрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдХрджрдо рд╣реИред рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА рдкрд░ рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рд╡рд╛рдбрд┐рди рдкрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рд▓рд┐рдЦрдирд╛ рд╣реИред
рд▓реБрдореЛ рдереАрдо
SASS рдХреЗ рдмрдЬрд╛рдп,
рд╕реАрдПрд╕рдПрд╕ рдЪрд░ рдЕрдм рджреГрд╢реНрдп рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп CSS рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ:
<custom-style> <style> html { --lumo-font-family: "Open Sans", sans-serif; } </style> </custom-style>
рдФрд░ Valo рдереАрдо рдХреЛ рдирдП
рдХрд╕реНрдЯрдо Lumo рдереАрдо рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡рд╛рдбрд┐рди рдПрдлрдбрдмреНрд▓реНрдпреВ 8 рдХреЗ рд╕рд╛рде рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛
рд╡рд╛рдбрд┐рди 8 рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ:
vaadin.com/docs/v10/flow/migration/1-migrating-v8-v10.htmlрдпрд╣рд╛рдВ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдмреБрд░реА рдЦрдмрд░ рд╣реИ: рдпрджрд┐ рдЖрдкрдиреЗ рд╡рд╛рдбрд┐рди 8 рдкрд░ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рд┐рдЦреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡рд╛рдбрд┐рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред 10. рд╢рдмреНрдж рд╕реЗ рдХреЛрдИ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рдирд╣реАрдВ рд╣реИ!
рд╡рд╛рджрд┐рди 10 рдФрд░ рд╡рд╛рджрд┐рди 8 рдХрдИ рдкрд╣рд▓реБрдУрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВ:
- рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг
- UI рддрд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛
- рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг
рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ:
рд╡рд╛рдбрд┐рди 10 рдЦрд░реЛрдВрдЪ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдирдпрд╛ рдврд╛рдВрдЪрд╛ рд╣реИ ред
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╡рд╛рджреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░,
рд╡рд╛рдбрд┐рди 8 рдХреЛ 2022 рддрдХ рд╕рдорд░реНрдерди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореИрдВ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдирдИ рд╡рд╛рдбрд┐рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╡рд╛рдбрд┐рди рдлреНрд▓реЛ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ, рдЬреЛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдмрди рд░рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреА рдкрд░рд┐рдкрдХреНрд╡рддрд╛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдм рдЖрдк рд╡рд╛рдбрд┐рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рд░рд╛рдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред 10. рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдврд╛рдВрдЪрд╛ рдФрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд░рд┐рдЬрд░реНрд╡ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдпреВрдЖрдИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЧреНрд░рд╛рдЙрдВрдб рд╣реИред