Разработка на JavaScript

JavaScript – универсальный скриптовый язык, весьма гибкий и мощный. JavaScript находит широкое применение как язык описания сценариев для web-браузера, позволяет придавать интерактивность HTML-документам, так и в разработке серверных приложений на Node.js. В данном курсе будут рассмотрены основные возможности языка, традиционные области его применения и рассмотрены способы его применения при программировании web-приложений.
Курс: WEB-007
Длительность: 40 ч.

Описание

JavaScript – универсальный скриптовый язык, весьма гибкий и мощный. JavaScript находит широкое применение как язык описания сценариев для web-браузера, позволяет придавать интерактивность HTML-документам, так и в разработке серверных приложений на Node.js. В данном курсе будут рассмотрены основные возможности языка, традиционные области его применения и рассмотрены способы его применения при программировании web-приложений.

Разбираемые темы

1. Введение в JavaScript:
  • Версии JavaScript;
  • Client-side JavaScript;
  • Примеры использования JavaScript;
  • Популярность JavaScript.
2. Лексическая структура:
  • Кодировка и case sensitivity;
  • Пробелы;
  • Комментарии;
  • Идентификаторы;
  • Зарезервированные слова.
3.Типы данных:
  • Числа;
  • Строки;
  • Логический тип;
  • Функции;
  • Объекты;
  • Массивы;
  • Значения null и undefined;
  • Объектные оболочки примитивных типов;
  • Конвертация типов данных.
4. Переменные:
  • Типизация и декларация;
  • Область видимости;
  • Блочная область видимости;
  • Примитивные и ссылочные типы;
  • Сборщик мусора ;
  • Переменные и свойства объекта;
  • Цепочка видимости (scope chain).
5. Операторы:
  • Обзор операторов JS;
  • Число операндов;
  • Приоритеты операций;
  • Ассоциативность оператора;
  • Арифметические операторы;
  • Equality (==) и Identity (===);
  • Условные операторы;
  • Строковые операторы;
  • Логические операторы;
  • Битовые операторы;
  • Оператор присваивания;
  • Прочие операторы.
6. Утверждения:
  • Условное утверждение;
  • Утверждение switch;
  • Утверждение while;
  • Утверждение do/while;
  • Утверждение for;
  • Утверждение for/in;
  • Утверждение break;
  • Утверждение continue;
  • Утверждение var.
7. Объекты и массивы:
  • Объект;
  • Свойства объекта;
  • Объект как массив;
  • Стандартные свойства и методы объектов;
  • Массив;
  • Доступ к элементам массива;
  • Добавление нового элемента в массив;
  • Длина массива;
  • Методы массивов.
8. Использование исключений в JavaScript:
  • Понятие исключения;
  • throw;
  • try-catch-finally;
  • Наилучшая практика использования исключений.
9. Функции:
  • Определение и вызов функции;
  • Аргументы функции и объект Arguments;
  • Функции как данные;
  • Функции как методы;
  • Методы и свойства объекта функции;
  • Call-объект;
  • Область видимости и замыкания;
  • Конструктор Function().
10. Классы и прототипы:
  • Конструкторы;
  • Прототип и наследование свойств;
  • Эмуляция классов JavaScript;
  • Общие методы;
  • Наследование классов.
11. JavaScript в Web-браузере:
  • Роль JS в Web, обзор основных возможностей JS в web-браузере;
  • Объект window как глобальный контекст;
  • Внедрение JS в HTML;
  • Выполнение программ JS;
  • Безопасность JavaScript.
12. Document Object Model:
  • Модель DOMф;
  • DOM Level 0;
  • W3C DOM;
  • Универсальное представление дерева;
  • HTML имплементация DOM-модели;
  • Версии W3C DOM -модели;
  • Совместимость DOM в браузерах;
  • Обход DOM-дерева;
  • Поиск элементов в документе;
  • Модификация документа;
  • Добавление элементов в документ;
  • Свойство innerHTML.
13. Каскадные таблицы стилей:
  • Введение в CSS;
  • Атрибуты видимости и позиционирования;
  • CSS box-model;
  • Атрибуты Visibility и Display;
  • Атрибут z-index;
  • Атрибуты overflow and clip;
  • Управление стилями с помощью JavaScript;
  • HTML-анимация;
  • Включение и выключение CSS.
