Движо́к (жаргонизм от англ. engine — мотор, двигатель) — выделенная часть программного кода для реализации конкретной прикладной задачи — программа, часть программы, комплекс программ или библиотека, в зависимости от задачи и реализации. Как правило, прикладная часть выделяется из программы для использования в нескольких проектах и/или раздельной разработки/тестирования.

Типы движков

Примеры движков:

  • Движок для интернет-магазина Опенкарт;
  • Поисковый движок (search engine) — основа поисковых систем. Разные поисковые системы могут работать на одном движке. Например, поисковая система Mail.ru некоторое время назад использовала поисковый движок Яндекса;
  • Движок сайта — система управления содержимым сайта;
  • Вики-движок — программа, служащая для преобразования вики-разметки в удобочитаемое представление, чаще всего в формат HTML.
  • Браузерный движок — программа для преобразования HTML-разметки сайта в удобочитаемое пользователю представление в браузере (к примеру, текст «<i>курсив</i>» будет преобразован браузерным движком в «курсив»). Наиболее известные браузерные движки: Gecko, Trident (MS), Presto (Opera), KHTML, WebKit.
  • Форумный движок — программа (комплекс программ и скриптов, обычно на PHP, хотя возможны реализации и на многих других языках) для обеспечения деятельности веб-форумов, обеспечивающих тот или иной набор функционала для участников данных интернет-сервисов.
  • Графический движок — система отображения прикладного окружения (например, оконный интерфейс или движок отображения (рендеринга) объёмной сцены)
  • Голосовой движок (text-to-speech engine) — программа, на вход которой подаётся текст, а на выходе она синтезирует речь. Наиболее известны голосовые движкиLernout & Hauspie, Digalo, IBM ViaVoice TTS, eSpeak, Festival.
  • Физический движок — система, отвечающая за симуляцию физики реального тела.
  • Игровой движок — комплекс поддержки игровой ситуации, включающий объектную поддержку игровой ситуации, процедуры игровой стратегии компьютерных персонажей, её визуальное и звуковое сопровождение и т. п. Игровой движок может использоваться для реализации отдельных задач специализированные движки.
  • Движок базы данных — ядро СУБД. Обычно используется англоязычные термины database engine или storage engine.