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

Модуль 1. Разработка с использованием JavaScript

  • История создания и назначения
  • Возможности и реализация в различных версиях
  • Применение в современных приложениях и средах
  • Инструментальная поддержка разработки
  • Языки надстройки и библиотеки расширения
  • Создание собственных алгоритмов
  • Практика: простое приложение на языке JavaScript

Модуль 2. Базовые возможности JavaScript

  • Синтаксис и структура языка
  • Переменные и литералы в JavaScript
  • Типы выражений
  • Операторы JavaScript
  • Организация циклов
  • Создание простейших скриптов с использованием стандартных методов
  • Практика: реализация собственного алгоритма

Модуль 3. Расширенные возможности JavaScript

  • Типы данных встроенные и собственные
  • Массивы обычные и ассоциативные
  • Использование библиотек
  • Определение и преобразование типов
  • Логические операторы
  • Практика: реализация продвинутого алгоритма

Модуль 4. JavaScript и процедурное программирование

  • Процедурный подход
  • Что такое функция?
  • Правила именования
  • Создание и вызов функций в JavaScript
  • Область видимости
  • Стандартные функции верхнего уровня
  • Практика: разработка процедурного кода

Модуль 5. JavaScript и объектно-ориентированное программирование

  • Изучение основ объектно-ориентированных технологий
  • Объектные модели сценариев, иерархии объектов
  • Стандартные объекты JavaScript
  • Создание объектов
  • Методы и свойства объектов
  • Практика: создание собственных объектов и их использование

Модуль 6. ООП с использованием прототипов и функций

  • Интерфейсная модель
  • Шаблоны проектирования
  • Наследование
  • Конструирование объектов
  • Встроенные классы
  • Проверка типов
  • Практика: использование прототипов

Модуль 7. Продвинутые возможности JavaScript

  • Современные тенденции разработки кода
  • Обработка исключений
  • Перегрузка функций
  • Функциональные выражения
  • Использование замыканий
  • Статические члены
  • Использование памяти
  • Практика: использование продвинутых возможностей

Модуль 8. ECMAScript 2015 – новые возможности

  • Переменные: let и const
  • Декомпозиция при присвоении объектов и массивов
  • Параметры функций по умолчанию
  • Свойство name у функции
  • Синтаксис функций через «стрелку» =>
  • Строки-шаблоны (многострочные, с переменными)
  • Современный синтаксис классов
  • Тип данных Symbol
  • Практика: первое приложение на ECMAScript 2015

Модуль 9. ECMAScript 2015 – новые возможности (продолжение)

  • Итераторы
  • Map – коллекции записей
  • Set – коллекции уникальных элементов
  • Promise – объект который содержит своё состояние
  • Цепочки (chaining) объектов
  • Генераторы
  • Прокси (proxy)
  • Практика: разработка современного JavaScript кода

Модуль 10. Разработка front-end на JavaScript

  • Событийно-ориентированное программирование
  • Иерархия объектов обозревателя
  • Обработчики событий
  • Динамический HTML (DHTML)
  • Добавление и удаление узлов DOM
  • Визуальное форматирование
  • Слои. Движущиеся элементы
  • Практика: создание front-end на JavaScript

Модуль 11. Разработка back-end на JavaScript

  • Основы Node.js
  • Модули
  • Цикл жизни
  • События
  • Потоки
  • Инструментальная поддержка
  • Практика: создание back-end на JavaScript

Модуль 12. Фреймворки JavaScript

  • Где еще применяется JavaScript?
  • Разработка мобильных приложений
  • Tessel — микроконтроллер, программируемый на JavaScript
  • Калейдоскоп: Angular, Backbone, Dojo, Prototype, React, …
  • Создание собственной библиотеки
  • Пакетирование и распространение
  • Практика: Фреймворки JavaScript - использование

Программа курса может корректироваться