Building Rich Internet Applications using
Angular.js
OVERVIEW
This workshop aims at equipping the participants with the necessary knowledge and skills required
to build rich internet applications using cutting edge technologies, frameworks and tools.
PAST OCCURANCES OF THIS PROGRAM
Amdocs, Pune
Ellucian, Bangalore
Motorola, Bangalore
OBJECTIVES
At the end of this training course, the participants will:
Be able to understand the exploit the functional and object-oriented programming
techniques in JavaScript
Understand and resolve scope issues in JavaScript
Techniques for modularizing JavaScript code
Be aware of the quirks in the JS language
Be able build RIA using Angular.js
CASE STUDIES
Following are the case studies that will be developed by the participants during the workshop:
An “Expense Management” application using Angular.js
SUGGESTED AUDIENCE
Web developer who wants to build best-of-breed web applications with the simplicity and elegance
of JavaScript.
DURATION
6 half days (3.5 hrs each) or 3 full days (7 hrs each) : Total - 21 Hrs
PARTICIPANT PREREQUISITES
Web developers with exposure to HTML + CSS + JavaScript
INFRASTRUCTURE REQUIREMENTS
A good text editor (Textpad++/Sublime Text) or WebStorm
Chrome
Internet Connection (Mandatory)
Node.js
DAY WISE SYLLABUS
JavaScript In Depth (1 Day)
Expressive JavaScript
o The Flexibility of JavaScript
o JavaScript as a Loosely Typed Language
o Functions as First-Class Objects
o Object Mutability
Functions In Depth
o Function Objects
o Function Literal
o Function Invocation Patterns
o Augmenting Types
o Recursion & Closures
o Functions as Callbacks
o Function Currying & Memorization
Closures In Depth
o How Closures Work
o Private Variables, Callbacks and Timers
o Binding Function Contexts
o Overriding Function Behavior
Object Orientation With Prototypes
o Object Instantiation
o Constructors
o Inheritance and Prototype Chain
o Extending Object
o Extending Number
o Instantiation Issues
o Writing class-like code
JavaScript Gotchas
o Global Variables
o Scope
o Semicolon Insertions
o Type Coercion
Angular.js (2 Days)
Introduction to Angular.js
o How Angular.js is opinionated
o Difference between Backbone.js and Angular.js
Angular.js Building Blocks
o Controller Component
o Model Component
o View Component
o Directives
o Filters
o Services
o Providers
o Factory
o DI in Angular.js
Anatomy of an Angular.js Applications
o Creating Boundaries using ng-app
o Model View Controller
o Templates and Data Binding
o Repeating elements in templates
o Using Expressions, CSS Classes and Styles
o Using Controllers for UI responsibility separation
o Responding to model changes
Data Binding in Angular.js
O Understanding Built-in Directives
O Scope resolution
O One way and Two way data binding
Using Filters
O Filters Overview
O Understanding Filter Expressions
O Building custom Filters
Services & Factories
O Services Overview
O Modularity using Services
O Injecting Services
O Creating Custom Factories and Providers
Directives
O Directives Overview
O Creating Directives
O The Directive Definition Object
O Compilation and Linking
O Creating Components
Communicating with Servers
O Communicating over $http
O Configuring the requests
O Sending Http Headers
O Caching Responses
O Request and Response Transformation
O Using RESTful Resources
O Communication over WebSockets
Testing
O Testing Models using Jasmine
O Test considerations for Directives and Filters
O Using Angular Mocks
O Using Protractor for end to end testing
Modular JavaScript
o Techniques for modularizing JavaScirpt code
o Using Require.js for loading dependent modules
JavaScript Development Workflow
o Using Grunt.js
o Overview of Yeoman
o Clientside dependency management using Bower.js