Angular Bespoke Course Outline
This agenda can be adjusted or extended.
Avoiding major pitfalls of scaling an AngularJS app
Proper MVC directory structure
Writing Modules in a smarter way
Keeping the names consistent
Modularize the Header, Footer, Routes
Dependency injection and minifying the code
Syntax of 'controllerAs'
Using 'bindToController' in our Directives
Making 'ng-click' conditional
Factory vs Service
All providers are singletons
Utilizing browser extensions (Batarang, etc)
To many watchers and performance issues
Write-only in the controllers
Read-only in the templates
Object in the scope instead of properties
Avoiding to shadow property of the parent '$scope'
Keeping scope uncluttered
How to talk with sibling objects
e2e tests with Jasmine '
How to easly close the feedback loop
Run tests in parallel across different browsers
Real world usage scenarios with different devices
Change the way of thinking
Facade to interact with servers
Separation of server interaction and error handling from the model
Business logic in models
Configure providers before they are injected
Proper use of '$scope.$emit()' and '$scope.$broadcast'
Automating our workflow
yo, grunt, bower
Use case with cordova
Angular 1 vs Angular 2
Differences and similarities
Three ways: typescript, pure js, dart
Good practices in Angular 2
Upgrading from version 1
This course has been created for developers working with AngularJS, but who want to understand clearly best practises of using the framework. It doesn't cover the basics of angular but focuses on methods and styles of developing SPA usually not easy to learn "naturally" or via self-study.
This course usually runs on the latest stable release of Angular (1.x), but older or beta version can be covered on demand.
Super Short Introduction
Build-in directives and their scope
Scope and rootScope
MVC in depth
Fat controler vs fat model and consequences
Creating own controllers
Different ways of dependency injections
Minifying and consequences of using paramer names
HTML5 history object
creating own directives
managing associated controlers
creating own module with directives
animation controls in custom directives
Using web services
Angular and CSS3
Mobile Design in Agnular
Separate version fo mobile
Dependency Injection in testing
E2E (End to End Testing) testing
Continous Integration with Angular
Backend interactions with MEAN stack
Streaming with gulpjs
By the end of this hands-on intensive training course, the students will be able to:
Store the data in NoSQL, document-oriented MongoDB database that brings performance and scalability.
Use Node.js, the server-side platform built on Google V8’s runtime for building fast, scalable network applications.
Use Express, a simple yet powerful web application development HTTP server framework built on top of Node.js.
Use AngularJS framework that offers declarative, two-way data binding for web applications.
Get acquainted with the latest web application development trends in the IT industry.
Getting started with Node.js
Node Package Manager
Modules, Controllers and Scope
Built-in and Custom Directives
Built-in and Custom Filters
Understanding the Digest Loop
Forms and Validation
AngularJS Service Types
Factories, Providers, Decorators, DI
Creating Custom Services
Consuming Ajax Web Services via $http and $resource
Routing, Redirects, and Promises
Introduction to Express
Handling Form Data
Handling Query Parameters
Cookies and Sessions
Creating and Consuming RESTful Services
Understanding NoSQL MongoDB
Update, Insert, and Upsert
Shift midset from procedural/OO way of programing to Angular way
Participants can use AngularJS to create Single Page Applications
Format of the course
40% lectures, 60% labs
Add some control
Wire up a Backend
Embed and Inject
This is a hands on course is for anyone wanting to create Web sites using AngularJS.
During this course the latest stable version will be used. Pre-release version can be just used if marked in the booking form in remarks section. Older version need to be agreed before booking.
What is Angular JS?
JSON and Ajax
Angular JS Applications
Looping over arrays and arrays of objects
Enabling and disabling HTML elements
Hiding and showing HTML elements
Handling HTML events
Object property functions
Controllers in external files
Where to put scripts
Convert to currency
Upper and lower case conversion
Success and error handling
Setting HTTP headers
JSON and XSRF vulnerability protection
HTML input controls
Browser versus Angular JS validation
Validating input values
Displaying input error messages
Mobile device support
Single Page Application Concept
Routing in Single Page Application (SPA)