Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Mastering Streams in Node.js

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Mastering Streams in Node.js will equip you with in-depth knowledge and hands-on experience in working with streams, one of the most powerful features of Node.js. You will explore the difference between buffers and streams, and learn how to efficiently handle data flow in real-time applications. This course will also cover a wide range of streams, from readable and writable streams to advanced topics like piping, backpressure, and streaming large files. The course is divided into distinct modules that cover fundamentals like how streams work, how to manage data efficiently, and how to apply modern APIs like WebStreams for enhanced browser interaction. As you progress, you'll gain a practical understanding of how to apply streams in real-world scenarios like uploading files, streaming content to browsers, and handling HTTP range requests. You'll even explore advanced techniques like streaming from databases, transforming data, and building custom writable streams for server-client communication. This course is perfect for developers looking to gain mastery over one of the most powerful and versatile features of Node.js. Ideal for intermediate JavaScript developers with some Node.js experience, it will guide you through concepts like backpressure and real-time streaming, which are crucial for modern web and backend applications. By the end of the course, you will be able to understand and implement a variety of stream-based solutions for data processing, server-client communication, and performance optimization in Node.js applications.

Syllabus

  • Streams – Fundamentals
    • In this module, we will dive deep into the fundamental principles of streams in Node.js, focusing on how streams are used to handle data efficiently. We’ll explore key concepts such as the difference between buffers and streams, and demonstrate how to work with readable and writable streams to control data flow. By the end, you'll be equipped to start leveraging streams for handling I/O operations in your Node.js applications.
  • Streams – Exploring a Use-Case
    • In this module, we will explore a practical use-case where streams power real-time communication between a server and multiple clients. You'll build a TCP server, handle incoming connections, and create custom writable streams on the client side to process server messages. By the end of this module, you will understand how to build interactive, stream-based applications in a networked environment.
  • Streams – The Modern API
    • In this module, we will introduce you to the modern Streams API, designed to streamline data handling across web applications. You'll learn about the enhancements made in the latest version of Node.js streams, how to integrate streams with databases, and how to control stream operations using the AbortController. This module will help you master advanced stream handling techniques in both server and web environments.
  • Streams – WebStreams
    • In this module, we will focus on WebStreams, a native browser streaming interface aligned with modern web standards. You’ll learn how to create and manage readable and writable WebStreams, and explore how to transform data using streams in the browser. Additionally, we’ll show you how to integrate Node.js streams with WebStreams for seamless data streaming across platforms.
  • Streams – Exploring a Use-Case
    • In this module, we will work through a practical use-case of streaming CSV data from a backend server to the frontend using WebStreams. You’ll learn how to handle raw CSV data, transform it into structured JSON, and implement an efficient, user-friendly interface for rendering the streamed data in the browser. This module emphasizes real-time data processing and transformation.
  • Streams – Async Patterns with Streams
    • In this module, we will focus on asynchronous patterns and how to apply them to streams in Node.js. You'll learn to manage sequential and parallel data processing, and how to limit concurrency for smoother operations in resource-intensive scenarios. Additionally, we will explore third-party libraries that can simplify complex asynchronous stream handling.
  • Streams – Piping Techniques
    • In this module, we will dive into advanced piping techniques that allow you to combine, fork, merge, and multiplex streams for powerful data transformation pipelines. You’ll learn how to split streams into multiple paths, merge them, and transmit multiple data streams over a single connection. These advanced techniques will give you full control over complex stream workflows.

Taught by

Packt - Course Instructors

Reviews

Start your review of Mastering Streams in Node.js

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.