Getting Started

Let’s have a look at the intended audience, the outline of this course, and the efficacy of JavaScript.

Who should take this course?

This course is aimed at a beginner audience. Some familiarity with web development concepts will help the user, but it’s not necessary. We’ll cover HTML and JavaScript (JS) relevant to the applications.

What we’ll do

In this first part of the course, we summarize the web’s foundations and show how to build a front-end web application using plain JS and the Local Storage API. This allows us to build this kind of application with minimal effort and without using a third-party framework or library.

A front-end web application can be provided by any web server, as depicted in the figure below, but all parts of its code will be executed on the user’s computer device (like a smartphone, tablet, or notebook) and not on the remote web server.

Typically, a front-end web application is a single-user application not shared with other users.

The minimal version of a JS front-end data management application discussed in this course only includes a minimum of the overall functionality required for a complete application. This application will take care of one object type (“books”). It will support the four standard data management operations (Create/Retrieve/Update/Delete). But, it needs to be enhanced by styling the user interface with CSS rules and add other important parts to improve its overall functionality.

Why JavaScript?

Today, JS is not just a programming language, but a platform that offers many advantages over others, including those listed below:

  • It’s the only language with the advantage of native support in web browsers.
  • It’s the only universal language that allows the following:
    • The ability to build web applications with just one programming language. All other languages, such as Java and C#, can only be used on the backend and need to be combined with front-end JS, which is why most developers need to master at least two programming languages.
    • The ability to execute the same code on the backend and the frontend.