• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Piet Souris
Bartenders:

RxJS in Action: Simplicity and Learning curve

 
Ranch Hand
Posts: 419
Mac jQuery Objective C
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Author
Posts: 8
5
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Sheriff
Posts: 67753
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Mac jQuery Objective C
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic