Book Image

Learning Play! Framework 2

By : Andy Petrella
Book Image

Learning Play! Framework 2

By: Andy Petrella

Overview of this book

<p>The Learning Play! Framework 2 has been created for web developers that are building web applications. The core idea is to focus on the HTTP features and to enable them through a simplification lens. Building a web application no longer requires a configuration phase, an environment setup, or a long development lifecycle - it's integrated!<br /><br />Learning Play! Framework 2 will enable any web developers to create amazing web applications taking advantage of the coolest features. It's the fastest way to dive into Play!, focusing on the capabilities by using them in a sample application. Although essentially Java based code, a Scala version is presented as well – giving an opportunity to see some Scala in action.<br /><br />After setting up the machine and learning some Scala, you will construct an application which builds from static to dynamic, before introducing a database. <br /><br />Then we'll focus on how data can be consumed and rendered in several ways. This will enable some real time communication through WebSocket and Server-Sent Event – on both server and client sides.</p> <p>The book will end with testing and deployment, which completes any web development project.</p>
Table of Contents (20 chapters)
Learning Play! Framework 2
Credits
About the Author
Acknowledgement
About the Reviewers
www.packtpub.com
Preface
Materials
Index

Long tasks won't block


In this section, we'll improve the behavior of our application while using functionalities provided by third parties (like the one used so far, Twitter). Such services aren't always very efficient or may encounter some problems or maintenance.

The problem with that is its independence from our code, we don't have any control. While they help us for some parts of our application, these third parties can also break our performance. This impact comes from the fact that we're using them in actions that have to wait for an external request to respond or to fail with a timeout.

In such cases, our server can become stuck really quickly by waiting on a large number of third-party requests to release. But thinking further, we should be wondering why those actions are blocking our threads and preventing other requests being handled by the server? This makes no sense; the action, which is under the covers waiting for a remote procedure to end, should release the thread and wake...