Book description
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
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Preface
- Reactive Programming Model – Overview and History
- A Tour of Modern C++ and its Key Idioms
- Language-Level Concurrency and Parallelism in C++
- Asynchronous and Lock-Free Programming in C++
-
Introduction to Observables
- The GoF Observer pattern
- The limitations of the GoF Observer pattern
- A holistic look at GoF patterns
- The OOP programming model and hierarchies
- A Composite/Visitor pattern for expression processing
- Flattening the composite for iterative processing
- Map and filter operations on the list
- Reversing the gaze for Observables!
- Summary
-
Introduction to Event Stream Programming Using C++
- What is Stream programming model?
- Applied Stream programming using the Streams library
- Lazy evaluation
- Event Stream programming
- Summary
- Introduction to Data Flow Computation and the RxCpp Library
- RxCpp – the Key Elements
- Reactive GUI Programming Using Qt/C++
- Creating Custom Operators in RxCpp
- Design Patterns and Idioms for C++ Rx Programming
- Reactive Microservices Using C++
- Advanced Streams and Handling Errors
- Other Books You May Enjoy
Product information
- Title: C++ Reactive Programming
- Author(s):
- Release date: June 2018
- Publisher(s): Packt Publishing
- ISBN: 9781788629775
You might also like
video
Multi-Paradigm Programming with Modern C++
C++ is a multi-paradigm language that lets you solve a problem in different ways, and this …
book
Modern C++ Programming with Test-Driven Development
If you program in C++ you've been neglected. Test-driven development (TDD) is a modern software development …
book
C++ High Performance
Write code that scales across CPU registers, multi-core, and machine clusters About This Book Explore concurrent …
book
Embedded Programming with Modern C++ Cookbook
Explore various constraints and challenges that embedded developers encounter in their daily tasks and learn how …