Frontend-разработка: Быстрый старт за 15 минут

Frontend-разработка — один из самых простых способов войти в IT-сферу. Рассмотрим, что делает frontend-разработчик и какие знания ему необходимы.

Что такое Frontend?

Любое приложение или сайт логически делится на две части: Frontend и Backend. Frontend — это видимая пользователю часть сайта или веб-приложения. Это то, с чем он взаимодействует: кнопки, визуальные элементы и прочее. Когда пользователь нажимает кнопку, запрос отправляется на сервер (Backend). Сервер обрабатывает запрос, выполняет необходимую логику (например, обращается к базе данных, использует API) и возвращает результат пользователю. Таким образом, Frontend — это клиентская часть, а Backend — серверная. Клиент запрашивает и отображает данные, а сервер непосредственно с ними работает. Веб-браузер часто является клиентской частью, и frontend-разработчик пишет код для работы в браузере и взаимодействия с Backend. Например, всё, что вы видите на YouTube — результат работы frontend-разработчиков: плеер, картинки, заголовки, кнопки и т.д.

Основы Frontend-разработки: HTML, CSS и JavaScript

Frontend-разработка базируется на трёх основных технологиях: HTML, CSS и JavaScript.

HTML (HyperText Markup Language)

HTML — язык гипертекстовой разметки. Он используется для разметки веб-страницы, разделения её на логические блоки (заголовки, блоки с контентом, футер и т.д.). HTML-теги, заключённые в угловые скобки, указывают браузеру, как отображать элементы.

Например, тег <p> обозначает параграф:

<p>Это текст параграфа.</p>

Теги могут быть вложенными:

<p>Это текст с <a href=»#»>ссылкой</a>.</p>

Внутри тегов могут быть атрибуты, предоставляющие дополнительную информацию. Например, атрибут href в теге <a> указывает на ссылку, а src в теге <img> — на путь к изображению. Некоторые элементы HTML не требуют закрывающего тега.

Структура HTML-документа иерархична:

  • <html> — корневой элемент, содержащий всё остальное.
  • <head> — содержит метаданные (невидимые на странице, но важные для браузера, например, заголовок страницы).
  • <body> — содержит видимый контент.
  • <div> — контейнер для группировки элементов.

Пример простой HTML-страницы:

<!DOCTYPE html>
<html>
<head>
  <title>Моя страница</title>
</head>
<body>
  <h1>Заголовок</h1>
  <p>Параграф текста.</p>
</body>
</html>

Этот код сохраняется в формате .html и открывается в браузере.

CSS (Cascading Style Sheets)

CSS — каскадные таблицы стилей — язык для оформления HTML-элементов. Он определяет внешний вид элементов: цвета, шрифты, размеры, расположение и т.д.

Существует три способа подключения стилей:

  1. Внутристрочный: стиль указывается непосредственно внутри тега HTML с помощью атрибута style. Неудобно для больших проектов.
  2. Внутри <head>: стиль прописывается внутри тега <style> в секции <head>.
  3. Внешний файл: стиль выносится в отдельный файл (например, style.css), который подключается к HTML с помощью тега <link>. Это наиболее распространённый и удобный способ.

В CSS используются селекторы для выбора элементов и свойства для их стилизации. Например:

p {
  font-size: 40px;
  color: blue;
}

Классы позволяют применять стили к нескольким элементам:

<p class="special">Первый параграф</p>
<p class="special">Второй параграф</p>
<p>Третий параграф</p>
.special {
  color: red;
}

ID используется для уникальных элементов:

<p id="unique">Уникальный параграф</p>
#unique {
  color: green;
}

CSS обладает каскадностью, псевдоселекторами и возможностью адаптации под разные размеры экрана (медиа-запросы).

JavaScript

JavaScript добавляет интерактивность веб-страницам. Он позволяет реагировать на действия пользователя (клики, нажатия клавиш и т.д.), изменять содержимое страницы и отправлять запросы на сервер. JavaScript не имеет отношения к Java, несмотря на схожее название.

JavaScript выполняется в браузере. Его можно добавить в HTML двумя способами:

  1. Внутри тега <script>.
  2. В отдельном файле, подключённом через тег <script src=»script.js»></script>.

Пример обработки события клика на кнопке:

<button id="myButton">Нажми меня</button>
<script>
  let button = document.getElementById("myButton");
  button.addEventListener("click", function() {
    alert("Кнопка нажата!");
  });
</script>

JavaScript интерпретируется браузером на лету, но для оптимизации используется Just-In-Time компиляция (JIT). JavaScript поддерживает асинхронное программирование и динамическую типизацию. Он также является объектно-ориентированным языком.

Расширение возможностей JavaScript

Node.js позволяет использовать JavaScript на сервере. Он использует движок V8 (как и Chrome), что позволяет запускать JavaScript-код на сервере и добавлять бэкенд-логику к frontend-приложениям.

JavaScript также используется для разработки десктопных (Electron) и мобильных (React Native, Flutter) приложений.

JavaScript-фреймворки и TypeScript

Существует множество JavaScript-фреймворков, упрощающих и ускоряющих разработку. Самый популярный — React (библиотека, а не фреймворк), используемый для создания одностраничных приложений (SPA) и прогрессивных веб-приложений (PWA). React основан на компонентах и декларативном программировании. Другие популярные фреймворки: Angular, Vue.js и Svelte.

TypeScript — расширение JavaScript с дополнительными возможностями, такими как статическая типизация, что повышает надёжность кода.

Frontend-разработка — это динамичная и постоянно развивающаяся область, требующая постоянного обучения и освоения новых инструментов и технологий. Знание HTML, CSS и JavaScript — основа для успешной работы frontend-разработчиком.

Что будем искать? Например,программа