Scala Reactive Programming : Build scalable, functional reactive microservices with Akka, Play, and Lagom.
Reactive programming is a better, scalable, and faster way to build applications, and one that helps us write code that is concise, clear, and readable. It can be used for many purposes such as GUIs, robotics, music, and more, and is central to many concurrent systems. This book will be your guide t...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing,
2018.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Cover; Title Page; Copyright and Credits; Dedication; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: Getting Started with Reactive and Functional Programming; Introduction to Reactive; What is Reactive?; What is Reactive programming?; What is a data stream or stream?; RP versus Reactive systems versus Reactive architecture; Event-Driven versus Message-Driven; Benefits of Reactive systems with RP; Functional programming; What is functional programming?; Principles of functional programming; Benefits of functional programming; Functional Reactive programming; Types of RP.
- Why FP is the best fit for RPReactive Manifesto; Need of Reactive Manifesto; Principles of Reactive systems; Message-Driven; Elasticity; Resilience; Responsiveness; Why Reactive Streams specification?; Why is Play Framework the best for Reactive systems?; Reactive systems versus traditional systems; The Java 9 Flow API; Flow API â#x80;#x93; Publisher; Flow APIÂ â#x80;#x93; Subscriber; Flow APIÂ â#x80;#x93; Subscription; Flow APIÂ â#x80;#x93; Processor; Flow APIÂ â#x80;#x93; Flow; Implementations of Reactive Streams; Lightbend's Reactive Platform; Pivotal's Reactor project; Microsoft's Reactive Extensions (RX); Netflix's RxJava.
- Eclipse's Vert.xRatpack; How are Reactive Streams born?; Marble diagrams; What is a Marble diagram?; Data transformation; Benefits of Marble diagrams; Rules of Marble diagrams; Important FRP operators; FRPÂ â#x80;#x93; the map() function Marble diagram; FRPÂ â#x80;#x93; the flatMap() function Marble diagram; FRPÂ â#x80;#x93; the merge() function Marble diagram; FRP â#x80;#x93; the filter() function Marble diagram; FRP â#x80;#x93; the reduce() function Marble diagram; FRP â#x80;#x93; the concat() and sorted() functions Marble diagram; Observer pattern versus Reactive pattern; Summary; Chapter 2: Functional Scala; Introduction to Scala.
- The Scala ecosystemUnderstanding the Scala Application; Scala REPL; Principles of Scala FP; FP Design Patterns; Scala FP features in action; Immutability; Scala functions; Scala pure functions; Pattern matching; Scala combinators; For-comprehensions; Scala implicits; Implicit parameters; Implicit conversions; Scala anonymous functions; Everything is an expression; Referential transparency; Functions are first-class citizens; Partial functions; Function currying; Higher-Order Functions; Scala tail-recursion; Types of recursions; Benefits of linear recursion; A linear-recursion example.
- Benefits of tail-recursionA tail-recursion example; Scala Type class; Benefits of Type classes; Scala Collections in action; Scala List; Scala List Cons operator; Right associative rule; Scala Map; Scala Range; Scala Functional Design Patterns; Scala map() function; Scala flatMap() function; Advantages of flatMap; Scala Monads in action; Scala Option; Scala Either; Scala Case class and object; Benefits of Scala Case class; Scala Traits in action; Trait as an interface; Traits linearization ; Linearization rules; Summary; Chapter 3: Asynchronous Programming with Scala.