* Craft a completely reactive functional application from front end to back end
* Step-by-step instructions, examples, and hands-on practices designed to help you learn the key secrets and intricacies of Scala app development
* Comprehensive coverage of all the most popular tools in the more » Scala ecosystem
Scala is known for incorporating both object-oriented and functional programming into a concise and extremely powerful package. However, creating an app in Scala can get a little tricky because of the complexity. This book will help you dive straight into app development by creating a real, reactive, and functional application. We will provide you with practical examples and instructions using a hands-on approach that will give you a firm grounding in reactive functional principles.
The book will take you through all the fundamentals of app development within Scala as you build an application piece by piece. We've made sure to incorporate everything you need from setting up to building reports and scaling architecture. This book also covers the most useful tools available in the Scala ecosystem, such as Slick, Play, and Akka, and a whole lot more. It will help you unlock the secrets of building your own up-to-date Scala application while maximizing performance and scalability.
WHAT YOU WILL LEARN
* Use Akka to create a chat service for your app
* Equip yourself with the techniques and tools to build reports and build database persistence with Scala and Slick
* Develop a customer-facing Rest API that makes use of Scala and Spray
* Make use of the Scala web development principles and scale up the architecture of your application
* Get familiar with the core principles and concepts of Functional Programming
* Use the Play framework to create models, controllers, and views
* Develop reactive backing frameworks by writing code with RxScala
* Discover what proper testing entails with Scala using behavior-driven development « less
Leverage the awesome features of Play Framework to build scalable, resilient, and responsive applications
ABOUT THIS BOOK
* Demystify the quandaries of web development using Play Framework
* Test and debug your apps by using Play's built in testing framework
* Master the core features of Scala through a comprehensive coverage of code and examples for different scenarios
WHO THIS BOOK IS FOR
This book more » is intended for those developers who are keen to master the internal workings of Play Framework to effectively build and deploy web-related apps.
WHAT YOU WILL LEARN
* Customize your framework to accommodate the specific requirements of an application
* Develop responsive, reliable, and highly scalable applications using Play Framework
* Build and customize Play Framework plugins that can be used in multiple Play applications
* Familiarize yourself with third-party APIs to avoid rewriting existing code
* Gain an insight into the various aspects of testing and debugging in Play to successfully test your apps
* Get to know all about the concepts of WebSockets and Actors to process messages based on events
Play Framework is an open source web application framework that is written in Java and Scala. It follows the Model-View-Controller architectural pattern and enables the user to employ Scala for application development, while keeping key properties and features of Play Framework intact.
Starting off by building a basic application with minimal features, you get a detailed insight into handling data transactions and designing models in Play. Next, you venture into the concepts of Actors and WebSockets, the process of manipulating data streams, and testing and debugging an application in Play. Finally, you gain an insight into extending the framework by writing custom modules or plugins in Play. Each chapter has a troubleshooting section that helps you out by discussing the causes of, and solutions to, some commonly faced issues. « less
Covers Play 2
Play for Java shows you how to build Java-based web applications using the Play 2 framework. The book starts by introducing Play through a comprehensive overview example. Then, you'll look at each facet of a typical Play application, both by exploring simple code snippets and by adding to more » a larger running example. Along the way, you'll contrast Play and JEE patterns and learn how a stateless web application can fit seamlessly in an enterprise environment.
About the Book
For a Java developer, the Play web application framework is a breath of fresh air. With Play you get the power of Scala's strong type system and functional programming model, and a rock-solid Java API that makes it a snap to create stateless, event-driven, browser-based applications ready to deploy against your existing infrastructure.
Play for Java teaches you to build Java-based web applications using Play 2. This book starts with an overview example and then explores each facet of a typical application by discussing simple snippets as they are added to a larger example. Along the way, you'll contrast Play and JEE patterns and learn how a stateless web application can fit seamlessly in an enterprise Java environment. You'll also learn how to develop asynchronous and reactive web applications.
The book requires a background in Java. No knowledge of Play or of Scala is assumed.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
* Build Play 2 applications using Java
* Leverage your JEE skills
* Work in an asynchronous way
* Secure and test your Play application
About the Authors
Nicolas Leroux is a core developer of the Play framework. Sietse de Kaper develops and deploys Java-based Play applications.
Table of Contents
1. PART 1 INTRODUCTION AND FIRST STEPS
2. An introduction to Play
3. The parts of an application
4. A basic CRUD application
5. PART 2 CORE FUNCTIONALITY
6. An enterprise app, Play-style
7. Controllers—handling HTTP requests
8. Handling user input
9. Models and persistence
10. Producing output with view templates
11. PART 3 ADVANCED TOPICS
12. Asynchronous data
14. Modules and deployment
15. Testing your application « less