Draft Specification of Streams API
Written by Kay Ewbank   
Tuesday, 19 February 2013

The W3C Web Applications Working Group has published the first public working draft of the Streams API, used for representing binary data in web applications as a Stream object.

The Streams API will give developers a way to programmatically build a stream and read its contents. The specification defines objects that can be used in threaded web applications for the synchronous reading of a Stream. It is designed to be used alongside other APIs and web elements such as XMLHttpRequest, postMessage, and Web Workers.

The API starts with a Stream interface. This represents a sequence of data that can be read over time. A Stream can come from APIs such as XMLHttpRequest, or can be built using StreamBuilder. The StreamReader interface has methods that you can use to read the contents of a Stream as a Blob, DataURL, ArrayBuffer, or as Text.

W3Clogo

The StreamReader interface is designed to run asynchronously on the user agent’s main thread, with an optional synchronous API to be used within threaded web applications. The asynchronous nature when reading Streams means you don’t run the risk of blocking and UI “freezing” on a user agent’s main thread. The event model used to read and access Streams is closely based on the FileReader interface. It provides asynchronous read methods through event handler attributes and the firing of events. The use of events and event handlers means you can set up separate code blocks to monitor the progress of the read and any error conditions that arise during the reading of the Stream.

The next element of the API is a StreamBuilder interface that you can use to create your own stream, pulling the contents from an internal buffer that you’ve created by appending Text, Blobs, or ArrayBuffers.

The API has extensions to XmlHttpRequest so you can use it to upload and download a Stream, and also extends createObjectURL and revokeObjectURL to add support for Stream.

 streamsalhambra

 

More Information

Streams API

Related Articles

Web Alarms API

Web Crypto APIs Work In Progress

W3C Draft For Device-Independent Input

W3C Publishes Push API Draft Specification

 

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Express.js 5 Released With Greater Security
16/01/2025

Express.js 5 has been released, ten years after Express.js 4. The new release has dropped support for outdated versions of Node.js, addresses security concerns, and brings simplified maintenance.



European Robotics Hackathon 2025 Open For Entries
17/01/2025

ENRICH 2025, the European Robotics Hackathon, is open now for team entries. To be held at the Zwentendorf Nuclear Power Plant in Austria, the aim is to develop robots that can carry out tasks in a nuc [ ... ]


More News

Last Updated ( Tuesday, 19 February 2013 )