Course Overview

This highly customizable course provides an introduction to the latest technologies for building a complete web application.  It focuses on the three core areas of web development: (1) the programming languages, JavaScript and Typescript, (2) the client-side User Interface (UI) technologies, either Angular 2 or React, and (3) the server-side technologies, either Node.js/Express or .NET Core.  In addition, for developers who are interested in writing a native desktop application in JavaScript, the course can also be extended to cover Electron.

JavaScript has historically been the programming language of the web. However, developers who are accustomed to strongly typed programming languages often find it difficult to adjust to programming in JavaScript.  jQuery was developed as a library for simplifying common JavasScript programming tasks, particularly DOM manipulation, and Typescript has rapidly emerged as a popular programming language alternative to low-level JavaScript.  TypeScript is a scalable, strongly typed language, developed by Microsoft that is compiled into clean and readable JavaScript.  This course begins with coverage of JavaScript, jQuery and TypeScript, with the depth determined by the background and experience of the attendees.

Angular 1.0 was released by Google in 2012, and quickly became the standard framework for writing a modern, UI front-end.  Angular 2.0 was released in 2016, and represents a complete rewrite of the Angular framework.  React, a competing library developed by Facebook, was introduced a year after Angular 1.0, and has recently become a viable competitor to Angular.  The second part of this course demonstrates the techniques for developing a Single Page Application using the latest client-side UI technologies.  The course can be customized to cover either Angular 2.0 or ReactJS, depending on the skill set and interests of the audience.

Angular and React have become popular in large part because of the versatility of the resulting applications, which can be run on multiple platforms and devices (i.e., desktop, tablet and mobile).  As a result, native desktop application development has been in decline over the last few years.  However, by using Electron, developers can write a modern, native desktop application in JavaScript and be able to run that application on multiple platforms.  This course can optionally be extended to include coverage of Electron.

Node.js is a JavaScript runtime environment for building web applications, and Express is a web framework for Node.js.  Node.js/Express is an open source, cross platform technology that has become an immensely popular standard for writing a server side web application.  Microsoft has just released its own open source, cross platform technology for building web applications with the introduction of .NET Core.  For developers who are interested in server-side programming using Javascript/Typescript, this course can be customized to focus on Node.js/Express.  For those who prefer to use .NET and C#, the course can instead be tailored to instead cover .NET Core.

Key Learning Areas

  • The JavaScript Programming language
  • jQuery
  • The TypeScript Programming language
  • Client-side, Single Page Application UI development, choice of either:
    • Angular 2.0
    • React
  • Server-side development, choice of either
    • Node.js/Express
    • .NET Core
  • Optional: Desktop application development using JavaScript
    • Electron

Course Outline

  • Programming Languages
  • jQuery
  • Client-Side Development
  • Server-Side Development
  • Optional: Desktop Development

Who Benefits

Developers who are new to web programming and would like an introduction to the latest client and server side technologies, as well as experienced developers who are looking to update their applications to use the most modern web development methodologies.

Prerequisites

The expected audience for this course is developers who have little or no experience writing browser-based apps or experienced developers who want to modernize their skills by learning the latest web development techniques.