The Play Framework at LinkedIn

Yevgeniy Brikman
6 min readintermediate
--
View Original

Overview

The article discusses the implementation of the Play Framework at LinkedIn, highlighting its benefits, developer experience, and future plans. It emphasizes how Play combines the performance of Java and Scala with the productivity of hot reload support, making web service development enjoyable and efficient.

What You'll Learn

1

How to create a new application using the Play Framework

2

How to implement non-blocking IO for parallel data fetching

3

Why Play Framework enhances developer productivity with hot reload

4

How to render views using Scala templates in Play

Key Questions Answered

What are the benefits of using the Play Framework at LinkedIn?
The Play Framework offers a lightweight structure for building scalable services without sacrificing developer productivity. Key benefits include rapid iteration, support for Java and Scala, reactive programming capabilities, and commercial support from Typesafe and Zenexity.
How does the Play Framework support both Java and Scala?
Play Framework provides idiomatic support for both Java and Scala, allowing developers to leverage JVM performance, type safety, and extensive libraries. This dual support enhances flexibility and caters to a broader developer community.
How can developers quickly see changes in their code using Play?
Developers can change the code and refresh the page to see updates instantly, thanks to Play's hot reload feature. This rapid iteration significantly improves the development workflow and reduces feedback time.
What is the process for creating a 'Hello World' application in Play?
To create a 'Hello World' application, developers set up a controller that returns a simple '200 OK' response with the text 'Hello World'. This involves configuring the routes file to expose the controller action at a specific URL.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Utilize Play's hot reload feature to enhance your development speed. By making changes to your code and refreshing the browser, you can see updates in real-time, which significantly reduces the time spent on testing and debugging.
This is particularly beneficial in agile environments where rapid iteration is crucial for meeting project deadlines.
2
Leverage Play's support for both Java and Scala to choose the best language for your project needs. This flexibility allows teams to utilize existing skills and libraries effectively.
Choosing the right language can lead to better performance and developer satisfaction, especially in teams with diverse expertise.
3
Explore Play's reactive programming capabilities to build responsive applications. Non-blocking IO allows for efficient handling of multiple requests, improving application scalability.
This approach is essential for applications that require high concurrency and real-time data processing.

Common Pitfalls

1
Developers may overlook the importance of configuring routes correctly, leading to errors when trying to access controller actions.
To avoid this, always double-check the routes file and ensure that the correct HTTP methods and URL patterns are defined.

Related Concepts

Reactive Programming
Microservices Architecture
Web Application Development