Фронтенд-разработчик

Яндекс Практикум
4,7
Освоите фронтенд-разработку — с нуля за 10 месяцев. Будет много практики на реальных проектах, чтобы вы могли сразу стартовать в IT.
4,71
На основании отзывов пользователей
на Отзовике, IRecommend и TutorTop
14 000 /мес
или сразу 120 000
Смотреть курс
Программа обучения

Полная программа курса

Составили программу по образовательной модели 4C/ID: будете учить только то, что нужно для решения настоящих задач

HTML, CSS, JavaScript: бесплатный модуль

Почувствуете себя в роли frontend-разработчика и поймёте, хотите ли развиваться в программировании. Изучите базовый синтаксис HTML и CSS. Попробуете размещать блоки на веб‑странице, менять шрифт и цвета. А после бесплатной части выберете подходящий формат обучения: базовый или расширенный.

Первый код
HTML
CSS
CSS-свойства
JavaScript
Базовый и расширенный курс
Первый код

Задачи frontend-разработчиков, базовые элементы, HTML, CSS

Что такое HTML и CSS

Теги HTML, заголовки, абзац, ссылка, атрибуты, один тег в другом, изображения, структура HTML‑документа, правила CSS, тег style, CSS‑файл, блоки, отступы, подпись к обложке, playground

Базовые CSS-свойства

Сборка лендинга, размеры в пикселях, размеры в процентах и долях, цвета в HTML, фон элемента, позиция, размер, повтор фона, прозрачность, коробка в коробке, наследование, типографика, больше вёрстки

Больше CSS

Пик вёрстки, новая секция, классы, типографика, поток и блочная модель, внешние и внутренние отступы, короткая запись свойств, границы, внешний и внутренний фокус элемента, блочные + строчные, расположение элементов по центру — margin: auto, тени, подвал сайта, центрирование по вертикали

JavaScript

Числа, строки, арифметика строк, переменные, подключение JavaScript к HTML, массивы, случайные числа, функции с аргументами, возвращаемое значение, выбор и изменение элементов страницы, Булевы величины, объекты, подключение внешних библиотек, циклы, релиз

Напишете с нуля простую программу на JavaScript и сделаете страницу интерактивной

HTML и CSS: лейаут, доступность и интерактив
Вёрстка
Bash и Git
Шрифты и типографика
Семантика
Atomic
Grid Layout
Кодстайл
Псевдоклассы и псевдоэлементы
БЭМ
Bash и Git. Основы

Установка и настройка Git, SSH-ключ, настройка аккаунта GitHub, основы командной строки Bash, основные команды для организации командной работы с Git в локальных и удалённых репозиториях

Шрифты и типографика

Подключение шрифтов к странице, настройки шрифтов, подключение внешних шрифтов, оформление текста, переполнение текстовых блоков

Семантика и глобальные атрибуты

Семантика HTML5, структура документа, оптимизация вёрстки, использование идентификаторов

Флексбокс-вёрстка

Флекс-контейнер, направление внутри флекс-контейнера, выравнивание по основной и дополнительной осям, перенос флекс-элементов, gap, свойства флекс-элементов, flex-basis, flex-grow и flex-shrink

Позиционирование элементов, стилизация форм

Статическое, относительное и абсолютное позиционирование, z‑index, фиксированное и «липкое» позиционирование, outline, стилизация полей ввода, кнопок и ярлыков, псевдоклассы валидации, выпадающие списки, кастомные элементы ввода

Grid Layout

Гриды, терминология гридов, столбцы и строки внутри грид‑контейнера, отступы, функция repeat(), фракция, расположение элементов, грид‑области, выравнивание сетки и содержимого грид‑областей, наложение элементов

Настройка страницы, мета, встраиваемый контент

Настройки страницы, описание сайта для браузеров и поисковых машин, фавикон, разметка OpenGraph, страница в странице, API YouTube, виджеты-информеры, тег

Псевдоклассы, псевдоэлементы, доступность

LVHA, фокусы, ::marker, ::selection, скринридеры, базовые правила a11y при вёрстке, дерево доступности, декоративные и контентные изображения, поля форм, ARIA, настройки уменьшения движения и повышения контрастности

Создадите одностраничный сайт и напишете CSS для работающего приложения

Одностраничный сайт «Оно тебе надо»

Написание CSS стилей для приложения «Посмотри в окно»

Дизайн, адаптивная вёрстка и декорирование
Кастомные переменные
Адаптивность
Препроцессоры и постпроцессоры
Анимации и декорирование
3D-трансформации
Модальные окна
Основы дизайна
Разработка интерфейса для разных устройств

Дизайн в мире множества устройств, разница между резиновой и адаптивной вёрсткой, адаптивный макет, синтаксис медиазапросов, характеристики устройств, пользовательские предпочтения, синтаксис диапазонов, выражения от контейнера

Растровая графика, единицы измерения и функции

