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 a ToDo List

Hi there!

We are going to be building some really interesting applications with JavaScript in this book. JavaScript has evolved from being a simple scripting language that is used for form validation in browsers to a powerful programming language that is used practically everywhere. Check out these use cases:

  • Want to set up a server to handle millions of requests with a lot of I/O operations? You have Node.js with its single threaded non-blocking I/O model that can handle the heavy load with ease. Write JavaScript on the server with Node.js frameworks, such as Express or Sails.
  • Want to build a large scale web application? This is an exciting time to be a frontend developer, since lots of new JavaScript frameworks, such as React, Angular 2, Vue.js, and so on, are available to speed up your development process and build large scale applications easily.
  • Want to build a mobile app? Pick up React Native or NativeScript and you can build truly native mobile applications that work across both iOS and Android with a single codebase written in JavaScript. Not enough? Use PhoneGap or Ionic to simply create a mobile application with HTML, CSS, and JavaScript. Just like a web app!
  • Want to build a desktop app? Use Electron to build a cross-platform native desktop application using HTML, CSS, and of course, JavaScript.
  • JavaScript is also playing an important role in building Virtual Reality (VR) and Augmented Reality (AR) applications. Check out React VR, A-Frame for building WebVR experiences and Argon.js, AR.js for adding AR to your web applications.

JavaScript is also evolving rapidly. With the introduction of ECMAScript 2015 (ES6), a lot of new additions came into the language that simplify a lot of work for developers, providing them with features that were previously only possible using TypeScript and CoffeeScript. Even more, features are being added to JavaScript in its new specifications (ES7 and beyond). This is an exciting time to be a JavaScript developer and this book aims at building a solid foundation so that you can adapt to any of the earlier mentioned JavaScript platforms/frameworks in the future.

This chapter is targeted at readers who know the basic concepts of HTML, CSS, and JavaScript, but are yet to learn new topics, such as ES6, Node, and so on. In this chapter, the following topics will be covered:

  • Document Object Model (DOM) manipulation and event listeners
  • Introduction to and the practical usage of the ES6 implementation of JavaScript
  • Using Node and npm for frontend development
  • Using Babel to transpile ES6 to ES5
  • Setting up an automated development server with npm scripts

If you feel you are comfortable with these topics, you can jump over to the next chapter, where we will be dealing with some advanced tools and concepts.