рд╕рднреА рдХреЛ рд╢реБрдн рджрд┐рдиред рдореИрдВ рдкреНрд▓реЗ 2 рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡рд░реНрдгрди рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрд╣ рд▓реЗрдЦ play2 рд╕реНрдХреИрд▓рд╛ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛ред
рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрддрд╛рдКрдВрдЧрд╛ рдФрд░ рдЦреЗрд▓реВрдВрдЧрд╛ред 2008 рд╕реЗ 2010 рддрдХ рдореИрдВрдиреЗ рдкреНрд▓реЗ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рдлрд┐рд░ рд╣рдордиреЗ рдкреНрд▓реЗ рдХреЗ рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди (рд╕рдВрд╕реНрдХрд░рдг 1.0 рдФрд░ 1.1) рдкрд░ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреАред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВрдиреЗ рдЯреАрдо рдмрджрд▓ рджреА рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдХреНрд╕рд░ рдЕрдкрдиреЗ рдкреВрд░реНрд╡ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЦреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВред рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдкреНрд░рд╡рд╛рд╣рд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдлреНрд░рд╛рдВрд╕реАрд╕реА рдмреИрдВрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдореЗрдВ рдЦреЗрд▓рдиреЗ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВред
рд╕реНрдХрд╛рд▓рд╛ рдФрд░ рдЬрд╛рд╡рд╛ рдХреА рднреВрдорд┐рдХрд╛
рдпрджрд┐ рдкреНрд▓реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реНрдХреИрд▓рд╛ рд╕рдорд░реНрдерди рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╕рдВрд╕реНрдХрд░рдг 2 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рд╕реНрд▓реИрд╡ рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рд╕рдордореВрд▓реНрдп рдкрд░ рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдкреВрд░реНрдг рд╕рджрд╕реНрдп рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд▓реЗ 2 рдХреА рдХрдИ рдИрдВрдЯреЗрдВ рд╕реНрдХреИрд▓рд╛ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ рдФрд░ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд▓реЗ рдХреА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдереА рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЕрдЬрдЧрд░, рдмреИрд╢, рдмреИрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдмрд╛рдж рдореЗрдВ, рдРрд╕реЗ рд▓реЛрдЧ рдереЗ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдВрдд рдореЗрдВ рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ рдврд╛рдВрдЪреЗ рдХреЛ рдЙрдЬрд╛рдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрд╡реЗрди рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред рдЕрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рд╕рд┐рд╕реНрдЯрдо sbt + plugin play sbt (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдереЛрдбрд╝рд╛ рдмреИрд╢, рдмреИрдЪ рдЬрд╣рд╛рдВ рдЙрдирдХреЗ рдмрд┐рдирд╛) рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХрдВрд╕реЛрд▓ рдЪрд▓рд╛рдПрдВ
рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдкреНрд▓реЗ рдХреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдВрд╕реЛрд▓ рдорд┐рд▓рд╛ред рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдВрд╕реЛрд▓ рд╕реЗ рд╕реАрдзреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдЖрджрд┐) рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ, рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ, рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд▓реЗ рдХрдВрд╕реЛрд▓ рдПрд╕рдмреАрдЯреА рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдб-рдСрди рд╣реИред
рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ
рдЕрдм рдЕрдкрдиреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ (рдХреНрд░рд┐рдпрд╛рдУрдВ) рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд▓реМрдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдкрд░рд┐рдгрд╛рдо (рдкрд░рд┐рдгрд╛рдо)ред рд╕реНрдХрд╛рд▓рд╛ рднрд╛рдЧ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд╣рд╛рдпрдХ рд╣реЛрддрд╛ рд╣реИ - рдХреНрд░рд┐рдпрд╛:
рдбреАрдИрдПрдлрд╝ рдЗрдВрдбреЗрдХреНрд╕ = рдПрдХреНрд╢рди {
рдареАрдХ рд╣реИ ( "рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛!" )
}
рдпрд╣ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред
рд░реВрдЯрд┐рдВрдЧ (рдорд╛рд░реНрдЧ)
рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд░реВрдЯрд┐рдВрдЧ рддрдВрддреНрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ рдмрдЪ рдирд╣реАрдВ рдкрд╛рдпрд╛ред рдЕрдм рдЖрдкрдХреЛ рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ http рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
GET / рдирд┐рдпрдВрддреНрд░рдХреЛрдВред рдЖрд╡реЗрджрди ред рд╕реВрдЪреА
POST /: рдЖрдИрдбреА рдирд┐рдпрдВрддреНрд░рдХред рдЖрд╡реЗрджрди ред new1 ( рдЖрдИрдбреА: рдЗрдВрдЯ )
рдпрджрд┐ рдЖрдк рдХреНрд░рд┐рдпрд╛ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░реВрдЯ рдореИрдк рдбрд┐рдЬрд╛рдЗрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЧреИрд░-рдореМрдЬреВрдж рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ -
TODO рдЬреЛ рдХреЙрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ 503 рджреЗрддрд╛ рд╣реИред
рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдирд┐рдпрдВрддреНрд░рдХ {
def рдЗрдВрдбреЗрдХреНрд╕ = TODO
def new1 ( id: Long ) = TODO
}
рд░рд╛рдп
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкреНрд▓реЗ 2 рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдХреИрд▓реНрдк рдкрд░ рд╕рднреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдФрд░ ASP.NET рд░реЗрдЬрд░ рдХреЗ рд╕рдорд╛рди рдПрдХ рдирдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдЗрдВрдЬрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрдВрдЬрди рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕реАрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдЖрджрд░реНрд╢
рдкреНрд▓реЗ 2 рдореЗрдВ, рдПрдХ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл
jdbc рдпрд╛
Anorm рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
ScalaQuery рдпрд╛ рдпрджрд┐ рдЖрдк
jpa рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдореИрдВ рдЖрдкрдХреЛ рдирд╣реАрдВ
рд╕реБрдЭрд╛рдКрдВрдЧрд╛ ред рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдореЗрдВ рдПрдиреЛрд░реНрдо рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗ рд╕рдХрддрд╛ рдерд╛ред
рдЕрдХреНрдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
рдЖрдк рдкреНрд▓реЗ 2 рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рднрд╛рдЧ рдХреЛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рди рдкрд╛рдПрдВрдЧреЗ, рдЗрд╕реЗ рдЕрдХреНрдХрд╛ 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рдЕрднрд┐рдиреЗрддрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реАрдзреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрднрд┐рдиреЗрддрд╛ рдкреНрд░рдгрд╛рд▓реА рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдХреНрдХрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ -рдбрд┐рд╕реНрдкреИрдХреНрдЯрд░ рдХреЛрд░ -рдЖрдХрд╛рд░-рдЕрдзрд┐рдХрддрдо = 64
рдЕрдХреНрдХрд╛ред рдбреАрдмрдЧ рдХрд░реЗрдВ ред рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ = рдкрд░
рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдХреЗрд╡рд▓ рдЕрдм рдпрд╣ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рдорд┐рддреНрд░ рдХреЗ рджреНрд╡рд╛рд░рд╛, рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, dsl рдХреА рднрд╛рд╡рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХред
рдЕрдХреНрдХрд╛ред рдкреНрд░рдгрд╛рд▓реА ред рдЕрдиреБрд╕реВрдЪрдХ ред рдЕрдиреБрд╕реВрдЪреА ( 0 рд╕реЗрдХрдВрдб, 30 рдорд┐рдирдЯ, рдкрд░реАрдХреНрд╖рдг, "рдореБрдЭреЗ" )
рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ HTTP
рдЪреВрдБрдХрд┐ рдирд╛рдЯрдХ рдХреА рдкреВрд░реА рдЖрдВрддрд░рд┐рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ
рд╢реБрджреНрдзрддрд╛ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
, рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ WebSocket рдпрд╛ HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЙрдкрдпреЛрдЧ рдЬреИрд╕реА рдЕрджреНрднреБрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд┐рд╕реА рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдРрд╕реА рд╣реА рдХреБрдЫ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП async HTTP рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЕрдкрдиреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ
SimpleResult рд╕реЗ
AsyncResult рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реИ ред
рдбреАрдИрдПрдлрд╝ рдЗрдВрдбреЗрдХреНрд╕ = рдПрдХреНрд╢рди {
рд╡реИрд▓ рд╡рд╛рджрд╛ = рдЕрдХреНрдХрд╛ред рднрд╡рд┐рд╖реНрдп { рдЧрдгрдирд╛ ( ) }
Async {
рд╡рд╛рджрд╛ред рдирдХреНрд╢рд╛ ( рдкрд░рд┐рдгрд╛рдо = > рдареАрдХ рд╣реИ ( "рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛:" + рдкрд░рд┐рдгрд╛рдо ) )
}
}
рдЬреБрдмрд╛рди рд╕реЗ рдХрд╛рдо рд▓реЗрдВ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреНрд▓реЗ 2 рдореЗрдВ рд╣реЛрдордмреЙрд░реНрди рдПрдкреАрдЖрдИ рдХреЛ рдЬрд╕рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред рд░реАрдбрд┐рдВрдЧ рдЬреЛрдВрд╕ рдЕрднреА рднреА рдирд╣реАрдВ рдЧрдпрд╛ (рд╕рд░рд▓ рдорд╛рдорд▓реЛрдВ рдореЗрдВ), рд▓реЗрдХрд┐рди рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдЬреЛрдВрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдмрд╣реБрдд рд╣реА рдХрдо рд╣реИред
рдкрдврд╝рдиреЗ:( ( рдЬрд╕рди рдкрд╛рд░реНрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ ) "рдиреЛрдб 1" "рдиреЛрдб 2" ) ред asOpt [ рд╕реНрдЯреНрд░рд┐рдВрдЧ ]
рдирд┐рд░реНрдорд╛рдг:Json toJson Seq ( toJson ( 1 ) , toJson ( "рдмреЙрдм" ) , toJson ( 3 ) , toJson ( 4 ) )
рдпрджреНрдпрдкрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЦреЗрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред
рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ
рдЧреНрд▓реЛрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреНрд▓рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рдШрдЯрдирд╛рдУрдВ рдЬреИрд╕реЗ рдХрд┐
onStart ,
onStop ,
onError ,
onActionNotound, рдЖрджрд┐ рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣
@OnApplicationStart рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ рдФрд░ async рдиреМрдХрд░рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ 1. * рдЦреЗрд▓рддреЗ рд╣реИрдВред рдРрд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреНрд▓реЛрдмрд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ GlobalSettings {
рдУрд╡рд░рд░реЗрдб рдбреА рдСрдирд╕реНрдЯрд╛рд░реНрдЯ ( рдРрдк: рдПрдкреНрд▓рд┐рдХреЗрд╢рди ) {
рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ ред рдЬрд╛рдирдХрд╛рд░реА ( "рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИ" )
}
рдУрд╡рд░рд░рд╛рдЗрдб рдбрд┐рд╕рдСрдирдЯреЙрдк ( рдРрдк: рдПрдкреНрд▓рд┐рдХреЗрд╢рди ) {
рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ ред рдЬрд╛рдирдХрд╛рд░реА ( "рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢рдЯрдбрд╛рдЙрди ..." )
}
}
рдкрд░реАрдХреНрд╖рдг
рдпрд╣рд╛рдВ рдореИрдВ рдХреЗрд╡рд▓ рд╕реНрдХреИрд▓рд╛ рднрд╛рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣реВрдВрдЧрд╛ред рдЕрдВрдд рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛, рдЕрд░реНрдерд╛рддреН рдореЙрдХрд┐рдЯреЛ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЪрд╢реНрдорд╛ 2ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реАрдХреНрд╖рдг рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛ рд╣реБрдЖ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣ рд▓реЗрдЦ рдХреЗрд╡рд▓ рдирд╛рдЯрдХ 2 рдврд╛рдВрдЪреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рддрд╣реА рдЕрд╡рд▓реЛрдХрди рд╣реИред рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
- Play2 рдкрд░ рдПрдиреЙрд░реНрдо рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд╢ рдУрдЖрд░рдПрдо
- MVC play2 рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ
- рдЙрддреНрдкрд╛рджрди рдореЗрдВ Play2
- рдЖрджрд┐
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред