Курс NT-WebAppDev Разработка web-приложений. JavaScript и TypeScript, библиотека jQuery, платформа NodeJS и фреймворк Angular | nt.ua

Курс NT-WebAppDev Разработка web-приложений. JavaScript и TypeScript, библиотека jQuery, платформа NodeJS и фреймворк Angular

Курс предоставляет студентам знания и навыки, необходимые для самостоятельного развертывания инфраструктуры NodeJS, Angular в компании, создания фронтальных приложений с помощью языка программирования JavaScript и его обертки TypeScript. Он начинается с детального изучения языка JavaScript - управление памятью, современные механизмы и конструкции языка. Далее следует изучение классической библиотеки jQuery и ее решения в работе с технологией АЈАХ, NodeJS. Основа для реализации серверной части фронтального Web-приложения, в этой части курса разрабатывается сервер для доступа к базе данных и другим сервисам предприятия, рассматриваются механизмы шаблонизации. И наконец, финалом курса является Фреймворк Angular, который сегодня занимает одну из лидирующих позиций в разработке фронтальной части Web-приложений.

Cлушатели получат полный стек современной web-разработки с помощью языка JavaScript. ReactJS в этом курсе не рассматривается это отдельная тема.


По окончании курса слушатели смогут:
  • осуществлять разработку web-приложений с использованием JavaScript, TypeScript и библиотеки jQuery на платформе NodeJS с помощью фреймворка Angular.
Аудитория
  • Разработчики и персонал, сопровождающий и разрабатывающий корпоративные web-приложения для сервера базы данных PostgreSQL, Oracle и других хранилищ.
  • Тестировщики web-приложений.
  • Руководители проектов, желающие перевести распространение корпоративной информации на web-платформу.

Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками:
  • начальный опыт программирования SQL/PLSQL, Java или на любом объектно-ориентированном языке;
  • знание основ разработки web-приложений на уровне html-страниц;
  • начальный опыт работы со скриптовыми языками программирования, например, JavaScript, Python, РНР, VBScript.
  1. JavaScript, TypeScript, библиотека jQuery
    • JavaScript (JS), обзор среды выполнения, распределение памяти, стек вызовов, «купа», механизмы обратного вызова. Механизм V8, общее представление и механизмы времени выполнения. Однопоточный JS, цикл событий и параллельное выполнение
    • Движок V8, внутреннее устройство, рабочие потоки, встраивание кода, скрытые классы. Элементы OOP в JS. Рекомендации по оптимизации
    • Управление памятью JS, выделение и освобождение памяти, сборка мусора, циклические ссылки. Алгоритм сборки мусора «пометь и выброси». Как бороться с утечкой памяти в JS
    • Асинхронное выполнение JS, setTimeout(…), выполнение событий в очереди, функции async и await
    • TypeScript-механизм типизации для JavaScript, настройка рабочего места для использования TypeScript, аннотации типов, интерфейсы, необязательные свойства интерфейсов, стрелочные функции, лямбда-выражения, модификатор private, наследование. Компиляция TypeScript в 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 при обработке запросов. Прием и отправка данных в формате JSON
    • Использование шаблонизаторов. Движок представлений pug. Инсталляция. Теги выражений #{...}, подключение частичных представлений
    • Взаимодействие NodeJS с базой данных PostgreSQL или Oracle. Инсталляция модулей. Подключение к базе данных через параметры операционной системы и через объекты NodeJS. Создание пулов соединений, выполнение команды SELECT и получение описания метаданных из базы данных. Основы транзакционных механизмов в базе данных, выполнение транзакционных запросов через пул соединений. Обработка распределенных транзакций. Типы данных базы данных и их мапирование на NodeJS. Работа с JSON-типом данных и с BLOB-объектами
    • Организация маршрутов в NodeJS-приложениях. Шаблон MVC. Построение контроллеров, как отдельных модулей
    • Практическая работа по созданию серверного и клиентского приложения в технологии NodeJS с редактированием данных в базе данных Oracle или PostgreSQL
  3. Фреймворк разработки Angular4
    • Установка Angular, утилита CLI, предварительная установка NodeJS. Создание проекта, конфигурационный файл package.json, запуск проекта на различных сетевых интерфейсах и портах, перевод проекта из разработки в продуктивный режим и обратно. Структура папок приложения
    • Структура приложения, модули, компоненты, сервисы и директивы
    • Два вида компиляции модулей и компонент JIT и AOT, флаг запуска --prod. Преимущества JIT-компиляции на этапе разработки
    • Шаблоны Angular, интерполяция, одностороннее связывание, обработка событий, двустороннее связывание. Декораторы, getters и setters. Взаимодействие между компонентами, передача данных из одного компонента в другой
    • Директивы для изменения внешнего вида приложения, для изменения структуры DOM, фильтры преобразующие html-шаблоны
    • Стандартные и реактивные Формы. Пример создания стандартной формы. Валидация формы
    • HTTP-клиент и отправка запросов, обработка ошибок, отправка данных в запросе методами GET и POST
    • Определение маршрутизации в Angular, создание ссылок, параметры маршрута, параметры строки запроса, программная навигация, дочерние маршруты
    • Практическая работа по созданию динамического приложения для работы с базой данных. Формирование отношения «мастер-деталь» между двумя таблицами в базе данных с возможностью редактирования данных
    • Авторизация доступа, стандартная авторизация средствами JEE, LDAP. Доступ к внешним серверам авторизации и аутентификации
    • Компоненты повторного использования ng2-smart-table, nebular@theme, eva-icons и другие, принципы использования. Инсталляция, доступ, архитектура, настройка компоненты и ее использование на странице, связь через сервисы с базой данных. Компоненты, определяющие внешний вид приложений, инсталляция, настройка

