C++ Reactive Programming: Design concurrent and asynchronous applications using the RxCpp library and Modern C++17
內容描述
Learn how to implement the reactive programming paradigm with C++ and build asynchronous and concurrent applications
Key Features
Efficiently exploit concurrency and parallelism in your programs
Use the Functional Reactive programming model to structure programs
Understand reactive GUI programming to make your own applications using Qt
Book Description
Reactive programming is an effective way to build highly responsive applications with an easy-to-maintain code base. This book covers the essential functional reactive concepts that will help you build highly concurrent, event-driven, and asynchronous applications in a simpler and less error-prone way.
C++ Reactive Programming begins with a discussion on how event processing was undertaken by different programming systems earlier. After a brisk introduction to modern C++ (C++17), you'll be taken through language-level concurrency and the lock-free programming model to set the stage for our foray into the Functional Programming model. Following this, you'll be introduced to RxCpp and its programming model. You'll be able to gain deep insights into the RxCpp library, which facilitates reactive programming. You'll learn how to deal with reactive programming using Qt/C++ (for the desktop) and C++ microservices for the Web.
By the end of the book, you will be well versed with advanced reactive programming concepts in modern C++ (C++17).
What you will learn
Understand language-level concurrency in C++
Explore advanced C++ programming for the FRP
Uncover the RxCpp library and its programming model
Mix the FP and OOP constructs in C++ 17 to write well-structured programs
Master reactive microservices in C++
Create custom operators for RxCpp
Learn advanced stream processing and error handling
Who This Book Is For
If you're a C++ developer interested in using reactive programming to build asynchronous and concurrent applications, you'll find this book extremely useful. This book doesn't assume any previous knowledge of reactive programming.
Table of Contents
Reactive Programming Model an Overview and its History
A Breeze tour of the Modern C++ Language and Its key Idioms
The Language level Concurrency and Parallelism in C++
Lock Free and Asynchronous programming in C++
Introduction to Observables
Introduction to Event Stream Programming using C++
An Introduction to data flow computation and the Rxcpp library
Rxcpp the Key Elements
Reactive GUI Programming using Qt/C++
Design Patterns and Idioms for C++ Reactive programming
Reactive Micro services in C++
Advanced Streams and Handling Errors