Reactive programming with Node.js /

Saved in:
Bibliographic Details
Author / Creator:Doglio, Fernando.
Imprint:[United States] : Apress, 2016.
Description:1 online resource
Language:English
Subject:
Format: E-Resource Book
URL for this record:http://pi.lib.uchicago.edu/1001/cat/bib/11270045
Hidden Bibliographic Details
ISBN:9781484221525
1484221524
9781484221518
1484221516
Digital file characteristics:text file PDF
Notes:Includes index.
Print version record.
Summary:This book teaches you how to utilize Reactive Programming (RP) for your back-end development with Node.js. Up to now, RP has most often been used in front-end development, but its revolutionary approach can also transform your back-end programming. Using Reactive Programming with Node.js you will understand the paradigms of RP, why you should use it, and the variations available to you. You will learn how to use the main libraries necessary to provide this development experience in Node.js, including RxJS, Bacon.js, Kefir.js, and Highland.js. You will also create a custom library that provides the main features, and learn how to scale up a system developed using RP in Node.js. Ideal for back-end developers with knowledge of Node.js or JavaScript, this book enables you to get up and running with RP in Node.js, and revolutionize your back-end development.
Other form:Print version: Doglio, Fernando. Reactive programming with Node.js. [United States] : Apress, 2016 1484221516 9781484221518
Standard no.:10.1007/978-1-4842-2152-5
Table of Contents:
  • At a Glance; Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Chapter 1: Reactive 101; Defining Reactive Programming; The Origins of Reactive Programming; Dataflows 101; How Dataflows and Reactive Programming Are Related; What Is RP Good For?; Reactive vs. Observer Pattern; Types of Reactive Programming; Functional Reactive Programming; Object-Oriented Reactive Programming; Declarative Reactive Programming; Reactive Programming vs. Traditional Programming; Summary; Chapter 2: Being Reactive; But First, a Word About Marbles.
  • Moving Away from Traditional TechniquesExample #1
  • Your Run-of-the-Mill Callback Hell; Example #2
  • Nested Asynchronous Calls; Example #3
  • Handling Throttleable Input Streams; Summary; Chapter 3: Functional Reactive Programming; An Intro to Functional Programming in JavaScript; Pure Functions; Composition; Currying Functions; The Tools of the Functional Programmer; Map; Filter; Reduce; Putting It All Together; Two Streams Instead of One; Curry the Hell Out of the Functions; Readability ++; Declarative Programming; What Every FRP Language Must Have; Observable Streams.
  • Observer + Iterator =?Summary; Chapter 4: Reactive Programming on the Back-end; API with CRUD Endpoints; The Models; The API; The Standard Implementation; The Functional Reactive Implementation; The Router File; The New Business Logic; Listing All Users; Creating a New User; Adding a New Address; In Conclusion; Log-in Service; What Is a JSON Web Token?; Back to the Code; The Reactive Approach; In Conclusion; Summary; Chapter 5: Enter Node.js; Event Emitters and Event Streams; Event Emitters; Streams; Readable Streams; Writable Streams; Duplex and Transform Streams; Writing Your Custom Stream.
  • Asynchronous Programming in Node.jsAsync Advanced; Parallel Flow; Serial Flow; Asynchronous I/O; Asynchronous Streams of Events; Through; Map; Split; Join; Merge; Readable; In Conclusion; Summary; Chapter 6: Overview of the Land; Reactive Extension for JavaScript: RxJS; License; Compatibility; Code Samples; Bacon.js; License; Compatibility; Code Samples; Highland.js; License; Compatibility; Code Samples; A Word about Backpressure; Accepting the Loss of Data; Debouncing the Stream; Sampling Streams; Pausing the Stream; When Losing Is Not an Option; Buffering; Buffered Pause; Controlled Streams.
  • In ConclusionSummary; Chapter 7: Writing Your Own FRP Library; The Big Cheese; The Little Cheese; Map, Filter, and Reduce; Take and Take Some More; Splitting Your Chunks; FlatMap and the Plot Thickens; Dealing With Time; Summary; Chapter 8: A Practical Overview; The Case for Netflix; Their Motivation; The Need for Concurrency; The Results; The Case for Walmart; The Proposed Solution; The Results; One More Case; The Server; The Client; Summary; Chapter 9: Scaling Your Reactively Programmed Systems; Scaling Node.js; Scaling Inside Your Server.