Giter Site home page Giter Site logo

websc's Introduction

Workshop abstract

The web today is a growing universe. Over the years, web technologies have evolved to give web developers the ability to create new generations of useful web experiences. One such feature is WebRTC, which provides browsers and mobile applications with Real Time Communication (RTC) capabilities via simple JavaScript APIs.

In this hands-on workshop you will learn to build applications to support real time communication on the web. You will build an app to get video and take snapshots with your webcam and share them peer-to-peer via WebRTC. Along the way, you'll learn how to use the core WebRTC APIs and set up a messaging server using Node.

Workshop level

Intermediate

Workshop takeaways

  • Learn to setup a websocket server using Node.js (Prior Node.js knowledge not required)
  • Learn about the WebRTC JavaScript APIs
  • Build a selfie sharing web app
  • Build a baby/pet/visitor monitor
  • Build an audio/video chat application

Blog

Here is a blog post series for this workshop. While it is possible to do real time communication on the browser with only few lines of JavaScript code, WebRTC is quite complicated with different set of browser APIs and network protocols. Please make some time to do a background reading on this topic via my blog in order to get a good hands-on coding experience during the workshop.

Resources

Get started!

  • Clone this repo
  • Run npm install
  • Go to /public/tutorial and follow the tutorial steps
  • Go to /public/apps to try out different WebRTC apps
  • To run a tutorial step or an app please follow the below instructions:
    • Open a terminal window and run node index.js
    • Open a browser window/tab and run localhost:5000/tutorial/1 (for tutorial)
    • Open a browser window/tab and run localhost:5000/apps/1 (for apps)
    • To see WebRTC features, open browser console and see the logged results
    • To see data sharing via WebRTC, open another browser window/tab with the same above url

To report any problem, please file an issue in this repo. Thank you!

Disclaimer: I don't intend to violate any copyright/license laws. This work is a compilation of my notes along with the help from various sources on the internet for the Web Summer Camp, Croatia 2017.

websc's People

Contributors

princiya avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

adamfielding

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.