Skip to content

Интенсивный онлайн‑курс «JavaScript. Профессиональная разработка веб-интерфейсов» от HTML Academy

Notifications You must be signed in to change notification settings

shums89/kekstagram

Repository files navigation

Личный проект «Кекстаграм»

Сервис для загрузки и просмотра изображений


HTML Academy

Репозиторий создан для обучения на интенсивном онлайн‑курсе «JavaScript. Профессиональная разработка веб-интерфейсов» от HTML Academy.

Изучаем основы JavaScript, познакомимся с актуальными возможностями стандарта ECMAScript 2018, разбираемся, как оживлять статичные страницы, валидировать данные в формах, взаимодействовать с серверами и практикуемся решать типовые задачи.


О проекте

Кекстаграм — сервис просмотра изображений. Пользователям предоставлена возможность загружать свои фотографии или просматривать фотографии, загруженные ранее другими пользователями.

Описание функциональности

  • Загрузка нового изображения на сайт и заполнение информации о нём:
    • выбор файла с изображением для загрузки;
    • изменение масштаба изображения;
    • применение одного из заранее заготовленных эффектов: «Хром», «Сепия», «Марвин», «Фобос», «Зной»;
    • выбор глубины эффекта с помощью ползунка;
    • добавление текстового комментария;
    • добавление хэш-тегов.
  • Отправка данных на сервер
  • Просмотр загруженных изображений
  • Фильтрация изображений от других пользователей

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

1. Знакомство c JavaScript

Рассмотрим схему работы на курсе, какие инструменты понадобятся. Разберём, что представляет собой язык JavaScript, причем здесь спецификация ECMAScript и браузер. Начнём разбирать основы JavaScript.

2. Основные возможности JavaScript

Продолжим изучать основные конструкции JavaScript, особенно пристально — функции. Разберём нюансы объявления переменных. Немного затронем контекст выполнения this. Познакомимся с инструментами разработчика.

3. Структуры данных и встроенные API

Познакомимся со сложными типами данных: массивами и объектами. Научимся создавать их и управлять ими. Затронем тему структур данных, и как их использование может облегчить разработчику жизнь. Рассмотрим встроенные в JavaScript объекты. Запустим и отладим код в консоли инструментов разработчика.

4. Организация кода

Обсудим принцип DRY (не повторяйся) и как им пользоваться для того, чтобы писать меньше кода, и при этом делать больше. Узнаем, что такое модули, как делить на них код и зачем.

5. DOM и события

Попробуем создавать, удалять, перемещать и управлять DOM-элементами. С помощью шаблонов отрисуем данные, созданные ранее. Рассмотрим динамическое взаимодействие с пользователем: как сделать так, чтобы страница начала реагировать на ввод текста в формы, нажатие на определённые элементы, прокрутки и прочее.

6. Внешние API и сторонние библиотеки

Рассмотрим, как не «писать свой велосипед», а переиспользовать чужой опыт и код. Познакомимся с внешними API, которые предоставляет нам браузер, а также со сторонними JavaScript библиотеками и JavaScript API картографических сервисов.

7. Асинхронность. Работа с сетью

Разберём понятие асинхронности и способы её достижения: колбэки и setTimeout, Promise. Взглянем на протокол HTTP и инструменты, которые позволяют делать запросы из браузера. Рассмотрим, как меняется взаимодействие пользователя с сайтом при начале работы с сетью, что может пойти не так, и что с этим делать.

8. Обратная связь и оптимизация

Оптимизируем работу с данными и событиями в приложении. Реализуем понятную и приятную пользователю обратную связь интерфейса.

9. Сборщики JavaScript

Познакомимся с такими программами, как сборщики, и узнаем, как они могут облегчить жизнь фронтенд-разработчику.

10. Финал

Подведение итогов.

About

Интенсивный онлайн‑курс «JavaScript. Профессиональная разработка веб-интерфейсов» от HTML Academy

Topics

Resources

Stars

Watchers

Forks