Целевая аудитория

Разработчики предприятия, обеспечивающие взаимодействие клиентских web приложений с уже готовыми сервисами предприятия, разработчики web интерфейсов

Программа
  • Введение в инструменты Angular и среду разработки, место языку TypeScript в совеменной WEB разработке.

    • Обзор практичекого приложения , созданного с помощью инструмента разработки Angular/CLI — далее (NG). Целью курса является создание подобного приложения, в котором будут реализованы механизмы навигации, поиск сортировка по данным, которые будут поставляться REST сервисами, отображение данных из базы данных в отношении мастер — деталь с последующим редактированием данных в базе данных через микросервисы. Реализация механизмов безопасного доступа к сервисам из NG приложения. Генерация отчетов в формате EXCEL и отображение их на NG страницах.

    • Подготовка рабочего места для разработки приложения, установка продуктивного сервера. Инсталяция NodeJS и среды разработки WebStorm. Подготовка рабочих каталогов. Анализ REST сервисов продуктивного сервера.

    • Создание NG приложения с нуля. Утилита npm и ng. Анатомия NG приложения. Конфигурационные файлы. Подготовка приложения NG для работы в режиме разработки и продуктивном режиме. Запуск приложения в обоих вариантах — в качестве продуктивного сервера — использование сервера WildFly.

    • Два вида компиляции модулей и компонент JIT и AOT, флаг запуска --prod. Преимущества JIT компиляции на этапе разработки.

    • Модуль приложения и основной компонент приложения NG. Язык TypeScript — основа разработки NG, а всему фунтдамент - JavaScript

    • Обзор среды выполнения, распределение памяти, стек вызовов, куча, механизмы обратного вызова. Механизм V8 (движок) — общее представление и механизмы времени выполнения.

    • EMACScript — однопоточный , цикл событий и параллельное выполнение.

    • TypeScript механизм строгой типизации для JavaScript, настройка рабочего места для использования TypeScript, аннотации типов, интерфейсы, необязательные свойства интерфейсов, стрелочные функции (лямбда выражения), модификатор private, pablic, наследование. Компиляция TypeScript в JavaScript. Декораторы — как основа заключения контрактов между виртуальной машиной V8 и компонентами NG

    • Основы OOP, инкапсуляция , полиморфизм, наследование, абстракции. Использование интерфейсов TS для типизации методов и классов, шаблоны параметров интерфейсов, методов и классов

    • Angular (NG) - инструмент разработки WEB приложения

    • Утилита ng- основной инструмент для разработчика в среде angular. Командная строка. Основные опции. Создание NG приложения с нуля. Изменение конфигурационных файлов , создание прокси для взаимодействия с сервером сервисов. Особенности среды WebStorm для работы с NG. Начало разработки — главный модуль и главный компонент приложения, таблицы стилей и другие ресурсы.

    • Создание путей навигации и связывание их с компонентами. Модуль маршрутизации. Параметры маршрута, параметры строки запроса, программная навигация, дочерние маршруты. Построение меню и определение активных маршрутов. Организация программной навигации, знакомство с событиями NG.

    • Создание компонента приложения, определение места размещения активов (assets), организация подгрузки статического контента на страницу NG.

    • Порядок использования дополнительных модулей , подгрузка зависимостей с использованием ng add. Инструментарий @angular/material — обзор. Инсталяция зависимостей через среду WebStorm, доступ, архитектура, настройка, компоненты и их использование на странице, связь через сервисы с базой данных. Компоненты, определяющие внешний вид приложений, инсталяция, настройка.

    • Создание всплывающих окон в приложении, контейнер MatDialog, конфигурация диалогового окна, передача параметров в диалог и возвращение результата действий пользователя. Общие диалоги приложения — как сервисы. Повторное использование Диалогового контейнера. Механизмы DaragAndDrop в приложении NG. Подготовка DataSources для отображения таблиц, деревьев и других компонент NG.

    • Определение сервисов. Взаимодействие из сервисов с серверами приложений, создание сервиса с параметрами и возвращением результата через Обещание (Promise). HTTPClient. Особенности выполнения методов POST и GET, обработка ошибок, использование AJAX для асинхронного обмена байтовыми потоками с серверами приложений. Механизмы Observable и Subscribe, использование Promise. Async — Await.

    • Использование результата работы сервисов в компонентах, отображение данных виде таблиц и деревьев, использование CSS стилизации для данных, полученных из сервисов, одностороннее связывание, обработка событий, двустороннее связывание, связывание через атрибуты. Взаимодействие между компонентами, передача данных из одного компонента в другой. Директивы для изменения внешнего вида приложения.

    • Формы стандартные и реактивные. Пример создания стандартной формы. Валидация формы и стилизация средствами NG. Отправка формы через сервис на сервер приложений с дальнейшей оправкой изменений в базу данных.

    • Дополнительные темы

      • Организация доступа к серверу Node — Express, серверам, которые подготавливают отчетные данные для публикации их на страницах приложения NG — на примере Python сервера .