Play Framework 2 - High Productivity Web Development with Java/Scala, W-JAX 2013

Preview:

DESCRIPTION

The demo is available on github: https://github.com/magro/play-product-finder/

Citation preview

Play Framework 2High Productivity Web Development with Java/Scala

W-JAX – 07.11.2013

@martin_grotzke – http://ino.io

Martin Grotzkeinoio gmbh

Twitter: @martin_grotzkeWeb: http://ino.io

3/24

For the impatient...

“Play is a high-productivity Java and Scala web application framework [..] based on a lightweight, stateless, web-friendly architecture and features predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications thanks to its reactive model [..].”

http://www.playframework.com/documentation/2.2.x/Home

3/24

4/24

JEE complexityLayers of JEE specs can turn a simple ajax call into a real problem

4/24

5/24

Play simplyEmbraces HTTP. If you know the web you already know a lot about Play

5/24

6/24

ElasticityServer side sessions are a hurdle to achieve elasticity

6/24

7/24

Play statelessPlay enforces a stateless model — it's elastic by default.

7/24

8/24

Realtime

8/24

The evolution of the web presents new challenges

9/24

Play reactivePlay works efficiently due to it's reactive nature

9/24

10/24

ProductivityJEE looses the productivity competition with Ruby on Rails

After the introduction of rails at Thoughtworks M. Fowler asked the teams / managers howproductivity has changed. One can conclude that it had increased.

10/24

11/24

Play full stackPlay brings all you need for building a web application

11/24

12/24

Play full stackPlay brings all you need for building a web application

12/24

13/24

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

13/24

14/2414/24

● Hot Code Reloading

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

15/2415/24

● Hot Code Reloading● Type Safety & Clean Error Messages

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

16/2416/24

?#@*&%!

17/2417/24

● Hot Code Reloading● Type Safety & Clean Error Messages

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

18/2418/24

● Hot Code Reloading● Type Safety & Clean Error Messages● Reactive Persistence with Activate

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

19/2419/24

● Hot Code Reloading● Type Safety & Clean Error Messages● Reactive Persistence with Activate● Frontend: Asset Compiler, JS Routes, RequireJS

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

20/2420/24

● Hot Code Reloading● Type Safety & Clean Error Messages● Reactive Persistence with Activate● Frontend: Asset Compiler, JS Routes, RequireJS● Reactive End-To-End

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

21/2421/24

● Hot Code Reloading● Type Safety & Clean Error Messages● Reactive Persistence with Activate● Frontend: Asset Compiler, JS Routes, RequireJS● Reactive End-To-End● More: Akka, Testing, Configuration, WebJars, ...

Play demoReactive end-to-end sample app: https://github.com/magro/play-product-finder

22/24

Play reality check

22/24

Any things to be aware of?

23/24

Get started: http://typesafe.com/activator

23/24

A browser-based tool that helps developers get started with Play Framework, Akka & more

Play start

24/24

Questions?

@martin_grotzkehttp://ino.io