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
The second version of Scala has undergone multiple changes to support features and library implementations. Scala 2.13, with its main focus on modularizing the standard library and simplifying collections, brings with it a host of updates.
Learn Scala Programming addresses both technical and architectural changes to the redesigned standard library and collections, along with covering in-depth type systems and first-level support for functions. You will discover how to leverage implicits as a primary mechanism for building type classes and look at different ways to test Scala code. You will also learn about abstract building blocks used in functional programming, giving you sufficient understanding to pick and use any existing functional programming library out there. In the concluding chapters, you will explore reactive programming by covering the Akka framework and reactive streams.
By the end of this book, you will have built microservices and learned to implement them with the 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