更新时间:2021-07-02 22:27:09
封面
版权信息
Credits
About the Author
About the Reviewers
www.PacktPub.com
Why subscribe?
Customer Feedback
Dedication
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
A Short Introduction to Reactive Programming
What is reactive programming?
Reasons to adapt functional reactive programming
Reactive Manifesto
Reactive Streams standard specifications
Reactive Frameworks for Kotlin
Getting started with RxKotlin
Downloading and setting up RxKotlin
Comparing the pull mechanism with the RxJava push mechanism
The ReactiveEvenOdd program
The ReactiveCalculator project
Summary
Functional Programming with Kotlin and RxKotlin
Introducing functional programming
Fundamentals of functional programming
Lambda expressions
Pure function
High-order functions
Inline functions
Applying functional programming to the ReactiveCalculator class
Coroutines
Getting started with coroutines
Building sequences
The ReactiveCalculator class with coroutines
Functional programming – monads
Single monad
Observables Observers and Subjects
Observables
How Observable works
Understanding the Observable.create method
Understanding the Observable.from methods
Understanding the toObservable extension function
Understanding the Observable.just method
Other Observable factory methods
Subscribers - the Observer interface
Subscribing and disposing
Hot and Cold Observables
Cold Observables
Hot Observables
Introducing the ConnectableObservable object
Subjects
Varieties of Subject
Understanding AsyncSubject
Understanding PublishSubject
Understanding BehaviorSubject
Understanding ReplaySubject
Introduction to Backpressure and Flowables
Understanding backpressure
Flowable
When to use Flowables and Observables
When to use Flowables?
When to use Observables?
Flowable and Subscriber
Creating Flowable from scratch
Creating Flowable from Observable
BackpressureStrategy.MISSING and onBackpressureXXX()
Operator onBackpressureBuffer()
Operator onBackpressureDrop()
Operator onBackpressureLatest()
Generating Flowable with backpressure at source
ConnectableFlowable
Processor
Learning Buffer Throttle and Window operators
The buffer() operator
The window() operator
The throttle() operators
Asynchronous Data Operators and Transformations
Operator
The filtering/suppressing operators
The debounce operator
The distinct operators – distinct distinctUntilChanged
The elementAt operator
Filtering emissions - filter operator
The first and last operator
The ignoreElements operator
The transforming operators