Node TLV Matteo Collina

Talk Abstract: There was a time when Node.js streams were all the rage but over time the Node.js Core Streams codebase became extremely complex and hard to understand. Worse still, WHATWG introduced an API for browser Streams. The two Streams API’s are incompatible with each other and both are complex and leaky abstractions. In this talk, a Node.js Core Streams maintainer presents a stream-less future by demonstrating how to use pure JavaScript: Async Iterators and Generators can give us everything Streams can while being completely cross-platform and highly performant.

Bio: Matteo is Technical Director at NearForm, where he consults for some of the top brands in the world. In 2014, he defended his Ph.D. thesis titled “Application Platforms for the Internet of Things”. Matteo is a member of the Node.js Technical Steering Committee focusing on streams, diagnostics and Http. He is also the author of the fast logger Pino and of the Fastify web framework. Matteo is a renowned international speaker after presenting at more than 50 conferences, including Node.js Interactive, NodeConf.eu, NodeSummit, JSConf.Asia, WebRebels, and JsDay just to name a few. He is also co-author of the book “Node.js Cookbook, Third Edition” edited by Packt. In the summer he loves sailing the Sirocco.

Previous videos:

Why is this event important to you?

Every Node.js conference is important! I believe that meeting face-to-face is fundamental for every Open Source community. Given my role as a Node.js Technical Steering Committee member, I could hardly pass the opportunity to participate to the first edition of Node.TLV

Have you attended this event before?

It’s the first edition!

What is your Node TelAviv talk about?

My talk is about Node.js streams and the changes we have worked on in the last few years. Streams are a fundamental part of Node.js as they underpin Http, fs, crypto, zlib, etc… However, using streams has always been hard to use for most Node.js devs as the API is complex. In the meanwhile, ES2018 introduced “Async Iteration” as a fundamental part of the language and it has been a clear opportunity to simplify how a developer would work for streams on a daily basis. In this talk, I’m going to present the challenges in maintaining streams, and how we have evolved them to make them simpler to use with the usage of Async Iterators.

Why have you chosen this topic?

I’m part of the Node.js Streams Working Group, and I’ve been maintaining streams in Node.js for a long time. I’m also the maintainer of readable-stream, one of the most downloaded modules from npm with 180 million downloads per month. readable-stream is the userland/npm version of Node.js streams.

What do you hope it will accomplish?

I’m trying to create awareness of the new APIs that are available for Node.js streams.

What have been the most notable changes about Node.js streams over the years?

We have added a few critical things to streams. The new finished and pipeline utilities make error handling of streams simple. The addition of AsyncIteration makes them easy to use. We are planning a lot of new goodies that combine async generators and pipeline!

What would you like to say to anyone attending the event?

It’s the first edition of a conference and a milestone for the local Tel Aviv community… Come and join us!

Are there any other resources you’d like to direct people who are interested in this topic?

Sure! You can check out my blog post on Welcome, Readable-Stream@3 and this webinar from some time back on Node.js streams. 

You can check out the full schedule for Node.TLV here.

Don’t miss a beat

Get all the latest NearForm news,
from technology to design.
Sign Up