
Advanced Angular
- שעות הקורס: 9:00-16:00
- היקף שעות: 40 שעות אקדמאיות (5 מפגשים)
- מיקום: ירושלים
- צפי פתיחת הקורס: במהלך חודש אוקטובר
Overview
The web started to become popular in the early 90’s, and since then the web technologies advanced tremendously. From serving static HTML pages we are now running full complex high performance web applications. The demand for better user experience and high speed web pages has increased and since the web pages need to run on mobile phones as well the challenge of creating professional web applications require us to learn advanced web technologies.
In this course we will learn how to create a professional single page application using Angular 6. We will cover advanced topics about angular and learn to create a professional web application from server side to frontend side.
Prerequisites
– HTML
– JS
– CSS
– TypeScript
– Basic angular 2 (2 or above)
– NPM
– OOP
– REST protocol
Course content
Advanced ES8 & TypeScript -Module 1
- Variable scopes
- Advanced data types
- Immutable
- this
- Lambda functions
- prototype
- Spread operator and destructuring
- Generator functions
- Iterables
- Introducing our REST server
- CORS
- Web Workers
Observables VS Promises -RXJS -Module 2
- Creating promises
- Promise chaining
- fetch, XMLHttpRequest
- About RXJS
- The difference between promise and observable
- Observers
- Observables
- Advanced Operators
- Subject
Advanced Components -Module 3
- Styling components
- SCSS
- Styling best practices
- Communication parent child components
Frontend backend communication & security - Module 4
- HttpClientModule
- HttpClient
- interceptors
- Authentication
- Authorization
- Token Authentication
- JWT
- CSRF
- Creating JWT in express and creating JWT interceptor
- XSS
- File upload with HttpClient and ExpressJS
From development to production -Module 5
- Monorepository
- Modular angular app
- NRWL workspace
- creating angular library modules
- AOT compilation
- preparing the app for deployment
- CDN
- Server side rendering
- Basic Express JS
- Building Server side rendering with express
Change Detection -Module 6
- What is change detection
- When does change detection happen in angular
- What is zone.js
- How angular use zone.js for change detection
- NgZone
- ChangeDetectorRef
- How to optimize change detection performance
- Change detection strategies
- When will OnPush detect changes
- Observables and immutables to leverage OnPush
Redux - Module 7
- State machine
- Frontend app as a state machine
- What is Redux
- Redux Architecture
- Redux actions and Action Creators
- Reducers
- Store
- Redux middlewares
@ngrx/store -Module 8
- Angular and Redux
- What is @ngrx/store
- Actions with @ngrx/store
- Reducers with @ngrx/store
- Store module and lazy loading
- Angular service using store service
Routing -Module 9
- RouterModule
- How to arrange your routing modules
- Lazy loading
- server implications
- Using url params
- Nested children
- Route guards
Continuous Integration -Bonus Module
- Introducing Docker
- What is Continuous Integration (CI)
- Introducing Jenkins
- Using docker to launch Jenkins
- Unit testing angular components
- Unit testing with @ngrx/store
- Mocking server response on unit tests
- Selenium
- Protractor
- End to end tests with angular