14. Протокол HTTP:
  • Веб-сервера;
  • POST- и GET-методы;
  • Другие методы;
  • Коды состояния HTTP.
15. Формы: 
  • Доступ к форме и к элементам формы;
  • Определение элементов формы;
  • Общие свойства элементам формы;
  • Элементы формы.
16. Управление окном браузера:
  • Таймеры;
  • Свойство window.location;
  • История загрузки документов;
  • Геометрия окна;
  • Объект Screen;
  • Объект Navigator;
  • Открытие нового окна;
  • Диалоговые окна;
  • Обработка ошибок.
17. Библиотека jQuery:
  • Обзор jQuery;
  • jQuery селекторы;
  • Манипуляции DOM;
  • Манипуляции CSS;
  • Использование jQuery для создания обработчиков событий;
  • Использование jQuery для создания визуальных эффектов.
18. События:
  • Событийно-ориентированное программирование;
  • Добавление обработчиков событий;
  • События браузера;
  • События документа;
  • События формы;
  • События клавиатуры;
  • События мыши.
19. Cookies:
  • Обзор Cookies;
  • Безопасность и ограничения;
  • Время жизни cookie;
  • Создание и область действия cookie;
  • Чтение cookie;
  • Удаление cookie;
  • Использование jQuery для работы с cookie (jQuery plugin).
20. Асинхронное программирование в JavaScript:
  • Асинхронное программирование;
  • Преимущества асинхронного программирования;
  • Функция обратного вызова - основа асинхронного программирования
  • XMLHttpRequest;
  • Использование XML для AJAX;
  • Использование JSON для AJAX;
  • Использование jQuery для AJAX вызовов;
  • Отложенные (deferred) объекты.
21. Model-View-Controller библиотеки (frameworks) для JavaScript:
  • Что такое MVC?
  • Типичные возможности MVC-библиотек;
  • Backbone.js;
  • Другие MVC-библиотеки.
22. JavaScript -инструменты:
  • Отладка JavaScript;
  • Сжатие кода;
  • Тестирование приложений на JavaScript.
23. Будущее JavaScript:
  • ECMAScript 6.

Цели

После прохождения курса слушатели будут хорошо разбираться в возможностях языка JavaScript, научатся создавать сценарии средней и высокой сложности для большинства актуальных при разработке web-приложений задач, связанных с созданием интерактивного интерфейса пользователя, включая технологию Ajax. В первой части курса слушателями будет подробно изучена структура и синтаксис языка, его объектная модель. Во второй части подробно рассматривается DOM модель HTML-документа, делается введение в CSS, изучаются техника управления DOM и CSS c помощью JavaScript; модели обработки событий; вопросы создания форм. Рассматривается объект XMLHttpRequest, технология JSON и технология Ajax. Обзорно рассматривается библиотека jQuery.

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

Начинающие или продвинутые разработчики приложений с web-интерфейсами или Internet-сайтами.
После окончания курса выдаётся сертификат на бланке Luxoft Training
Таранов Николай Консультант по разработке ПО, технологиям Microsoft
За 10 лет в разработке ПО принимал участие в разработке систем  дистанционного образования, интернет-магазинов, корпоративных интранет-порталов, соцсетей, веб-служб как в роли разработчика, так и в роли руководителя.

Любит, когда в результате работы получается что-то хорошее.

Согласен с Эйнштейном, который говорит: «Если ты не можешь объяснить что-то шестилетнему ребенку, то ты сам этого не знаешь».
Выпускник МГУ, кандидат физ.-мат. наук. 
 
Microsoft Certified Professional Developer.
Дворжецкий Юрий Специалист в области Java, C/C++
Юрий работает в Luxoft с 2011 г. в качестве Java-разработчика  в проектах SITA, DHL, ГЛОНАСС, «Почта России».
В рамках проектов разрабатывал высоконагруженные компоненты с использованием С/С++, а также огромные бизнес-порталы с использованием высокоуровневых технологий на платформе .NET и Java от Back-end до Font-end.

С 2005 г. занимается преподавательской деятельностью: 2008–2011 гг. – преподавал курсы по основам программирования в  Четверговой математической школе; в 2011–2012 гг. – курсы по программированию в Омском государственном университете им. Ф.М. Достоевского.
Защитил диссертацию на соискание степени кандидата физико-математических наук.

