Разработка Web приложений. Использование JavaScript, TypeScript, библиотеки jQuery, NodeJS, Angular

После прослушивания курса, слушатели самостоятельно смогут разворачивать на предприятии инфраструктуру NodeJS, Angular, создавать фронтальные приложения с помощью языка программирования JavaScript и его обертки TypedScript. Курс построен по принципу «в горку», он начинается с детального изучения языка JavaScript — управление памятью, современные механизмы и конструкции языка. Далее следует  изучение классической библиотеки jQuery и ее решения в работе с технологией AJAX, NodeJS — основа для реализации серверной части фронтального Web приложения — в этой части курса разрабатывается сервер для доступа к базе данных и другим сервисам предприятия, рассматриваются механизмы шаблонизации. И наконец, финалом курса является фреймворк Angular, который сегодня занимает одну из лидирующих позиций в разработке фронтальной части WEB приложений. Таким образом слушатели получат полный стек современной WEB разработки с помощью языка JavaScript (ReactJS в этом курсе не рассматривается — это отдельная тема).

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

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

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

  • базовый опыт программирования SQL/PLSQL, Java или одного из объектно-ориентированных языков
  • знание  основы разработки Web приложений на уровне HTML страниц
  • желателен начальный опыт работы с скриптовыми языками программирования — JavaScript, Python, PHP, VBScript

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

1. JavaScript, TypeScript, библиотека jQuery

  • Почему JavaScript (JS), обзор среды выполнения, распределение памяти, стек вызовов, куча, механизмы обратного вызова. Механизм V8 (движок) — общее представление и механизмы времени выполнения. JS — однопоточный , цикл событий и параллельное выполнение.
  • Движок V8 — внутреннее устройство, рабочие потоки, встраивание кода, скрытые классы. Элементы OOP в JS. Рекомендации по оптимизации.
  • Управление памятью JS, выделение и освобождение памяти, сборка мусора, циклические ссылки. Алгоритм сборки мусора — Пометь и выброси. Как бороться с утечкой памяти в JS.
  • Асинхронное выполнение JS, setTimeout(…), выполнение событий в очереди, функции async/await
  • TypedScript механизм типизации для JavaScript, настройка рабочего места для использования TypedScript, аннотации типов, интерфейсы, необязательные свойства интерфейсов, стрелочные функции (лямбда выражения), модификатор private, наследование. Компиляция TypedScript в JavaScript.
  • jQuery — библиотека Web разработки. Инсталяция библиотеки, подключение библиотеки к проекту. Правила эффективного использования jQuery.
  • Селекторы, способы доступа к модели документа, выбор элементов, подэлементов по свойствам, идентификаторам, классам. Использование нескольких селекторов. Фильтры по содержимому, по дочерним элементам и по элементам форм.
  • Манипуляции с состоянием и содержимым элементов DOM. Работа с атрибутами, параметрами и стилями. Удаление, добавление и изменение содержимого элементов. Клонирование.
  • События библиотеки jQuery. Базовые события, события мыши и клавиатуры. События формы, страницы, браузера.
  • Технология AJAX. Функции высокого уровня, обработка AJAX событий, синхронное и асинхронное выполнение AJAX. Преобразование данных формы в строку — сериализация форм.
  • Практическая работа по созданию Ajax страницы для взаимодействия с сервером Wildfly , с размещенными на нем REST сервисом. Выполнение POST и GET запросов. Обработка ошибок на стороне клиента (html страницы).

2. NodeJS — среда выполнения JavaScript на серверной стороне.

  • Создание и работа с серверными приложениями. Сравнение NodeJS и с технологиями JEE на примере сервера приложений WildFly. Установка и настройка NodeJS, инструментарий разработчика.
  • Порядок создания серверного приложения, отсутствие ключевых объектов JS — window и document. Работа с консолью операционной системы из NodeJS.
  • Модули — как основной строительный блок среды выполнения. Утилита инсталяции новых модулей — npm, файл package.json — управление конфигурацией пакетов, удаление пакетов, подключение модуля к приложению и экспорт модулей. Глобальный объект global — аналог клиентского window. Передача параметров серверному приложению — массив process.argv. Утилита nodemon для отслеживания изменений в проекте.
  • Асинхронные механизмы при выполнении NodeJS приложения , setTimeout и механизмы async/await
  • Работа с файловой системой — модуль fs. Работа с файловыми атрибутами, файловые потоки - чтение и запись в файл. Каналы (pipe) — для связывания потоков. Модуль zlib для упаковки и распаковки потоков.
  • Обработка событий в NodeJS — модуль events, передача параметров в событие, переопределение событий.
  • Создание http сервера — модуль http. Request и Response. Реализация простейшей маршрутизации. Взаимодействие http сервера с файлами операционной системы. Использование прейсхолдеров {name} для замены содержимого в статических файлах на динамическое содержимое.
  • Модуль express. Загрузка и доступ к модулю, конвейерная обработка запросов и отправка ответа, ответ из статического файла, передача параметров express приложению - POST и GET методы при обработке запросов. Прием и отправка данных в формате
  • Использование шаблонизаторов. Движок представлений Инсталяция. Теги выражений #{...}, подключение частичных представлений.
  • Взаимодействие NodeJS с базой данных Postgresql (Oracle). Инсталяция модулей . Подключение к базе данных через параметры операционной системы и через объекты NodeJS. Создание пулов соединений, Выполнение команды SELECT и получение описания метаданных из базы данных. Основы транзакционных механизмов в базе данных, выполнение транзакционных запросов через пул соединений. Обработка распределенных транзакций. Типы данных базы данных и их мапирование на NodeJS. Работа с JSON типом данных и с BLOB объектами.
  • Организация маршрутов в NodeJS приложениях. Шаблон MVC. Построение контроллеров , как отдельных модулей.
  • Практическая работа по созданию серверного и клиентского приложения в технологии NodeJS с редактированием данных в базе данных Oracle или PostgreSQL.

3. Angular4 - фрэймворк разработки

  • Установка angular, утилита CLI, предварительная установка NodeJS. Создание проекта, конфигурационный файл package.json, запуск проекта на различных сетевых интерфейсах и портах, перевод проекта из разработки в продуктивный режим и обратно. Структура папок приложения.
  • Структура приложения, модули, компоненты, сервисы и директивы.
  • Два вида компиляции модулей и компонент JIT и AOT, флаг запуска --prod. Преимущества JIT компиляции на этапе разработки.
  • Шаблоны Anguar , интерполяция , одностороннее связывание, обработка событий, двустороннее связывание. Декораторы, getters и setters. Взаимодействие между компонентами, передача данных из одного компонента в другой.
  • Директивы для изменения внешнего вида приложения, для изменения структуры DOM, фильтры преобразуют html шаблоны.
  • Формы стандартные и реактивные. Пример создания стандартной формы. Валидация формы.
  • HTTP клиент и отправка запросов, обработка ошибок, отправка данных в запросе GET и POST методами.
  • Определение маршрутизации в Anguar, создание ссылок, параметры маршрута, параметры строки запроса, программная навигация, дочерние маршруты.
  • Практическая работа по созданию динамического приложения для работы с базой данных. Формирование отношения мастер — деталь между двумя таблицами в базе данных с возможностью редактирования данных.

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

Вендор: Python, Java, JS и др.
Код курса: JS-1
Продолжительность: 5 дней / 40 ак. часов
Направление: JavaScript, TypeScript
Экзамен :
Записаться на курс

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

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

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