Курс Разработка Web-приложений. TypeScript, Angular

Код: ITCloud-WTSA

Продолжительность курса

40 Академических часов

Курс предназначен для разработчиков пользовательского интерфейса WEB приложений. На протяжении курса строится пилотный проект с нуля, в котором создаются основные компоненты пользовательского интерфейса — деревья, таблицы, формы ввода данных., всплывающие окна, диалоги. В качестве сервера — поставщика услуг, используется WildFly сервер с уже развернутыми на нем сервисами и база данных PostgreSQL с готовой схемой данных для работы.

Стоимость курса

60 000 руб
Заказать

Цели курса:

После курса разработчики смогут 

  • Самостоятельно разворачивать и конфигурировать среду Angular

  • Ориентироваться в дополнительных компонентах и библиотеках

  • Создавать сложные пользовательские интерфейсы для отображения данных в современных Web броузерах

  • Разворачивать свои приложения на серверах предприятия

  • Связывать свои WEB приложения с уже готовыми сервисами

Аудитория

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

От слушателя требуется

  • ориентация в понятиях OOП
  • желательно знать основы HTML, JSON, XML, ES5, HTTP протокол

Содержание курса

Введение в инструменты 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 сервера .