Dear JournalDev Readers
As you know, I have been sharing my knowledge by writing tutorials in JournalDev on Java and Scala Ecosystems for last couple of years. I got fantastic response to my tutorials, thank you all so much.
With this confidence, I have started authoring a Scala Book through Packt Publishing and would like to share those details with you here.
Book Title: Scala Reactive Programming
Scala, Play Framework, Akka Toolkit, Akka Streams, Lagom Framework, ConductR
Published Date: Feb 28th 2018
This book starts with Scala Basics, then move to Akka Toolkit, Play Framework, Akka Streams, CQRS/ES, Akka Persistence and Lagom Framework. Finally develop a Reactive Microservice, deploy and test it on ConductR Sandbox environment.
It also explains some of the important Reactive Design patterns and Unit Testing of Reactive Microservices. Please to through the “Brief Table of Content” and “What this book covers” sections full details.
Brief Table of Content:
Part 1- Functional and Asynchronous
Chapter 1: Getting started With Reactive and Functional Programming
Chapter 2: Functional Scala
Chapter 3: Asynchronous Programming with Scala
Part 2 – Develop FRP Applications
Chapter 4: Building Reactive Applications With Akka
Chapter 5: Adding Reactiveness with RxScala
Chapter 6: Extending Application with Play
Part 3 – Reactive Applications with Akka Streams
Chapter 7: Working with Reactive Streams
Chapter 8: Integrating Akka Streams to Play Application
Part 4 – Extend, Test & Deploy Reactive Microservice Architecture
Chapter 9: Reactive Microservices With Lagom
Chapter 10: Testing Reactive Microservices
Chapter 11: Managing Microservices in ConductR
Chapter 12: Reactive Design Patterns & Best Practices
What this book covers?
Chapter 1, Getting started With Reactive and Functional Programming, covers what are FP, RP and FRP paradigm in detail. It explains Reactive Manifest and how it solves most of the current systems issues. It also discusses about Actor model and Shared-State Concurrency model. Finally it ends with Marble diagrams.
Chapter 2, Functional Scala, explains some of the important Scala’s Functional Programming features at high level with some simple and useful examples.
Chapter 3, Asynchronous Programming with Scala, explains Scala’s Future API, how it solves most of the concurrency issues and how it supports Asynchronous programming.
Chapter 4, Building Reactive Applications With Akka, introduces you to Actor Model and Akka Toolkit concepts. It demos on how to develop Reactive Applications using Akka’s Actor model and how it solves shared-state concurrency issues.
Chapter 5, Adding Reactiveness with RxScala, explains some basics of Reactive Extensions for Scala that is RxScala. Even though RxScala does not support full-pledged FRP functionality. It supports RP (Reactive Programming) using Observables.
Chapter 6, Extending Application with Play, introduces to a fullstack web application framework that is Play Framework. Even though it supports both Java and Scala two separate APIs, we are going to develop Reactive Web applications using Play and Scala technologies.
Chapter 7, Working with Reactive Streams, explains about Akka’s Reactive Streams implementations that is Akka Streams API. It is separate module or library from Akka Toolkit to develop Streaming Data applications using Akka’s Actor model uner-the-hood. We have developed one graph-based Streaming data application using Akka Streams Graph DSL.
Chapter 8, Integrating Akka Streams to Play Application, focuses on how to integrate Akka Streams API into Play web application and develop multi-user chat application. It introduces you Akka Stream’s dynamic streaming components.
Chapter 9, Reactive Microservices With Lagom, introduces Lightbend’s new Reactive microservices framework that is Lagom. It supports developing Reactive systems easily using Play, Akka and Scala under-the-hood.
Chapter 10, Testing Reactive Microservices, explains about what is TDD and its benefits. It’s a good Agile practice to develop our application components by following unit testing approach.
Chapter 11, Managing Microservices in ConductR, focuses on how to setup, deploy and test our Reactive Microservices locally using Lightbend’s sandbox environment that is ConductR.
Chapter 12, Reactive Design Patterns & Best Practices, finally this explains about Reactive design patterns, Reactive principles and best practices to develop Reactive Systems easily.
Appendix-A, Scala Plugin for IntelliJ IDEA, demonstrates how to install Scala Plugin for IntelliJ IDE and use it.
Appendix-B, Installing Robomongo, shows a sequence of steps on how to setup and use Robo 3T or Robomongo tool to access or perform operations on our local MongoDB collections.
Thank you so much for your support.
I love your feedback or suggestions on this book.