Опис курсу:

В ході вивчення курсу JavaScript Professional Ви познайомитеся з реалізацією на JavaScript найпопулярніших шаблонів проектування: Фасад, Модуль, Mediator (Посередник – поведінковий шаблон) і Singleton (Одинак – породжує шаблон). На уроках буде розглянуто шаблон MVC і реалізація з його допомогою простого JavaScript-додатка. Ви познайомитеся з безліччю різних технік роботи з JavaScript, дізнаєтеся масу тонких моментів, в яких навіть професіонали роблять помилки. Ви навчитеся використовувати функціональне програмування, оптимізувати швидкість рендеринга сторінки та її завантаження. Останній урок буде присвячений популярним antipatterns.

Після вивчення курсу Ви зможете:

  • Розуміти складні JavaScript конструкції та роботу з шаблонами проектування.
  • Розуміти і використовувати ООП в середовищі JavaScript.
  • Розуміти і використовувати функціональне програмування та його підходи в середовищі JavaScript.
  • Створювати JavaScript, плагіни і застосовувати вивчені шаблони в процесі їх розробки.
  • Розуміти механізми роботи масивів та об'єктів.
  • Створювати швидкі та плавні анімації, які не перевантажують браузер і виконуються з мінімум ресурсів.
  • Прискорювати роботу і процес завантаження Вашої сторінки.
  • Рефакторити додаток.

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

  • Контекст виконання. Методи call, apply, bind. Замикання
    • this в JavaScript
    • Робота з методами call і apply
    • Робота з методом bind
    • Робота з замиканнями (closures)
  • Функціональне програмування
    • Чисті функції
    • Функції вищого порядку
    • Часткове застосування функцій
    • Композиція функцій
    • Каррірування
    • Незамінність
    • Методи для роботи з масивами - map, filter, reduce
  • Performance Optimization
    • Relflow/Layout зміна макету сайту
    • Repaint - вивід елементів
    • Мінуси setIntreval і рішення проблем за допомогою requestAnimationframe
    • DevTools як головний помічник у налагодженні performance Вашого додатка
    • WillChange і Debounce
  • Шлях відображення сторінки
    • Шлях відображення сторінки і способи його оптимізації
    • CSSOM – об’єктна модель CSS
    • Async and Defer - правильне завантаження і підключення JS
    • Оптимізація зображень і користувальницьких шрифтів
    • Кешування і gzip-архівація даних
  • Тестування
    • Чому треба тестувати продукт
    • Чому це повинен робити програміст
    • Тест спрямована розробка (TDD)
    • Поведінково спрямована розробка (BDD)
    • Jasmine як фреймворк для тестування JavaScript
  • MVW і MFM
    • Модель
    • Контролер
    • View/Presenter/ViewModel
    • Шаблон Модуль
    • Шаблон Фасад
    • Шаблон Медіатор
  • Antipatterns. Погані запахи в коді
    • Поняття рефакторингу
    • Код який погано пахне
    • Часті помилки в побудові коду
    • Способи боротьби
    • Рефакторинг всіх перерахованих антишаблонів
  • Робота з асинхронними операціями (Promise, async/await)
  • Сучасні можливості ES2015 +, використання Babel

Мінімальні вимоги:

  • Власний ПК
  • Навички роботи з IDE
  • Знання основ HTML
  • Знання основ Javascript

* Вказані знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!