[Start] Playing

1,860 views
1,744 views

Published on

「PlayFramework関西ビギナーズ in OsakanSpace 第1回」

http://atnd.org/events/33666

Play frameworkの概要と今後についてゆるく説明して、
Playとそのコミュニティを雰囲気を知っていただこうという趣旨で発表しました。

参加された方の半数がPHPユーザだったので、冒頭でPHPユーザの方向けの説明を特別に入れたりして工夫しています。

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,860
On SlideShare
0
From Embeds
0
Number of Embeds
599
Actions
Shares
0
Downloads
18
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

[Start] Playing

  1. 1. > play new
  2. 2. Do you knowWeb Application Framework?
  3. 3. Do you knowPlay!> framework?
  4. 4. Do you know Scala?’’’
  5. 5. [Start]Playing! @mumoshu
  6. 6. # of atnders php java scala jspython perl 0 5 10 15
  7. 7. PHP vs Play PHP Symfony Symfonynaked? Slim CakePHP CakePHP <- thin rich -> Play!>
  8. 8. Play is• A web application framework• Ease common tasks in web dev
  9. 9. Play basics•Easy start•Simple development•Scala
  10. 10. Play basics•Easy start•Simple development•Scala
  11. 11. How to start•Download•Unzip•play new
  12. 12. Play basics•Easy start•Simple development•Scala
  13. 13. How you develop•play run•Repeat: •Write code! •F5!
  14. 14. Play basics•Easy start•Simple development•Scala
  15. 15. Scala ’’’• Run on JVM• A lot of Java libraries• Hybrid language • Imperative programming • Object oriented programming • Functional programming
  16. 16. Whats happy with FP• Concurrency• Scalability
  17. 17. Imperative vs Functional• Imperative Programming do A -> state++, do B -> state++, ...• Functional programming in1 -> f(x) -> out1 in2 -> g(x) -> out2
  18. 18. + concurrency
  19. 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. 20. Easy scalability• Single Play req -> acion1(x) -> result req -> acion2(x) -> result ...• Multiple Play’s req -> play1 -> result req -> play2 -> result ...
  21. 21. Play basics•Easy start•Simple development•Scala
  22. 22. Play basics•Easy start•SimpleHopeful! development•Scala
  23. 23. break 1/3   ビースト★ハーレム ∼野獣の甘噛み∼http://pf.gree.jp/56616
  24. 24. Play specifics• Documented• Translated• Pluggable• Statically Typed
  25. 25. Documented• 0ver 100 pages• http://playframework.org/
  26. 26. Play specifics• Documented• Translated• Pluggable• Statically Typed
  27. 27. Translated• Over 100 pages• http://playdocja.appspot.com/
  28. 28. Play specifics• Documented• Translated• Pluggable• Statically Typed
  29. 29. Pluggable• 27 plugins• http://www.playframework.org/ documentation/2.0.4/Modules
  30. 30. Plugins• LESS • Redis• SASS • MongoDB• CoffeeScript • etc.• TypeScript <- Me modern web dev with a lot of plugins• Velocity <- FuRyu• Memcached <- Me
  31. 31. Play specifics• Documented• Translated• Pluggable• Statically Typed
  32. 32. Statically Typed• Can be freed from • null/NULL• Free from • ReferenceError • TypeError • ‘Call to undefined function’
  33. 33. Statically Typed vs Not ~ ?• What we GET if its NOT statically typed
  34. 34. You see• careless mistakes• typos on runtime
  35. 35. NullPointerException
  36. 36. ReferenceError
  37. 37. TypeError
  38. 38. Call to undefined function
  39. 39. Play specifics• Documented• Translated• Pluggable• Typed
  40. 40. Play specifics• Documented• Translated Productive!• Pluggable• Typed
  41. 41. break 2/3WEB+DB vol.71
  42. 42. Play 2.x• We have Play 1.x, 2.0• Play 2.1 is coming
  43. 43. Play 1.x• Written in Java• Supports Java and Scala• Since 2009• Stable
  44. 44. Play 2.0• Written in Scala• Supports Scala and Java• Since 2012• More scalability• Typesafe Stack & Typesafe, Inc.
  45. 45. Play 2.1• Features• Improvements• Changes
  46. 46. Play 2.1 Features• Scala 2.10• Scala’s Promise API• Better JSON API• Project templates & Scaffolding
  47. 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. 48. Play 2.1 Changes• Anorm to Slick(ScalaQuery)
  49. 49. Play 2.x is•Active!
  50. 50. Recommendation• Do you want to: • write web apps in Java/Scala? • try modern tech?
  51. 51. > play new
  52. 52. > play new
  53. 53. > play run
  54. 54. [Start]Playing! @mumoshu
  55. 55. Thank you!

×