This is a sample app for the Composable and streamable Play apps talk at Ping Conference 2014. A recording of the talk, which includes live coding demos with this sample app, is available on ustream.
The code shows some examples of how to:
- Compose standalone endpoints (controllers) to build a more complex page from simpler parts
- A prototype of Facebook's BigPipe for Play: that is, tools to break a page into "pagelets" and stream each pagelet to the browser as soon as the data is available.
This is just prototype code, intended for demonstration and education. There are no tests, so I wouldn't recommend tossing it directly into production :)
This is a standard Play Framework app, built on Play 2.2.1. To run it,
install Play and do play run
.
The main example code to look:
app/controllers/Wvyp
andapp/controllers/Wvyu
show a simple, standalone modules.app/controllers/Aggregator
shows how these modules can be combined to build a more complicated module.app/controllers/WvypStream
shows how to stream the contents of a module using a BigPipe approach.app/ui
contains reusable library for composing modules and streaming HTML.
This code is available under the MIT license. See the LICENSE file for more info.