ANGULAR ծրագրավորման II մակարդակի դասընթացի Բովանդակային միջուկ (curriculum) * Այս դասընթացին մասնակցելու համար անհրաժեշտ են ծրագրավորման նախնական գիտելիքներ։ Հ/Հ 1 Թեմա Git Basics Նկարագրություն How to work with Terminal and Basic Commands: ● `ls` ● `cd` ● `touch`, `rm` ● `mkdir`, `rmdir` Version Control Systems GIt Commands ● `add` ● `commit` ● `status` ● `diff` 2 Git Branching Github Branches in GIT ● `main` ● how to create ● Merging branches Github ● ● ● ● Repositories Organizations Issues Commits Hosting Via Github Pages 3 Հիմնային թեմաների կրկնություն. Arrays, Objects, Functions Basic Methods of Arrays and Objects: ● Array.Push ● Array.Pop ● Array.Shift ● Array.unShift ● ● ● Object.keys Object.values Object.entries Functions ● Function keyword - IIFE ● Arrow Functions - IIFE 4 Arrays: advanced Methods Methods ● Map ● Filter ● Every ● Some ● reduce Destructuring assignment Rest, spread operators for Arrays 5 Errors in JS Error Types ● Reference ● Type ● Syntax ● Range Throw keyword Handling errors try-catch-finally 6 Objects: Մաս 1 ● ● ● 7 Objects: Մաս 2 Destructuring assignment Rest, spread operators for Objects Object Property Descriptors Proto and Prototype This in JS ● Implicit ● Explicit Binding via methods: ● Call ● Apply ● Bind 8 Օբյեկտ-կողմնորոշված ծրագրավորում ● ● Function Constructors `new` keyword 9 Օբյեկտ-կողմնորոշված ծրագրավորում Classes Classes vs Function Constructors Main Concepts: ● Inheritance ● Encapsulation ● Polymorphism 10 Intro to HTML ● ● ● ● ● ● 11 Intro to CSS ● ● ● ● ● ● 12 DOM in JS ● What is HTML? HTML Versions and their difference Meta tags and SEO Basic tags: header, paragraph, anchor, list, etc tags Semantic Tags:`main`, `section`, `header`, `footer`, `article`, `aside` Classes and id’s Selectors ○ Tag, classname, id Colors: hsl, hex, rgb, rgba Typography Position property: static, absolute, relative, fixed, sticky Positioning via Flex @media queries and mobile responsiveness ● Events ○ Listeners ○ Capturing ○ Bubbling Forms 13 Browser API ● ● Local storage JS Modules 14 Asynchronity in JS, մաս 1 ● ● setTimeout setInterval Event Loop ● Task Que ● Micro Task Que 15 Asynchronity in JS, մաս 2 ● ● Callbacks Callback Hell Promises Methods: ● Then ● Catch ● ● ● All Resolve Reject Promise Chaining 16 Asynchronity in JS, մաս 3 ● AJAX Requests Fetch API async/await 17 Packages and Package Managers in JS ● ● ● ● ● ● NPM NPX Yarn Package.json package-lock.json node_modules 18 Typescript Fundamentals ● ● ● ● ● Static Type Checking Syntax Runtime Behavior Compiler Config Files 19 Typescript Fundamentals ● ● ● ● ● ● Type Annotations Union Types Interfaces Type Assertions Generics Enums 20 Typescript Fundamentals ● ● ● Classes Modules How to structure TS Project 21 Angular Building Blocks ● ● ● ● Angular Advantages How to setup Angular Project Components Templates 22 Angular Building Blocks ● ● Directives Dependency Injection 23 Decorators and Modules ● ● The concept of Decorators NgModule 24 Data Binding ● ● ● ● Two-way data binding Property Binding Event Binding Inputs and Outputs 25 Directives ● Built-in Directives ● ● Attribute Directives Structural Directives 26 Pipes ● ● ● ● Data Transformations using pipes DatePipe CurrencyPipe DecimalPipe, etc 27 Services & Dependency Injection ● ● Dependency Injection Design Pattern Services in Angular 28 Model-driven Forms ● ● Work with Forms in Angular Reactive Forms 29 Communicating with the Server ● ● ● Usage of ::HttpClient Service Router Typed Response objects Error Handling 30 RxJS and Observables ● ● ● ● RxJS Library Observables Operators Schedulers,etc 31 Advanced Routing and Guards ● ● ● Guard Interfaces Implementing Router Guards as classes Implementation of Guards 32 Change Detection ● ● ● Angular Change Detection Strategies ChangeDetectionStrategy.Default ChangeDetectionStrategy.onPush 33 Ivy: Next-Generation Compilation & ::Rendering Pipeline ● ● ● ● Benefits of Ivy Tree Shaking AOT Compilation Locality 34 Angular. Architecture ● ● How to create components How to structure project