рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП! рд░реВрдкрд░реЗрдЦрд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╖рдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмреЗ рдкрд░ рд╣реИрдВ:
рдЧреНрд░реЗрдЯ рдЬрд╛рд╡рд╛ рдПрдорд╡реАрд╕реА рдлреНрд░реЗрдорд╡рд░реНрдХ - рдкреНрд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ'рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб' рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ - рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдкреНрд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рднрд╛рдЧ 1)'рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб' рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ - рдЖрдкрдХрд╛ рдкрд╣рд▓рд╛ рдкреНрд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рднрд╛рдЧ 2)рдкреНрд▓реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдореЗрд░реЗ 5 рдкрд╕рдВрджреАрджрд╛ рдЪрд┐рдкреНрд╕Play рдХреА рдорд╣рд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ! - Google рд╕реЗ
рдРрдк рдЗрдВрдЬрди рдХреЗ рдХреНрд▓рд╛рдЙрдб рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЗрдВ рдЖрд╡реЗрджрди рдХреА рддреИрдирд╛рддреАред
рдЬреАрдПрдИ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдмрд▓реНрдХрд┐ рд╕рдЦреНрдд рдкреНрд░рддрд┐рдмрдВрдз (рдирд┐рдпрдорд┐рдд рдкреНрд▓реЗ! рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ) рдХреЗ рдЕрдзреАрди рд╣реИрдВ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдореЙрдбреНрдпреВрд▓ (рдЬреЗрдкреАрдП / рд╣рд╛рдЗрдмрд░рдиреЗрдЯ) рдХреЗ рдХрд╛рд░рдгред рдЬреАрдПрдИ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЬреЗрдкреАрд╕реБрдкреЛрд░реНрдЯ / рдореЙрдбрд▓ рд╕рд╣рд╛рдпрдХреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬреЗрдкреАрдП рдХреА рдХреЗрд╡рд▓ рдореВрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рд╡рд┐рдХрд▓реНрдк
рд╕рд┐рдПрдирд╛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рдореИрдВ рдкреНрд▓реЗ рдХреА рддреИрдирд╛рддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛! Google AppEngine рдореЗрдВред
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдУрдПрд╕ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдУрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрджреЗрд╢реЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдирд┐рд░рдкреЗрдХреНрд╖ рдкрде рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ Play рдореЗрдВ рдПрдХ рдкрде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ! рдкреЗрдЯ рдореЗрдВред
1. рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд╛рдЗрдЯ рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
(рдЖрдк github рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
www.playframework.org/code )
cd
wget download.playframework.org/releases/play-1.2.1.zip
unzip play-1.2.1.zip
cd play-1.2.1/
2. Java рдХреЗ рд▓рд┐рдП AppEngine SDK рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
wget googleappengine.googlecode.com/files/appengine-java-sdk-1.5.1.zip
unzip appengine-java-sdk-1.5.1.zip
3. рдЬреАрдПрдИ рдФрд░ рд╕рд┐рдПрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
/home/albert/play-1.2.1/play install gae
/home/albert/play-1.2.1/play install siena
рд╣рдо рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ "y" рджреЗрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
4. appengine.google.com рдкрд░ рдПрдХ рдЦрд╛рддрд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ
(рдЕрдкрдиреЗ Google рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдлрд╝реЛрди рдирдВрдмрд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдк рдЕрдзрд┐рдХрддрдо 10 AppEngine рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдпрд╣рд╛рдВ GAE рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ:
code.google.com/intl/en/appengine5. рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рддреИрдпрд╛рд░ рдХрд░рдирд╛
рдкреНрд▓реЗ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ! рд╣рдо /home/albert/play-1.2.1/modules/gae-1.4/samples-and-tests/lists-with-gae рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ рд╕реИрдВрдкрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЧреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдирдореВрдирд╛ рдЖрд╡реЗрджрди рд╕рд┐рдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди /home/albert/play-1.2.1/modules/gae-1.4/samples-and-tests/lists-with-gaf/application.conf рдореЗрдВ рд╣рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЧреЗ рд╕реАрдирд╛ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкрде, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди
module.siena=${play.path}/modules/siena-1.3
рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ
module.siena=${play.path}/modules/siena-2.0.1
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрд╡реЗрджрди рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ:
cd /home/albert/play-1.2.1/modules/gae-1.4/samples-and-tests/
/home/albert/play-1.2.1/play run lists-with-gae
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЛрдб (DEV рдореЛрдб) рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдЧрд╛ рдФрд░ рд╣рдо рдЗрд╕реЗ
рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд▓рд┐рдВрдХ : / / рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░ рдкрд╛рдПрдВрдЧреЗред
6. AppEngine рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ / home/albert/play-1.2.1/modules/gae-1.4/samples-and-tests/lists-with-gae/war/WEB-INF/appengine-web.xml
AppEngine рдкрд░ рдЪрд░рдг 4 рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
7. рдЪрд▓реЛ рдЖрд╡реЗрджрди precompile
/home/albert/play-1.2.1/play precompile lists-with-gae
/home/albert/play-1.2.1/play war lists-with-gae -o /tmp/lists-with-gae.war
8. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреИрдирд╛рддреА
/home/albert/appengine-java-sdk-1.5.1/bin/appcfg.sh update /tmp/lists-with-gae.war
рд╣рдо рдЙрд╕ Google рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдИрдореЗрд▓ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдордиреЗ GAE рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдерд╛ рдФрд░ рдЬрдм рддрдХ рддреИрдирд╛рддреА рдкреВрд░реА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреВрд░реНрдг рддреИрдирд╛рддреА (рдЦрдВрдб 7. рдФрд░ 8) рдПрдХ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
/home/albert/play-1.2.1/play gae:deploy lists-with-gae --gae=/home/albert/appengine-java-sdk-1.5.1
9. рдЖрд╡реЗрджрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ
appgoer.appspot.com ) рдХреЗ рдкрддреЗ рдХреА рдУрд░
рдореБрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред Appgoer рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХрд┐рд╕реА рднреА рдХрдард┐рдирд╛рдИ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд╡реЗрджрди рдХреЗ рд╕рднреА рд▓реЙрдЧ рдЬреАрдПрдИ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
10. рдЪрд▓реЛ рдЦреЗрд▓рддреЗ рд╣реИрдВ!