Курс 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, внутрішня будова, робочі потоки, вбудовування коду, приховані класи. Елементи OOП в JS. Рекомендації щодо оптимізації
    • Управління пам'яттю JS, виділення та вивільнення пам'яті, прибирання сміття, циклічні посилання. Алгоритм складання сміття «познач та викинь». Як боротися з витоком пам'яті в JS
    • Асинхронне виконання JS, setTimeout(...), виконання подій в черзі, функції async та await
    • TypeScript-механізм типізації для JavaScript, налаштування робочого місця для використання TypeScript, анотації типів, інтерфейси, необов'язкові властивості інтерфейсів, стрілкові функції, лямбда-вирази, модифікатор private, наслідування. Компіляція TypeScript в JavaScript
    • Бібліотека web-розробки jQuery. Інсталяція бібліотеки, підключення бібліотеки до проекту. Правила ефективного використання 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)

Найближчі дати

за запитом

Ціна, грн