Scala Advanced, Part 2 – Best Practices, Async, Serializing


Idioms and Patterns, Dependency Injection, XML, JSON, Custom Extractors and Asynchronous Programming with Futures

What you’ll learn

  • Be aware of the latest best practices, patterns and idioms in Scala programming
  • Save and load data into Scala, taking full advantage of the Scala type system to obtain rich, useful types


  • You should be a developer with day to day working experience of Scala
  • It is recommended that you complete part 1 of the Escalate Advanced Scala course
  • You may also wish to consider following parts 1-3 of the Escalate Applied Scala course if you have trouble following these concepts


The Escalate Software Scala Advanced course is intended for experienced Scala developers looking to improve their skills, particularly for library and API design and development. It covers topics needed to be effective in producing high quality, correct, powerful and flexible Scala libraries that are still easy to use by others.

Part 2 provides advice on best practices and patterns drawn from many years of real-world experience in Scala programming.

  • Dependency Injection
  • Idioms and Best Practice advice
  • Patterns – Gang of Four
  • Scala specific patterns
  • XML literals and features
  • JSON libraries and type-classes
  • Custom extractors in pattern matching
  • Futures
  • Future functions and combinators
  • Patterns with Futures

It is recommended that you complete Scala Advanced part 1 before taking this part. While not strictly necessary, we may assume knowledge from part 1 in some of the explanations that could be hard to follow unless you know the material.

Part 3 (following this) builds on the information in these first two parts of the advanced course and moves into more advanced functional programming topics, along with performance optimization and more.

Who this course is for:

  • Scala developers looking to improve their skills, write libraries and APIs for others, and learn patterns and best practices
  • Developers looking to work in an asynchronous way with Futures
  • Scala programmers using JSON and/or XML (or other data serialization)

Scala Advanced, Part 2 – Best Practices, Async, Serializing Download Link