Разработка веб-приложений на JavaScript [IT-Academy]
На этом курсе вы познакомитесь с основным языком программирования для построения интерактивных пользовательских интерфейсов — JavaScript. С помощью этого языка можно создавать современную графику, анимацию, игры, динамические стили — всё, что так или иначе придаёт «жизни» веб-страницам.
В завершении курса создадите собственный выпускной проект — браузерную игру.
Для кого этот курс
- Для студентов, которые хотят начать карьеру в ИТ и научиться проектировать и создавать клиентские приложения;
- Для тех, кто знаком с языками разметки (HTML, CSS) и хочет научиться создавать интерактивные веб-страницы с помощью JavaScript;
- Для тех, кто самостоятельно изучал JavaScript и хочет закрепить имеющиеся знания и навыки программирования;
- Для новичков, желающих освоить профессию фронтенд-разработчика с нуля.
- Для специалистов, которые планируют посвятить себя фрилансу: Front-end Developer, PHP Developer, Web-дизайн, iOS Developer, Android Developer.
- Обязательно уверенное владение компьютером и браузерами;
- Обязательно понимание того, чем занимаются JavaScript-разработчики;
- Обязательное владение принципами верстки и основами программирования на JavaScript.
Для того, чтобы получить знания о языке программирования JavaScript: научиться «читать» код, разбирать его по полочкам и создавать веб-приложения самостоятельно, применяя различные фреймворки и библиотеки.
Вы будете уметь
- Эффективно работать с веб-страницами;
- Обрабатывать события и работать с мышью и тачскрином;
- Проводить отладку и тестирование кода;
- Писать регулярные выражения;
- Работать с мультимедийными возможностями браузеров — SVG и Canvas, создавать производительную графику и мультимедиа;
- Использовать коммуникационные возможности браузера, в т.ч. JSON и AJAX;
Введение. Функции. Массивы и хэши
- Переменные.
- Выражения.
- Преобразование типов.
- Ввод-вывод.
- Циклы.
- Функции, рекурсия, области видимости, изменения в ES6.
- Массивы, хэши.
- Понятие о ссылке.
- Скриптовые файлы.
- Минификация и сжатие скриптов.
- Замыкания. Scope, Lexical Environment.
- Основные принципы функционального программирования.
- Контекст вызова функции. Стрелочные функции.
- ООП - инкапсуляция, наследование, полиморфизм, утиная типизация, приватные и публичные свойства и методы.
- Встроенные классы и объекты.
- Описание собственных классов - реализация приватных свойств и методов, реализация наследования, изменения в ES6.
- Работа с DOM - поиск элементов, стилизация, позиционирование.
- Работа с окном браузера и с документом.
- Программное формирование документа.
- Управление атрибутами и содержимым DOM-элементов.
- Работа с формами и элементами форм.
- Работа с деревом DOM - навигация, программное создание элементов, вопросы производительности.
- События.
- Всплытие событий.
- Обработка событий.
- Валидация формы.
- Объект с информацией о событии.
- События мыши, клавиатуры, drag&drop.
- Делегирование событий.
- Генерация событий.
- Пользовательские события.
- Таймеры.
- Event Loop Javascript в браузере.
- Вопросы кроссбраузерности - подходы, Modernizr, полифиллы, фолбэки, изящный отказ, постепенное улучшение.
- Отладка.
- SVG - события, управление содержимым, программное создание.
- Проблемы работы с таймерами.
- Canvas.
- Работа с анимацией на JavaScript.
- Производительность анимаций.
- Отладка анимаций.
- Render tree.
- Аппаратное ускорение анимаций.
- Анимация Canvas, оптимизация производительности.
- Масштабируемость графики, адаптивность к плотности пикселей экрана.
- Субпиксельное позиционирование.
- Плавная анимация.
- Способы рендеринга - DOM, SVG, Canvas.
- Сравнение, правила выбора способа рендеринга.
- Работа с видео, звуком, виброоткликом.
- JSON, сериализация.
- "Глубокая" копия.
- Хранение данных на клиенте - cookie, localStorage.
- MVC (Model, VIEW, Controller).
- Data-binding.
- API коммуникаций.
- AJAX, асинхронное программирование.
- SPA (Single Page Application).
- Модульная организация кода.
- Регулярные выражения.
- Введение в Git. Использование Github и GitHub Pages.
- Разработка выпускного проекта.
- Защита выпускного проекта
https://www.dist.it-academy.by/course/front-end-developer/razrabotka-veb-prilozheniy-na-javascript/