Форматы, оптимизация изображений, плотность пикселей, адаптивный выбор изображений из набора, image-set(), loading="lazy", относительные размеры блоков и текстовых элементов, функции calc(), min(), max(), clamp()

SVG

Экспорт SVG, использование SVG: инлайн, , фон, use, fill, stroke, анимация и оптимизация SVG, SVG‑маски

2D-трансформации + транзишены

Transition, матрица трансформаций, transform, transform-origin, translate, rotate, skew, scale, применение нескольких трансформаций

Анимации

Animation (name, duration, iteration‑count, direction, timing‑function, delay, play‑state, fill‑mode), @keyframes, оптимальное использование анимации, will‑change

Декорирование

Бордер-имидж, фильтры, тени, линейный, радиальный и конический градиенты, репит-градиент, множественные градиенты, бленд-мод

3D-трансформации

Матрица 3D-преобразований, transform-style, perspective и perspective-origin, backface-visibility

Сделаете адаптивный сайт с разными цветовыми темами, а затем самостоятельно соберёте веб‑приложение

Адаптивный сайт «Сложно сосредоточиться»

Базовый JavaScript
Введение в JavaScript
Примитивные типы данных
Объектная модель документа (DOM)
Условия и циклы
Функции, массивы и объекты
Примитивы

Примитивные типы данных, операторы typeof, undefined и null, строки, числа и специальные числовые значения

Знакомство с DOM

DOM: выбор элементов, атрибуты и их методы, манипуляции с классами CSS, свойства textContent, события, методы insertAdjacentHTML и insertAdjacentText

Дебаггинг JavaScript

Чтение ошибок, их типы, логические ошибки и console.log, поиск документации, отладка через debugger, conditional breakpoints

Методы работы с данными, условия, циклы

Let и const против var, методы поиска в строке, преобразования строк и работы с числами, явное и неявное преобразование типов, логические операторы, НЕ (!), ИЛИ (||), И (&&), XOR (^), switch-case, тернарный оператор, циклы, директивы break и continue

Создание, добавление и удаление элементов в DOM

InnerHTML, createElement и createTextNode, добавление элементов на страницу, удаление и перемещение, клонирование, template‑элементы, объект event, родственные связи в DOM

Массивы

Объединение и преобразование в строку, управление элементами на любых позициях, коллекции в DOM, методы forEach и map, функции обратного вызова и их аргументы, методы filter, some, every, find, reduce, сортировка массива

Функции

Область видимости функции, rest и spread, деструктурирование аргументов

Объекты

Создание объектов и запись свойств, прототипное наследование, дескрипторы свойств, деструктурирование массивов и объектов

Создадите интерактивную страницу с фотографиями. Сначала всё сверстаете, потом напишете логику на JavaScript

Веб-сервис «Mesto»

Продвинутый JavaScript
Webpack
Модули в JavaScript
Асинхронность
Работа с браузерными событиями
Формы и их валидация
Работа с API
Сборка проекта. Webpack

Библиотека пакетов NPM, подключение репозитория NPM‑пакетов, установка и настройка Webpack, настройка сборки, транспиляция JS: установка Babel, настройка обработки HTML и CSS, минификация CSS и добавление префиксов, использование PostCSS для минификации CSS и добавления префиксов

Модули в JS

IIFE, инкапсуляция и модули, директивы export, import, ES6, особенности работы модулей в браузере, локальный сервер

Продвинутый JavaScript. Асинхронность

Асинхронные операции, колбэки, асинхронные колбэки, таймеры, event loop, promise

Обработка событий

События клавиатуры, объекты event: клавиатура и мышь, снятие слушателя, отмена стандартного поведения браузера, всплытие и делегирование событий

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

Веб-сервис «Mesto» (продолжение)

TypeScript и ООП
Объектно ориентированное программирование
Принципы разработки ПО
Работа с окружением
TypeScript
Введение в TypeScript

Динамическая и статическая типизация, документация JSDoc, проверка типов во время исполнения, настройка и инструментарий TS, массивы и объекты, специальные типы, создание собственных типов

Объектно ориентированное программирование

Источники контекста, this, способы привязки, синтаксис классов в JS, добавление и типизация полей и методов классов, интерфейсы классов, принципы в ООП, инкапсуляция, наследование, полиморфизм

Основы TypeScript

Приведение типов, типизация DOM‑элементов и их событий, типизация стандартных объектов JS, файлы деклараций .d.ts, создание и использование библиотек

Продвинутый TypeScript и ООП

Статические поля и методы, имплементация интерфейсов, дженерики, условные типы

Принципы разработки ПО

Композиция классов, паттерны singleton, adapter/facade/proxy, observer, builder

Работа с окружением

IntersectionObserver, ResizeObserver, FileReader, локальные хранилища

ООП в интерфейсах

Дропдаун, табы, аккордеон, слайдер, галерея, уведомления, календарь, игра морской бой