Внимание! Тема «Angular4» может быть заменена на тему «ReactJS» при корпоративном обучении

  1. Основы работы с библиотекой ReactJS
    • Библиотека ReactJS для пользовательских интерфейсов с компонентным подходом
    • Что такое компоненты в ReactJS. Компонентный подход к разработке приложения с использованием JavaScript. ReactJS - все есть JavaScript
    • Подключение библиотеки React. Сайт Reactjs.org. Все очень просто, из JavaScript-приложения делаем React-приложение. Создание полноценного React-компонента. Использование Babel-компилятора. Анатомия приложения и пользовательского компонента
    • JSX - это препроцессор, который добавляет синтаксис XML к JavaScript. Выражения в JSX. Определение тегов и их атрибутов в JSX, дочерних элементов, невозможность встраивания кода в JSX элемент, атака инъекций. Babel и преобразование элементов к JS-объектам. Встраивание JS в JSX компоненты, аттрибут key уникально определяет объект JSX. Реализация методов в JSX-объектах. Функция React.createElement, замена html на JS
    • Создание событий, передача событий в компоненты, работа с динамическими классами. Метод bind. Определение логики на уровне приложения
    • Использование условных операторов для отображения динамических компонентов
    • Использование состояния state и жизненный цикл компонента. Асинхронные запросы
    • JSX как синтаксический сахар, тип React компонента и область видимости, правила именования, свойства props в JSX, spred атрибут (...), проверка типов с PropTypes
    • Работа с формами, валидация формы, отправка параметров формы REST-сервису
    • Ссылки ref и DOM, когда использовать ссылки ref, доступ к ссылкам, добавление ссылки ref на DOM-элемент, ссылки ref и функциональные компоненты, не контролируемый компонент DOM на основе тега input типа file
    • Создание продуктивного приложения с оптимизацией производительности, добавление плагинов в приложение, профилирование компонентов в chrome
    • Создание web-приложения для отображения и редактирования данных из базы данных Oracle или PostgreSQL, которые передаются в приложение через REST-сервисы, размещенные на сервере приложения WildFly

Регистрация на ближайший курс

Код курса

NT-WebAppDev

Длительность, дней (часов)

5 (40)

Ближайшие даты

по запросу

Цена, грн

В стоимость курса входит

  • LIVE-обучение в удаленном формате проведения курса
  • Видеозапись курса (все действия инструктора + голосовое сопровождение)
  • Подборка материалов в электронном виде
  • Электронный сертификат УЦ
  • Консультации тренера в течении 6-ти месяцев после окончания курса