Book Image

JavaScript by Example

By : Dani Akash S
Book Image

JavaScript by Example

By: Dani Akash S

Overview of this book

JavaScript is the programming language that all web developers need to learn. The first item on our JavaScript to-do list is building g a To-do list app, which you'll have done by the end of the first chapter. You'll explore DOM manipulation with JavaScript and work with event listeners. You'll work with images and text to build a Meme creator. You will also learn about ES (ECMAScript) classes, and will be introduced to layouts using the CSS3 Flexbox. You'll also develop a responsive Event Registration form that allows users to register for your upcoming event and use charts and graphics to display registration data. You will then build a weather application, which will show you different ways perform AJAX requests and work with dynamic, external data. WebRTC enables real-time communication in a web browser; you'll learn how to use it when you build a real-time video-call and chat application later in the book. Towards the end of the book, you will meet React, Facebook's JavaScript library for building user interfaces. You'll throw together a blog with React, and get a feel for why this kind of JavaScript framework is used to build large-scale applications. To make your blog more maintainable and scalable, you'll use Redux to manage data across React components.
Table of Contents (8 chapters)

Building the Video Call application

The app we are going to build in this chapter is a simple video conferencing app with which you create a room and then share the room URL to others. Whoever clicks on the URL will be able to join the call. For the UI part, we can arrange the video of participants in small boxes and, when you click on a participant, we can enlarge the video. This type of Video Call app is widely used nowadays. Here's how the app will look on a desktop browser:

The blue box will display your video, while the other boxes are supposed to display the videos of the other participants. The row will automatically wrap to a new row when the number of participants increases (flex-wrap). In mobile devices, we can show the videos in columns instead of rows, since it will be more effective for smaller screens. So, for mobiles, the application should look as follows...