Building Web Applications using AngularJS

מק"ט: #3357 | משך קורס: 32 שעות אק'
| מספר מפגשים: 4

We want rich, interactive and impressing web applications. To achieve that we must write a lot of JavaScript code. Object oriented techniques are must but not sufficient. We need a modern client side framework to allow correct modeling and ease of maintenance. AngularJS aims to be that framework.

AngularJS brings a Model-View-Controller architecture to the client side. It has an impressive HTML compilation process where the developer can create its own domain HTML language. In addition, the developer is free from updating the DOM manually. AngularJS automatically detects changes to the application’s model and updates the DOM accordingly. These features plus many others made AngularJS to be the 1st framework to be considered when building Single Page Applications.

*שדות חובה
PDF version


  • Build Single Page Application with AngularJS
  • Understand AngularJS lifecycle
  • Create controllers, views and services
  • Build custom directives

קהל יעד

This course is intended for back end developers who wish to focus on rich client-side application development using AngularJS.

תנאי קדם

Before attending this course, students must have:

  • Previous experience in Object Oriented Programming (like: Java, C++ or C#)
  • Basic understanding of the HTTP protocol
  • Basic knowledge of HTML, CSS and JavaScript
  • Basic knowledge of Server Side Processing development lifecycle


Module 1: Advanced JavaScript

  • The Challenge
  • Closure
  • Avoiding Globals
  • Module
  • Classes, objects and Inheritance
  • Namespace
  • Threading Model
  • Asynchronous Programming


Module 2: Building Single Page Application

  • The Challenge
  • What is Single Page Application
  • Popular Frameworks/Libraries
  • Introducing AngularJS
  • Controller
  • Scope
  • Template
  • Basic directives


Module 3: Understanding AngularJS

  • Application bootstrapping
  • Module
  • Dependency Injection
  • Scope inheritance
  • Automatic DOM update
  • Dirty Checking
  • Services and other Injectables


Module 4: Enhancing Views

  • Referencing Directives
  • Interpolation directive
  • Rendering HTML
  • Conditional Display
  • DOM Event Handlers
  • Filters
  • Custom Filter
  • Validation


Module 5: Routing

  • The Challenge
  • Hashbang technique
  • HTML5 History API
  • $location service
  • Using angular-route
  • Using UI-Router


Module 6: Communicating with Back End Server

  • $http service
  • JSONP and CORS
  • What is a Promise?
  • $q service
  • What is Restful Service?
  • $resource service


Module 7: Custom Directive

  • Directive lifecycle
  • Isolated Scope
  • Directive shortcuts @ = and &
  • Transclusion
  • Other Directive properties
  • Directive’s controller
  • Terminal property


Module 8: Testing

  • Getting Started
  • Specs, Suites & Expectations
  • Matchers & Custom Matchers
  • Setup and Teardown
  • Spy
  • jasmine.clock
  • jasmine.ajax
  • Dealing with Promises
  • Dealing with AngularJS


Introduction to Angular 2.0

  • What's new with Angular 2.x version?
  • What about versions compatibility?
  • Upgrading from version 1.x to 2.x
  • When is the time to move to 2.x ?