Имеет только три жизненных принципа: наследование, инкапсуляция и полиформизм.

Цытович Павел Специалист в области разработки и архитектуры ПО
Павел имеет богатый опыт обучения разработчиков программного обеспечения по всем направлениям Software Engineering, начиная от выяснения потребностей заказчика и ответа на вопрос «Чего тебе надобно, старче?» до создания высоконагруженных систем на основе применения хорошо зарекомендовавших себя решений (паттернов). 
Павел широко использует в своей научно-практической деятельности методы объектно-ориентированного анализа и проектирования, язык моделирования UML. В качестве разработчика имеет опыт создания нагруженных приложений на платформе Microsoft .NET Framework.

Свою карьеру Павел начал в  Южно-Уральском государственном университете в 1993 г., где был преподавателем  авторизованного учебного центра при кафедре ЭВМ, позже преподавал цикл дисциплин «Программная инженерия».
В 2011–2012 гг. в качестве архитектора проектных решений компании занимался оценкой, ведением проектов, разработкой архитектурных решений в Fuse8 Online. 
С сентября 2012 г. Павел работает в Luxoft экспертом по разработке ПО.

В методиках обучения Павел использует проектный подход. В практике преподавания старается опираться на различные психологические упражнения, позволяющие смоделировать реальную ситуацию, возникающую у разработчика в ходе работы над проектом.  Является автором оригинальной методики обучения постановщиков задач – деловой игры «Тендер». Проводит авторские курсы, такие как «Технология программирования» и «Проектирование и разработка сервисно-ориентированной архитектуры», основанных на опыте разработки как собственных проектов, так и проектов для предприятий и организаций.

Павел успешно защитил диссертацию на соискание степени кандидата технических наук.
Сфера научных интересов: автоматизация разработки программного обеспечения, объектно-ориентированные операционные системы и среды. 
-10% ФИЗИЧЕСКИМ ЛИЦАМ
Данный курс запланирован в городах: Москва, Омск, Санкт-Петербург
27.11.2017 - 01.12.2017
Время: 10:00-18:00
Локация: Москва
Длительность: 40 ч.
Тренер
Таранов Николай
Консультант по разработке ПО, технологиям Microsoft
34 800 1

27.11.2017 - 01.12.2017

Не подходят даты, время или хотите заказать корпоротивное обучение для команды?
+
Предложите свой вариант
22.01.2018 - 02.02.2018
Время: 10:00-14:00
Локация: Омск
Длительность: 40 ч.
Тренер
Дворжецкий Юрий
Специалист в области Java, C/C++

22.01.2018 - 02.02.2018

Не подходят даты, время или хотите заказать корпоротивное обучение для команды?
+
Предложите свой вариант
22.01.2018 - 26.01.2018
Время: 10:00-18:00
Локация: Санкт-Петербург
Длительность: 40 ч.
Тренер
Цытович Павел
Специалист в области разработки и архитектуры ПО

22.01.2018 - 26.01.2018

Не подходят даты, время или хотите заказать корпоротивное обучение для команды?
+
Предложите свой вариант
Не подходят даты, время или хотите заказать корпоротивное обучение для команды?
+
Предложите свой вариант
Москва 34 800 1
Санкт-Петербург 31 320 1
Омск 26 100 1
Киев 8 700 грн.
Одесса 7 800 грн.
Днепр 7 800 грн.
Отзывы:
Живолович
Тренинг превзошел ожидания. Особенно хочется отметить широчайший кругозор тренера - Николая Смирнова.
Участник тренинга
Я очень довольна тренингом, наполнением практическими заданиями. Мне очень понравилось что практически не было сухого зачитывания слайдов с экрана, все сразу разъяснялось на примерах.

Записаться на курс

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоротивное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия

Имя

Отчество

Контактный E-mail

Компания

Телефон

Город

Комментарий
По запросу на education@luxoft.com мы ответим на любые дополнительные вопросы касательно обучения в нашем Luxoft Training.
   Подпишись на ежемесячный DigestLT
Успешная форма подписки.
Спасибо!
Форма отправлена успешно.