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

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

Разработка REST, WEB сервисов, взаимодействие с базой данных, в данном курсе не рассматриваются.

После курса разработчики смогут самостоятельно разворачивать и конфигурировать среду Angular, ориентироваться в дополнительных компонентах и библиотеках, создавать сложные пользовательские интерфейсы для отображения данных в современных Web броузерах. Разворачивать свои приложения на серверах предприятия, связывать свои WEB приложения с уже готовыми сервисами.

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

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

Предварительная подготовка

  • базовые знания объектно-ориентированного программирования
  • желательно знать основы HTML, JSON, XML, ES5, HTTP протокол

Программа курса

1. Введение в инструменты 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 для типизации методов и классов, шаблоны параметров интерфейсов, методов и классов

2. 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. Отправка формы через сервис на сервер приложений с дальнейшей оправкой изменений в базу данных.

3. Дополнительные темы

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

Информация о курсе

Вендор: Python, Java, JavaScript
Код курса: TS-A
Продолжительность: 5 дней / 40 ак. часов
Направление: JavaScript, TypeScript
Экзамен :
Обновление навыков до MCSA: Windows Server 2016
20743
дистанционно, 1-5 июня
Администрирование Linux. Часть 2
SLA-2
дистанционно, 1-5 июня; 31 августа - 4 сентября
Все предложения
Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации", отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг, исполнения договоров и пр.