Impressions of

»ping conf Play! edition«

Created by Alexander Daniel / @lachdrache

  • 2 days in Budapest
  • Single-track conference with 2 keynotes & 12 talks
  • ~150 people

6 Scala enthusiasts from Vienna were at ping conf

Best Of

Sadek Drobi

Why is Play done the way it is?

Aims of Play framework

  • Simplicity
  • Dev productivity
  • HTTP/Web friendliness

What is the most simple thing?

a function

  • simple
  • truthful about type
  • composable
    A => B
    B => C
    A => C

Action in Play

Just a function: Request => Result

Is this enough?

RequestHeader =>
Iteratee[Array[Byte], Result]

Is functional programming scary?

You don't have to deal with Iteratee
the BodyParser takes care of it

Simple things are simple

If you want to do streaming stuff it is more complicated of course

Composability

most important thing about FP

Christopher Hunt

Javascript functionality coming to Play 2.3

Make Play a great choice for JS development

sbt-web

a sbt plugin factored out of Play

handles the asset pipeline

Per default Rhino-based

Other JS engines like Node can be configured

sbt-jshint-plugin

parallel execution

incremental execution

Christopher recommends to start a Play project via Activator

WebJars will get CDN support in production

Yevgeniy Brikman

aka Jim

Building composable, streaming, testable Play apps

functions compose

Play actions are just functions

Play has great streaming support

Showed how to implement Facebook BigPipe with Play

Inspiring how he composed the basic building blocks

James Roper

tech lead for Play

Play is for Performance

What is performance?

Play is about scalability

But reactive apps are slower that single-threaded because of context switching

Was mitigated Play 2.2 using a trampoline execution context which executes short-running operations on the same thread

If you have blocking operations in your app (e.g. JDBC) use separate execution context for these

Johan Andrén

Async: Reacting instead of waiting for better times

Johan explained futures and actors with visual very attractive graphics

Great resource for understanding the concepts quickly

was a great conference

Conference web site at http://www.ping-conf.com

Videos of presentations available at http://www.ustream.tv/pingconf