Contenu connexe Similaire à [Start] Playing (20) [Start] Playing7. PHP vs Play
PHP Symfony
Symfony
naked?
Slim CakePHP
CakePHP
<- thin rich ->
Play!>
8. Play is
• A web application framework
• Ease common tasks in web dev
15. Scala
’’’
• Run on JVM
• A lot of Java libraries
• Hybrid language
• Imperative programming
• Object oriented programming
• Functional programming
17. Imperative vs
Functional
• Imperative Programming
do A -> state++,
do B -> state++, ...
• Functional programming
in1 -> f(x) -> out1
in2 -> g(x) -> out2
19. Easy concurrency
• Imperative programming
do A -> state <- do B
> sudden conflict!!! <
• Functional programming
in1 -> f(x) -> out1, in2 -> g(x) -> out2
> no conflict!!! <
20. Easy scalability
• Single Play
req -> acion1(x) -> result
req -> acion2(x) -> result
...
• Multiple Play’s
req -> play1 -> result
req -> play2 -> result
...
23. break
1/3
ビースト★ハーレム
∼野獣の甘噛み∼
http://pf.gree.jp/56616
27. Translated
• Over 100 pages
• http://playdocja.appspot.com/
29. Pluggable
• 27 plugins
• http://www.playframework.org/
documentation/2.0.4/Modules
30. Plugins
• LESS • Redis
• SASS • MongoDB
• CoffeeScript • etc.
• TypeScript <- Me
modern web dev with
a lot of plugins
• Velocity <- FuRyu
• Memcached <- Me
32. Statically Typed
• Can be freed from
• null/NULL
• Free from
• ReferenceError
• TypeError
• ‘Call to undefined function’
34. You see
• careless mistakes
• typos
on runtime
41. break
2/3
WEB+DB vol.71
42. Play 2.x
• We have Play 1.x, 2.0
• Play 2.1 is coming
43. Play 1.x
• Written in Java
• Supports Java and Scala
• Since 2009
• Stable
44. Play 2.0
• Written in Scala
• Supports Scala and Java
• Since 2012
• More scalability
• Typesafe Stack & Typesafe, Inc.
46. Play 2.1
Features
• Scala 2.10
• Scala’s Promise API
• Better JSON API
• Project templates & Scaffolding
47. Play 2.1
Improvements
• Run tests in Forked JVM
• Out of memory: PermGen Space
• Faster compile
• thanks to Scala 2.10 & SBT 0.12
48. Play 2.1
Changes
• Anorm to Slick(ScalaQuery)
50. Recommendation
• Do you want to:
• write web apps in Java/Scala?
• try modern tech?