Из каких основных компонентов состоит веб-приложение?

«Из каких основных компонентов состоит веб-приложение?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Веб-приложение — это клиент-серверное приложение, состоящее из фронтенда (интерфейс), бэкенда (логика) и базы данных (хранение).

1. Фронтенд (клиентская сторона):

  • HTML — определяет структуру и содержимое страницы.
  • CSS — отвечает за визуальное оформление и адаптивность.
  • JavaScript — обеспечивает интерактивность. Часто используются фреймворки:
    • React (библиотека компонентов).
    • Angular (полноценный фреймворк).
    • Vue.js (прогрессивный фреймворк).

2. Бэкенд (серверная сторона):

  • Серверный язык: Обрабатывает логику, аутентификацию, работу с данными.
    • Python (Django, Flask, FastAPI)
    • JavaScript/TypeScript (Node.js + Express/NestJS)
    • Java (Spring Boot)
    • Go, Ruby, PHP
  • API: Бэкенд предоставляет данные фронтенду через API, чаще всего REST или GraphQL.

3. База данных:

  • Реляционные (SQL): PostgreSQL, MySQL — для структурированных данных со связями.
  • Нереляционные (NoSQL): MongoDB, Redis — для документоориентированных данных или кеша.

Пример минимального бэкенда на Node.js/Express:

const express = require('express');
const app = express();

// Роут API
app.get('/api/users', (req, res) => {
  // Здесь обычно запрос к базе данных
  res.json([{ id: 1, name: 'John' }]);
});

app.listen(3000, () => console.log('Server started on port 3000'));

Дополнительно: используются веб-серверы (Nginx), облачные платформы (AWS, Azure) и системы контроля версий (Git).