JavaScript technologies

This special course gives an insight into modern JavaScript technologies. The course is based on the basics web development courses, such as HTML, CSS and JavaScript. Our aim to present technologies and concepts in modern client and server side web development.

Financed from the financial support ELTE won from the Higher Education Restructuring Fund of the Hungarian Government

Introduction

Basic information about the course, prerequisites, visions and the content.

Introduction to the JavaScript technologies course

JavaScript language

A brief overview on the advanced language features in JavaScript. In this course JavaScript is considered as our tool for web development.

Advanced language features of JavaScript Step-by-step encapsulation example

Web development tools

A list of tools which will be used throughout this course. From practical point of view.

Tools in modern web development

Client side technologies

Paradigms and technologies from the basic abstractions of client side application development (data structures, DOM, Events) to the modern solutions and concepts of single-page applications (virtual DOM, components, state management).

jQuery UI templates Application abstraction with Backbone Rewriting the example with Backbone Refining views in a Backbone application with Marionette Introducing Marionette in the example application Patterns for large client-side applications Communication between modules in the extended example application React React tasks Flux and Redux

Server side technologies

We take a look at how JavaScript can be used on the server side. The Node.js ecosystem is a very promising and fast-growing platform. As a web server we go into the depth of Express applications, and revisit the functionalities that we already gained from PHP.

Node.js, npm and express.js REST API

Database side technologies

Some possibilities for storing data on the server side or in a database. File system-based and document-based solutions. Client side technics are also considered.

Persistence layers

Live applications

Fast and asynchronous communication between the client and the server. AJAX and Websockets are presented, and some general considerations on asynchronity.

AJAX and asynchronity Live applications with Websockets