Jump to ratings and reviews
Rate this book

C++ Reactive Programming: Design concurrent and asynchronous applications using the RxCpp library and Modern C++17

Rate this book
Learn how to implement the reactive programming paradigm with C++ and build asynchronous and concurrent applications

Key FeaturesEfficiently 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 DescriptionReactive 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 learnUnderstand language-level concurrency in C++Explore advanced C++ programming for the FRPUncover the RxCpp library and its programming modelMix the FP and OOP constructs in C++ 17 to write well-structured programsMaster reactive microservices in C++Create custom operators for RxCppLearn advanced stream processing and error handlingWho this book is forIf 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 ContentsReactive Programming Model – an Overview and its HistoryA Breeze tour of the Modern C++ Language and Its key IdiomsThe Language level Concurrency and Parallelism in C++Lock Free and Asynchronous programming in C++Introduction to ObservablesIntroduction to Event Stream Programming using C++An Introduction to data flow computation and the Rxcpp libraryRxcpp – the Key ElementsReactive GUI Programming using Qt/C++Design Patterns and Idioms for C++ Reactive programmingReactive Micro services in C++Advanced Streams and Handling Errors

350 pages, Kindle Edition

Published June 29, 2018

6 people are currently reading
11 people want to read

About the author

Praseed Pai

2 books1 follower

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
0 (0%)
4 stars
0 (0%)
3 stars
4 (66%)
2 stars
1 (16%)
1 star
1 (16%)
Displaying 1 - 2 of 2 reviews
Profile Image for Rene Stein.
228 reviews36 followers
June 14, 2020
Kniha nestojí ani za těch 5 USD, které jsem za ni dal. Odpad, nebo chcete-li synkretický odfláknutý eintopf z prošlých doplňkových surovin, bez hlavních ingrediencí a sestavený šéfkuchařem, který trpí nějakou zvlášť ošklivou formou poruchy pozornosti. Několik prvních kapitol se RX netýká a jen popisuje novější konstrukce z C++. Na tom by nebylo nic špatného, kdyby zbylé kapitoly byly napsány někým, kdo RX skutečně pochopil a dokáže vysvětlit, kdy a kde se hodí. Místo toho se dočkáte jen nesouvislého blábolení o operátorech, kterým sám autor nerozumí (viz schedule_on, observe_on). Výpisy kódu skoro bez komentáře jsou otravné. Následuje opisování tutoriálů z QT a Rest Sdk, které občas autor propojí s RX. Počet stránek nastaví tabulkami s popisem JSONu a REST metod. Když něčemu autor nerozumí, odkáže čtenáře na "favorite search engine". To je super trik. Když konečně dojde k psaní vlastních RX operátorů, odkáže vás na článek na webu, protože by se článek do knihy nevešel. Hlavně že do knihy překopíroval z webu ty tabulky o ničem a o všem. Následuje plkání o mikroslužbách. Místo řešení chyb v aplikaci autor nejdřív opíše část Reactive manifestu a pak čtenářům podhodí pár povrchnich sentencí o operátorech retry, finally, on_error_resume_next. A protože i jemu nebo jeho editorovi přijde blbé, jak je kapitola odfláknutá, dočkáte se špetky dalšího kódu s RX operátory v konzolové aplikaci. Bez ošetření chyb. A konzole - proč nám autor v prvních kapitolách o RX tedy nutil QT? Jasně, jasně, tutorial pro QT zabere hodně stránek a je evidentní, že ani indické kuře, když nemusí, tak za těch pár šupů, které z mých vydřených 5 USD dostane, nehrabe.
Na konci kapitoly o chybách v RX, která je spíš rekapitulací chyb v knize, je pozvánka na další kapitolu, kde prý napíšeme (zase?) vlastní RX operátor. Taková kapitola v knize není, následuje jen reklama na další (snad lepší) knihy a Packt prosí o hodnocení knihy. Tak tady je. Kdyby to ještě někomu nebylo zřejmé, opakuji, že jde o naprostý odpad. V jedné kapitole dokonce nevkusně promíchaný s nějakou indickou filosofií. Já synkretický postmoderni eintopf z náhražkových surovin v odborných knihách nemusím. A těch chyb v textu knihy i ve výpisech kódu...
Profile Image for Diogo Muller.
772 reviews8 followers
May 8, 2020
A fine book that contains what is promisses. It contains the basics and some advanced topics of doing Reactive programs in C++, and some good examples. However, it has a couple errors and problems that make it just good, not great. First of all, the book has more than a few errors, and not every code compiles as it should, but those are pretty easy to find and fix, and most of the text is easy to understand. I feel some parts are a bit rushed in, and could be better explained, but the code is pretty auto-explicative most of the times... if you do the work to search a bit for references.

It could be better, but if you want to learn a bit about RxCpp, this is a good enough choice.
Displaying 1 - 2 of 2 reviews

Can't find what you're looking for?

Get help and learn more about the design.