• Post Reply Bookmark Topic Watch Topic
  • New Topic

RxJS in Action: Simplicity and Learning curve  RSS feed

 
pawan chopra
Ranch Hand
Posts: 419
jQuery Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Paul and Luis,


Thanks for coming to coderanch. Feels like perfect timing for me. We have a web application currently built on React and Redux (for state management). We have had our good and bad moments with Redux. Specifically dealing with complexity around multiple instances of redux containers etc.  As our application is growing we are seeing more issues with Redux mostly because of complexity of our app. Recently we came across a blog post about Redux in single line of code with RxJs. After reading the blog post we tried implementing this in our application and we were actually able to eliminate Redux completely. Then we decided to add Rxjs in more places like throttlinng the action dispatch calls and events. This works exteremly well for us.

The only concern that we have is the learning curve. By looking at the code everything looks so simple in RxJs but seems like for new developers adapting to Reactive methodolgy is hard. To be honest it took me couple of weeks to understand even the basic terminology of Reactive programming.

I have seen couple of great blog posts like The introduction to Reactive Programming you've been missing and tools like RxMarbles. I think they are good to give a start but still missing some important details. The question I have for you guys is how does your book handle this issue. Specifically teaching the mentality behind reactive programming. Do you guys have any dedicated sections for such topic?

Other thing I am really curious is Debugging Rxjs applications. Do you guys have any sections related to that? I know debugging is still kind of new to Rxjs but I am curious to know if you guys are covering this in the book. Thanks for your effort on the book.

Regards,
Pawan.
 
Pau Daniels
Author
Greenhorn
Posts: 8
5
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the question!

The reactive programming paradigm is definitely a mind bender for newcomers. Since RxJS in Action is all about taking readers from zero to sixty (in programming terms at least) we knew that we were going to have to get people
to wrap their heads around reactive concepts as a whole. To achieve this we heavily focus the first three chapters on what it means to be reactive by exploring asynchronous vs synchronous data constructs, examining the tools that we use to build reactive code and constructing a high level mental model of how it all fits together.

Another big danger of diving into any new topic or paradigm is that a lot of code tends to get thrown at you at once and as developers we are really eager to jump right into...well...developing. Look at any online tutorial or readme and you will likely find code samples almost immediately. While this can be beneficial if you know what you are doing, beginners approaching the topic are often misled into emulating advanced code patterns that they don't fully understand, which leads to all sorts of misuse.

Our approach was to focus those first couple chapters on core concepts, with as few live code samples as possible, demonstrating mainly through pseudo-code and graphics we wanted to devote those first pages to really driving how the what and why of reactive programming without the distraction of the how. Once we have covered those core ideas then it becomes much easier to map code to them.
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66306
152
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I like that approach. The few tutorials that I have perused on the subject do tend to jump into code before the concepts have been explained enough to understand the code.
 
pawan chopra
Ranch Hand
Posts: 419
jQuery Mac Objective C
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Pau Daniels wrote:Thanks for the question!

The reactive programming paradigm is definitely a mind bender for newcomers. Since RxJS in Action is all about taking readers from zero to sixty (in programming terms at least) we knew that we were going to have to get people
to wrap their heads around reactive concepts as a whole. To achieve this we heavily focus the first three chapters on what it means to be reactive by exploring asynchronous vs synchronous data constructs, examining the tools that we use to build reactive code and constructing a high level mental model of how it all fits together.

Another big danger of diving into any new topic or paradigm is that a lot of code tends to get thrown at you at once and as developers we are really eager to jump right into...well...developing. Look at any online tutorial or readme and you will likely find code samples almost immediately. While this can be beneficial if you know what you are doing, beginners approaching the topic are often misled into emulating advanced code patterns that they don't fully understand, which leads to all sorts of misuse.

Our approach was to focus those first couple chapters on core concepts, with as few live code samples as possible, demonstrating mainly through pseudo-code and graphics we wanted to devote those first pages to really driving how the what and why of reactive programming without the distraction of the how. Once we have covered those core ideas then it becomes much easier to map code to them.


Brilliant! This is exactly what I wanted to know. Thank you so much for taking the time to answer my questions.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!