O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Scala Projects

Video Description

Develop real-world Scala applications using concurrency and message passing in an Akka framework with Play web development

About This Video

  • Use best-in-class systems including the Akka framework and the Play web framework within your applications
  • Build a form-based application with the MVC architecture using Play and Slick-JDBC
  • Use the message passing pattern to build a ping-pong application and solve the famous dining-philosophers' concurrency problem using the Akka actor system

In Detail

Scala is a functional programming language that supports OOP principles and it’s quite challenging to develop scalable and reactive applications without any framework/library support. This video course is designed to help Scala programmers who have very basic knowledge of the Scala language build real-world applications from scratch using the Play and Akka frameworks with the underlined concurrency resolution mechanism.

In this course you will learn various features of the Play and Akka frameworks by building 5 real-world applications with increasing complexity. Beginning with a simple project, a product catalog-listing application, the course will take you through building a customer data entry application, a string processing application to get a word count, a message passing app like Ping pong actors example and Dining-philosophers problem-in humus.

Each project will help you master the programming and data capabilities of Scala. By the end of the course, you will not only be empowered by knowing the ins and outs of Scala, but you will also be able to apply them to solve a variety of problems.

The code bundle for this course is available at: https://github.com/PacktPublishing/Scala-Projects

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Chapter 1 : Catalogue Listing App Implementation
    1. The Course Overview 00:03:51
    2. Define Controller 00:04:05
    3. Add Custom Routes 00:02:38
    4. Design the Model for Product Catalogue 00:02:34
    5. Create Views/Templates 00:04:52
    6. Integrate Controllers, Models, and Views 00:06:36
  2. Chapter 2 : Custom Data Entry Application with Play Framework
    1. Adding Controllers with Custom Routes 00:04:14
    2. Designing Models for Customers’ Data 00:04:06
    3. Creating Form-Based Views and Templates 00:06:40
    4. Configuring Slick- JDBC Connection 00:09:53
    5. Integrate Controllers, Models, and Views with Database 00:07:45
  3. Chapter 3 : String Processing Application Using Akka Framework
    1. Defining String Processing and Word Counter Actors 00:04:26
    2. Designing String Processing Messages 00:03:10
    3. Adding Receive Methods in a String Processing Actor 00:03:23
    4. Implementing Receive Methods in Word Counter Actors 00:06:34
    5. Using Await, Futures, Timeout, and Ask Pattern to Complete the Application 00:06:39
  4. Chapter 4 : Standard Ping Pong Actors Example Using Message Passing
    1. Preparing the build.sbt File 00:03:34
    2. Defining Ping Actor and Pong Actor 00:02:48
    3. Designing Messages 00:04:55
    4. Updating the Ping Actor to Define a Receive Method 00:05:38
    5. Creating Methods to Receive Messages in the Pong Actor 00:06:45
  5. Chapter 5 : Dining Philosophers’ Problem Using Akka Framework
    1. Model Each Philosopher as an Actor 00:04:29
    2. Defining Methods for a Philosopher’s Behaviour 00:09:06
    3. Start Eating and Thinking Cycle Using Message Passing Pattern 00:06:14
    4. Define `Become` to Alternate Each Philosopher Actor between States 00:09:12
    5. Modelling Contention for Available Forks 00:11:46