Learn Scala Programming: A comprehensive guide covering functional and reactive programming with Scala 2.13, Akka, and Lagom
A step-by-step guide in building high-performance scalable applications with the latest features of Scala.
- Develop a strong foundation in functional programming and Scala's Standard Library (STL)
- Get a detailed coverage of Lightbend Lagom―the latest microservices framework from Lightbend
- Understand the Akka framework and learn event-based Programming with Scala
Today's Scala is quite different from its earlier versions. The second version of the language is more than twelve years old and has undergone multiple changes related to supported features and library implementation. Scala 2.13, with its main focus on modularizing standard library and simplifying collections, brings around such a change one more time.
This book addresses both technical and architectural changes by providing a comprehensive guide to the redesigned standard library and collections as well as covering in-depth type system and first-level support for functions. It will teach you how to leverage implicits as a primary mechanism for building type classes and looks at different ways to test Scala code. You will learn about abstract building blocks used in functional programming, giving understanding sufficient to pick up and use any existing functional programming library out there.
The book will explore reactive programming by covering the Akka framework and reactive streams. Finally, 2 definitive projects will help you will build microservices and teach you how to implement them with Scala and Lagom framework.
What you will learn
- Acquaint yourself with the new standard library of Scala 2.13
- Get to grips with the Grok functional paradigms
- Get familiar with type system to express domain constraints
- Understand the actor model and different Akka libraries
- Grasp the concept of building microservices using Lagom framework
- Deep dive into property-based testing and its practical applications
Who this book is for
This book is for beginner to intermediate level Scala developers who would like to advance and gain knowledge of the intricacies of the Scala language, expand their functional programming tools, and explore actor-based concurrency models.
Table of Contents
- An Introduction to the Scala 2.13 standard library
- Understanding Types in Scala
- Deep Dive into Functions
- Getting to know Implicits and Type Classes
- Property based testing in Scala
- Exploring Build-in Effects
- Understanding Algebraic Structures
- Dealing with Effects
- Familiarizing Yourself with Basic Monads
- A Look at Monad Transformers and Free Monad
- An Introduction to Akka and Actor Models
- Building Reactive Applications with Akka Typed
- Basics of Akka Streams
- Building Microservices with Scala
- Building Microservices with Lagom
- Preparing the environment and running code samples