Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГАК-2026.docx
Скачиваний:
1
Добавлен:
16.06.2026
Размер:
2.66 Mб
Скачать

Вопрос 29: Языки программирования, используемые для разработки web-приложений

1. Введение: многообразие языков для веба

Веб-разработка — одна из самых динамичных областей программирования. За более чем 30 лет существования Всемирной паутины появилось множество языков и технологий, каждый со своей нишей.

Важно понимать, что веб-приложение состоит из двух основных частей:

  • Фронтенд (клиентская часть) — то, что выполняется в браузере пользователя.

  • Бэкенд (серверная часть) — то, что выполняется на сервере, обрабатывает запросы, работает с базой данных.

Языки для этих частей могут сильно отличаться.

2. Классификация языков для веб-разработки

Категория

Назначение

Основные языки

Фронтенд

Выполняется в браузере, отвечает за интерфейс

JavaScript, TypeScript (также компилируются в JS языки)

Бэкенд

Выполняется на сервере, бизнес-логика, работа с БД

Python, Java, C#, PHP, Ruby, Go, Node.js (JavaScript), Rust, Kotlin

Базы данных

Хранение и обработка данных

SQL (специализированный язык), но языки программирования взаимодействуют с БД через драйверы

Шаблонизаторы

Генерация HTML на сервере

Встроены в языки или отдельные (Jinja2 для Python, Blade для PHP)

Часть 1. Фронтенд-языки

1.1. JavaScript

JavaScript — это язык, который родился для веба и до сих пор остаётся единственным языком, который понимают все браузеры "из коробки". Без JavaScript современный веб невозможен.

История: Создан в 1995 году Бренданом Айхом за 10 дней. Несмотря на название, к Java не имеет отношения.

Что позволяет делать на клиенте:

  • Динамически изменять содержимое страницы (DOM).

  • Реагировать на действия пользователя (клики, ввод).

  • Отправлять асинхронные запросы на сервер (AJAX/Fetch).

  • Создавать интерактивные интерфейсы (слайдеры, формы).

  • Реализовывать сложную клиентскую логику (игры, редакторы).

Пример:

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

1.2. TypeScript

TypeScript — это надмножество JavaScript, добавляющее статическую типизацию. Разработан Microsoft.

Особенности:

  • Код на TypeScript компилируется в обычный JavaScript.

  • Позволяет определять типы переменных, функций, объектов.

  • Улучшает читаемость и поддерживаемость больших проектов.

  • Лучшая поддержка в IDE (автодополнение, рефакторинг).

Пример:

Плюсы: Типобезопасность, удобство для крупных проектов, популярность (Angular, многие React-проекты). Минусы: Требует компиляции, чуть больше порог входа.

1.3. Языки, компилируемые в JavaScript (транспайлеры)

  • Dart — язык от Google, используется во фреймворке Flutter для веба и мобильных приложений.

  • Kotlin/JS — компиляция Kotlin в JavaScript.

  • Scala.js — Scala в JavaScript.

  • Blazor (C#) — технология от Microsoft, позволяющая запускать C# в браузере через WebAssembly (не совсем транспайлер, а другая технология).

1.4. WebAssembly (Wasm)

Не язык, а бинарный формат инструкций, который выполняется в браузере. Позволяет запускать код на C, C++, Rust, Go и других языках в браузере со скоростью, близкой к нативной.

Применение: Игры, обработка видео, сложные вычисления, где JavaScript недостаточно быстр