Спидран по веб-разработке: от HTML до фреймворков

Веб-разработка — значительная часть программирования. Рассмотрим основы создания сайтов. Современный веб — это не только сайты, но и сервисы, веб-приложения и многое другое, доступное через браузер: чаты, соцсети, стриминговые платформы, офисные приложения и даже программы для видеомонтажа. Всё это доступно по URL-адресам, скрывающим цифровые IP-адреса. Использование буквенных доменов удобнее для людей, чем запоминание чисел. На серверах хранится таблица соответствия цифровых адресов и буквенных доменов.

Хостинг и облачные сервисы

Для доступности сайта необходим хостинг — постоянная работа сайта на компьютере. Современные цифровые бизнесы используют облачные хостинги (Azure, Google Cloud, AWS), позволяющие масштабировать ресурсы в зависимости от нагрузки, оптимизируя расходы. Облачные решения безопаснее, чем самостоятельная аренда виртуального приватного сервера (ВПС). Многие облачные сервисы предлагают пробные периоды.

HTML: создание простого сайта

Написание кода лучше осуществлять в IDE (интегрированная среда разработки), например, WebStorm (платная). Создадим новый проект и индексный HTML-файл — главную точку входа. IDE обычно создаёт заготовку:

  • <!DOCTYPE html> — декларация языка разметки HTML5.
  • <head> — метаинформация: кодировка страницы (<meta charset="utf-8">), заголовок вкладки (<title>). Сюда подключаются стили, шрифты и JavaScript (в <head> — для приоритетной загрузки, в <body> — после отрисовки документа).
  • <body> — контент страницы.

HTML декларативно описывает структуру страницы. Весь видимый контент связан с главным HTML-файлом.

Добавление элементов

Добавим картинку: <img src="ссылка на картинку" alt="Описание картинки">. Атрибут src указывает путь к картинке, alt — её текстовое описание (для случаев, когда картинка не отображается).

CSS: стилизация

Стилизация осуществляется с помощью CSS (Cascading Style Sheets). CSS-файл подключается в <head>. div — универсальный контейнер. Классы в HTML — идентификаторы элементов (не уникальные, для уникальности используется id). Семантическая вёрстка важна для доступности сайта (скринридеры) и SEO.

Flexbox

В CSS задаются позиционные стили для body и html для ограничения ширины и центрирования контейнера. Для карточек используется Flexbox: задаётся ширина 100% для главного контейнера, а flex используется для позиционирования элементов и отступов.

JavaScript: динамический контент и API

Статический контент (HTML, CSS) ограничен: для изменений требуется редактирование кода. Для динамического контента нужен backend (сервер) и база данных. Разработка с backend дороже. WordPress — популярный конструктор сайтов без написания кода (но для сложных приложений backend необходим).

Взаимодействие с API

Для получения данных из сети используется JavaScript и API (Application Programming Interface). JavaScript отправляет запросы к API (часто через fetch), получает ответ (часто в формате JSON), обрабатывает данные и отображает их.

Фреймворки и библиотеки

Вместо чистого JavaScript обычно используются фреймворки и библиотеки (React, Vue, Angular, Svelte), упрощающие разработку. TypeScript — язык, компилируемый в JavaScript, добавляющий статическую типизацию.

Backend, Frontend и другие аспекты

Разработка может быть монолитной или разделенной (frontend и backend). Взаимодействие происходит через API. Кэширование данных (браузерный кэш, cookies, Local Storage) важно для производительности.

Инструменты

  • Сборщики: Webpack, Vite (для сжатия кода).
  • UI библиотеки: Material UI, Chakra UI.
  • Linters и formatters: ESLint, Prettier.

Рассмотрены основные аспекты веб-разработки: HTML, CSS, JavaScript, API, фреймворки, backend и frontend. Понимание базовых принципов поможет начать работу.

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