Інтенсив з “розвиненої” розробки на Angular

Інтенсив з “розвиненої” розробки на Angular
ru
20.04.2024
13 г 47 хв 16 сек

Мета інтенсивного курсу – вивчення особливостей роботи Angular, поглиблення знань про функціонал, вивчення нових функцій та освоєння останніх оновлень та технік у використанні Angular.

Завдання курсу – навчитися ефективно використовувати Angular для програмування, застосовувати кращі практики та перевірені методи, а також підвищувати продуктивність вже розроблених програм.

Основні теми програми

Складні сторінки: генерація контенту.

Вивчимо такі декоратори, як @ ContentChild, @ ViewChild, @ ContentChildren, @ ViewChildren.

Поринемо в роботу структурних директив, зокрема NgComponentOutlet, і динамічних компонентів, а також “чисті” та “брудні” pipe.

Поговоримо про Ivy компілятор і чим він кращий за свого попередника View Engine.

Перехопимо хвилі веб-стандарту із Angular elements.

Просунутий Dependency Injection.

Згадаймо патерн DI, основи механізму: розберемо дерево інжекторів та ієрархію пошуку.

Розставимо крапки над i у питанні providers VS viewProviders.

Просунуте використання Change Detection.

Згадаймо механізми CD, у тому числі витоки помилки ExpressionChangedAfterItHasBeenCheckedError.

Розберемо роль бібліотеки Zone.js у Angular-додатку, можливості та способи взаємодії з нею.

Зрозуміємо чому нам однозначно варто використовувати стратегію OnPush і як її не боятися. Вивчимо потужність changeDetectorRef, з’ясуємо чим markForCheck відрізняється від detectChanges, коли і що потрібно використовувати, а також розгадаємо секрет asyncPipe.

Просунутий роутинг.

Подивимося спосіб налаштування анімації при зміні стану.

Розберемо ліниве завантаження модулів, а також можливі стратегії їх передзавантаження та застосування на практиці.

Поговоримо про методи динамічного зміни конфігурації станів.

Service Workers та Web Workers.

Розглянемо технології Service Workers та Web Workers, їх переваги та патерни застосування, а також паралелізацію виконання складних операцій.

Розберемо налаштування offline режиму та перевірку оновлень.

Дізнаємось, як можна розширити взаємодію з користувачем за допомогою веб-пушків з web-push.

Складання та оптимізація.

Поговоримо про організацію програми по модулям для більш ефективної розробки, а також зменшення розміру бандлів для підвищення продуктивності.

Розберемо архітектурний підхід мікрофронтендів: безшовне поділ коду та динамічне завантаження модулів.

Web безпека та Angular.

Дізнаємося, як же запобігають XSS і CSRF атакам, а також вивчимо за допомогою політики і механізми захисту в Angular.

Розберемо неочевидні складнощі, пов’язані з протоколом HTTPS та підходи для їх вирішення.

Нові та недавно додані можливості Angular.

Standalone компоненти – розберемося в їхніх перевагах та можливостях, навчимося створювати та інтегрувати їх у існуючі проекти.

Signals в Angular – альтернативний підхід до роботи з подіями та управління даними.

Результат навчання

Ви розумієте, як створювати ефективні компоненти в Angular.
Ви знаєте, як створювати великі багатомодульні проекти та оптимізувати їх.
Ви розумієте можливості фреймворку в плані організації безпеки.
Ви маєте інструменти для паралелізації виконання складних операцій.
Ви знаєте, як налаштувати роботу в offline та взаємодіяти з користувачем через Web пуші.
Ви розумієтеся на останніх можливостях Angular.
Попередні вимоги

Знання TypeScript: типи, інтерфейси, модифікатори доступу та декоратори.
Розуміння базових сутностей Angular (Component, Directive, Service, Pipe, Router), основ Dependency Injection та Change Detection.

Ви не можете переглядати цей курс -

Array ( [bitrate] => 110417 [filesize] => 1113769548 [mime_type] => video/mp4 [length] => 49636 [length_formatted] => 13:47:16 [width] => 1536 [height] => 960 [fileformat] => mp4 [dataformat] => quicktime [audio] => Array ( [dataformat] => mp4 [bitrate] => 64000 [codec] => ISO/IEC 14496-3 AAC [sample_rate] => 32000 [channels] => 2 [bits_per_sample] => 16 [lossless] => [channelmode] => stereo [compression_ratio] => 0.0625 ) [created_timestamp] => -2082844800 )