Programming WebRTC (PragProg)

Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser.

Karl Stolley @karlstolley

edited by Michael Swaine @michaelswaine

Build your own video chat application—but that’s just the beginning. With WebRTC, you’ll create real-time applications to stream any kind of user media and data directly from one browser to another, all built on familiar HTML, CSS, and JavaScript. Power real-time activities like text-based chats, secure peer-to-peer file transfers, collaborative brainstorming sessions—even multiplayer gaming. And you’re not limited to two connected users: an entire chapter of the book is devoted to engineering multi-peer WebRTC apps that let groups of people communicate in real time. You’ll create your own video conferencing app. It’s all here.

WebRTC is an API exposed in all modern web browsers. After almost a decade of development, the WebRTC specification was finalized, and this book provides faithful coverage of that finalized specification. You’ll start by building a basic but complete WebRTC application for video chatting. Chapter by chapter, you’ll refine that app and its core logic to spin up new and exciting WebRTC-powered apps that will have your users sharing all manner of data with one another, all in real time. No third-party libraries or heavy downloads are required for you or your users: you’ll be writing and strengthening your knowledge of vanilla JavaScript and native browser APIs.

You’ll learn how to directly connect multiple browsers over the open internet using a signaling channel. You will gain familiarity with a whole set of Web APIs whose features bring WebRTC to life: requesting access to users’ cameras and microphones; accessing and manipulating arbitrary user files, right in the browser; and web storage for persisting shared data over the life of a WebRTC call. Like any Web API, WebRTC doesn’t enjoy a perfect implementation in any browser. But this book will guide you in writing elegant code to the specification, with backward-compatible fallback code for use in almost all modern browsers.

Use WebRTC to build the next generation of web applications that stream media and data in real time, directly from one user to another—all by working in the browser.

Karl Stolley is an associate professor of information technology and management at Illinois Institute of Technology in Chicago. He’s been teaching, researching, and practicing web development up and down the stack since the blink tag was still a thing. He’s a frequent speaker at national and international conferences, and a routine presenter and participant in professional developer groups and meetups in Chicago.

Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “" at checkout :+1:


Corresponding tweet for this thread:

Share link for this tweet.


Congrats on the release Karl! :048:

I think a lot of people are going to be interested in this topic - me included! Good luck and hopefully we can get a book club going about it at some point :023:


Thank you so much, @AstonJ!

I’m teaching the book in my WebRTC course this fall, ITMD 469/545: Course Calendar, so it would likely be NBD to get a book club going, too–especially after another couple of beta releases.


Sounds good Karl :023:

If you come across anyone on your travels who’d like to take part, please feel free to send them our way :blush:

I did not know you were a professor btw! (Should I be calling you Professor Stolley? :icon_redface:). I am sure this will be great for readers of your book! One of my favourite books was written by a professor so imo it definitely is more likely to be an advantage :003:


@AstonJ I’ll see who I can find.

And please – “Karl” is just fine. Academic titles are like lightsabers–nice to have, but don’t take them out and wield them around friends and colleagues :slight_smile:


Hi Karl,

Thank you so much for this book. WebRTC is powering the Portals feature behind the service I’m building at

I was in desperate need of revamping Portals for the Early Access launch of Metamorphic when I discovered your book (also in beta) :blush:. Admittedly, I was holding out for the final release so that I could order through Bookshop because I read and learn so much better off-screen, but I am excited and happy to say that I just purchased the beta version so that I could get going on revamping the Portals experience.

I write all this to ask if you know whether or not the final version will eventually make its way to print with Bookshop? If so, I will absolutely be picking up a real-world copy for myself. Also, congratulations and thank you again!

Excited to dig in.



Hi Mark! Thanks for your interest in the book!

Yes, ultimately it will be available in print form, once it’s out of beta and goes through additional peer review and copyediting, of course.

I’m still finishing the last few chapters, so that’s not yet imminent, but it’s hopefully not too far into the future either.

Eager to hear any thoughts and questions you have as you read!