Спроектируете ООП‑архитектуру интернет‑магазина с каталогом товаров и корзиной, задокументируете в UML. Реализуете с помощью TS с подключением к серверу

Одностраничное приложение интернет-магазина «Web-ларёк»

Основы разработки с помощью React
Концепция SPA
CRA: настройка и сборка проекта
Синтаксис JSX
UseState
UseEffect
React DevTools
CRA

Подготовка окружения, сборка проектов Vite или Webpack, установка ESLint c набором правил Airbnb, Prettier, использование SCSS, Stylelint, Husky

Синтаксис JSX

React и JSX, синтаксис JSX: основы, списки и события, функциональные компоненты

Компоненты и их жизненный цикл

Классовые компоненты, жизненный цикл классовых компонентов, virtual DOM

Состояния и эффекты

Хуки, рефы, useState, useEffect, useLayoutEffect, useRef, кастомные хуки

React DevTools

Установка и использование расширения React DevTools, сборка проекта

Импорт модулей, CSS‑модули

Импорт модулей и изображений, работа с CSS, шрифты, CSS-модули, использование clsx

Библиотеки компонентов

Storybook, реализация компонента в изоляции, разработка через тестирование, сборка проекта как библиотеки для переиспользования

Реализуете страницу блога с настраиваемым через CSS-переменные дизайном

Страница блога

Роутинг и авторизация
Библиотека Redux
React Router
Роутинг в приложениях

Маршрутизация на стороне сервера и клиента, клиентский роутинг и History API, установка и подключение React Router, создание маршрутов, навигация и ссылки, динамические маршруты, фильтрация и сортировка значений

Авторизация и роутинг в веб‑приложениях

Идентификация, аутентификация и авторизация, токены, авторизация доступа с помощью сессий, сохранение данных о пользователе, cookie в веб‑приложениях, защита маршрутов на фронтенде, выход из системы

Взаимодействие в режиме реального времени: WebSockets

Открытие и закрытие соединения, события WebSocket, получение и отправка данных, отладка и тестирование WebSocket в консоли разработчика

Глобальное состояние для Redux

Redux Toolkit, RTK Query, redux-thunk, redux-saga, кастомные middleware и enhancer, интеграция с API, Redux DevTools

Реализуете глобальное состояние, роутинг и авторизацию в космической бургерной

Приложение «Stellar Burger»

Тестирование React-приложений

Научитесь выстраивать удобную для тестирования структуру компонентов, оптимизировать приложения, проводить юнит- и интеграционное тестирование, подготавливать и публиковать в продакшен, деплоить на собственный сервер.

Проектный модуль

Работа в команде с менеджерами проектов, тимлидами, системными аналитиками, дизайнерами и разработчиками над крупным проектом. Опыт, ничем не отличающийся от реального. Agile‑методология с применением всего, что изучали ранее, — и даже больше. Под присмотром опытных наставников и тимлидов студенты работают над CRM- и ERP‑системами, реализуют чаты и микросервисные архитектуры, строят сложные приложения из отдельных микрофронтендов, применяют Docker и CI для деплоя приложения на серверы.

Софтскилы для frontend-разработчиков

Узнаете, как организовать учебный процесс, адаптироваться в новой среде и взаимодействовать в команде. Теория и практические задания помогут сделать онлайн-обучение и будущую работу легче и осознаннее.

Карьерный трек: подготовка к трудоустройству

Составите резюме, которое привлечёт внимание рекрутеров, и напишете сопроводительное письмо для откликов на вакансии. Узнаете, как правильно оформлять портфолио, и построите стратегию поиска работы. Обратите внимание: если курс оплачивает ваш работодатель, у вас не будет карьерного трека.

Карьерный трек: акселерация

Акселерация — активный поиск работы с поддержкой HR‑экспертов. Будете откликаться на вакансии, делать тестовые и ходить на собеседования, а мы вас дистанционно поддержим. Например, расскажем, какие ошибки бывают в общении с работодателем и как их избежать. Акселерация может продолжаться до 6 месяцев — обычно этого достаточно, чтобы получить первую работу в IT.

Нейросети для разработчиков

Научитесь с помощью YandexGPT:

Генерировать код для создания функций, классов, обработки данных.
Искать ошибки в коде.
Искать информацию о синтаксисе, функциях, библиотеках и других аспектах языка.
Вести документацию.
YandexGPT
Расширенный курс «Фронтенд-разработчик»

Этот формат обучения стоит дороже, но включает в себя больше тем и проектов — чтобы усилить портфолио и повысить шансы на быстрое трудоустройство.

Дополнительные темы
Кейсы для портфолио
Командная работа
Ещё 1 модуль

Основы визуальной коммуникации

Ещё 4 проекта

Чтобы усилить портфолио

Проекты от настоящих заказчиков после обучения

Чтобы поработать в команде и получить реальный кейс в портфолио

Больше навыков, которые помогут найти работу и быстрее вырасти до middle