
Июль в блоге SSP SOFT — месяц обзоров на книги по языкам семейства С. Сегодня рецензия на очень объемную книгу по С++. Качественных книг по Qt на русском языке немного, и тем заметнее новое издание Макса Шлее «Qt 6.9. Профессиональное программирование на C++». В книге тысяча страниц, десять частей, от сигналов и слотов до Qt Quick, мобильной разработки под iOS и отдельной новой части про работу с ИИ-ассистентами. Для студентов и начинающих разработчиков (джунов), выбирающих между C++ и C#, или уже пишущих на C++, эта книга — редкий по охвату вход сразу в Qt и в саму индустрию кросс-платформенной разработки.
Начнем рецензию со ссылки на страницу книги «Qt 6.9. Профессиональное программирование на C++» на сайте издательства БХВ. Напомним, что на все бумажные книги по компьютерным технологиям от издательств «БХВ Петербург», «Alist» и «Фолиант» доступен промокод SSPSOFT на скидку 25% как подарок читателям Хабра от нашего блога.
Пара абзацев про Qt как вступление к рецензии
Язык C++, которому уже более 40 лет, сам по себе не содержит готового способа рисовать окна, кнопки или работать с сетью — стандартная библиотека языка решает более общие задачи: контейнеры, алгоритмы, потоки ввода-вывода. Все, что связано с графическим интерфейсом, кросс-платформенностью и доступом к возможностям конкретной операционной системы, разработчику приходится брать либо из API самой ОС, либо реализовывать с помощью стороннего набора инструментов, библиотек и правил для разработки приложений (фреймворка).
Qt — один из таких фреймворков, и, пожалуй, самый зрелый: это набор библиотек и инструментов на C++, который добавляет языку функции, которых не хватает из коробки — виджеты, систему сигналов и слотов для связи объектов, собственные контейнеры, работу с файлами, сетью и базами данных, причем один и тот же код собирается под Windows, macOS и Linux почти без изменений. По сути, Qt — это надстройка над C++. Весь синтаксис, типы данных и компиляция остаются обычным C++, но с дополнительным препроцессором (MOC), который превращает разметку сигналов и слотов в нормальный код на этапе сборки.
Для кого эта книга
Книга Макса Шлее выходит уже не первым изданием, и предыдущая версия писалась еще под Qt5 — с тех пор прошло около семи лет. Аудитория у книги широкая, но имеет и свои рамки. Автор не учит программировать с нуля. Предполагается, что читатель уже знает синтаксис C++, представляет, что такое классы и наследование, и хочет получить системный вход именно во фреймворк Qt.
Лучше всего книга «работает» для трех категорий читателей:
Студенты и джуны с базовым C++, которые хотят перейти от консольных учебных программ к разработке настольных приложений с графическим интерфейсом — здесь книга проводит читателя от первого "Hello, Qt!" до моделей данных, многопоточности и сети.
Разработчики на C# или Java, которые рассматривают C++/Qt как смежный стек для освоения — особенно если их интересует кросс-платформенный десктоп, встраиваемые системы или автомобильная электроника, где Qt — фактический стандарт.
Действующие Qt5-разработчики, которым нужна миграция на Qt6.х — для них в книге отдельная глава 48 с разбором отличий и рекомендациями по переносу кода, и автор прямо советует начинать чтение с нее.
Опытным архитекторам и разработчикам, которые уже годами работают с Qt, книга вряд ли откроет что-то принципиально новое в основных главах .Она по сути системный справочник, а не сборник трюков для особо продвинутых разработчиков. Но приобрести ее как настольную книгу для всей команды, где половина — джуны, будет полезно.
Семейство языков: C++ и его отличия от C#
Раз книга может попасть в руки и тем, кто пишет на C# и присматривается к Qt, стоит сразу обозначить разницу в самом языке — она существенная и влияет на то, что ждать от книги.
Компиляция и память. C++ компилируется в машинный код напрямую и не имеет среды выполнения, сборщика мусора по умолчанию нет — управление памятью либо ручное, либо через RAII и умные указатели. Qt добавляет свою модель владения через иерархию родитель-потомок (QObject), которая частично решает эту задачу для виджетов, но не заменяет общее понимание памяти в C++.
Скорость и контроль. За счет отсутствия управляемой среды и JIT-компиляции C++ обычно дает более предсказуемую производительность и более прямой контроль над использованием памяти, что и объясняет выбор Qt для встраиваемых систем, автомобильной электроники и других промышленных сценариев..
Порог входа. C# и его экосистема .NET дает комфорт разработчику, среда разработки берет на себя многое из того, что в C++ нужно делать руками. Здесь можно назвать сборку мусора, безопасность типов на уровне рантайма, рефлексию. Поэтому переход с C# на связку C++/Qt для джуна — это смена модели мышления о ресурсах программы.
Сферы, где C++ остается стандартом де-факто, в книге видны прямо по списку компаний-пользователей Qt: автомобильные информационно-развлекательные системы (Tesla, BMW, Mercedes), встраиваемая электроника, операционные системы и десктопные среды (KDE), системы автоматизированного проектирования (FreeCAD), а также игровые движки, высокочастотный трейдинг и научные вычисления.
Везде, где нужен прямой контроль над ресурсами и предсказуемая задержка, востребован C++. А вот C# в этих нишах почти не встречается, зато доминирует в корпоративной веб-разработке, серверных сервисах на .NET и десктопе для Windows — это разные экосистемы с разной сферой применения, и выбор между ними определяется самой задачей.
Гибридный формат книги: что не попало в бумажную версию
Отдельный момент — чтобы не раздувать объем бумажной книги выше 1 тыс. страниц, издательство вынесло часть глав в файловый архив на сайте — это главы 30, 42, 43, 45, 47, 49–52, 55–57, 65 и 66. Среди них — интернационализация приложений, совместная работа Qt с платформозависимым API, модульное тестирование, среда Qt Creator, базовый курс JavaScript и QML-анимация, а также, что особенно важно, главы 65 и 66 — пример разработки мобильного приложения и его публикация в App Store, то есть самая практическая часть всего раздела про мобильную разработку.
Сам подход понятен — с очень толстой книгой работать неудобно. Но читателю, который специально берет книгу из-за раздела про iOS, полезно заранее понимать, что финальную, самую прикладную часть этого раздела можно просто скачать отдельно с сайта издательства в виде ZIP-архива.
Qt 6.9 в 2026 году: насколько актуальна версия
Книга описана как справочник, актуализированный под версию Qt 6.9. На момент написания этой рецензии (середина 2026 года) последний релиз — Qt 6.11, вышедший в марте 2026 года, то есть книга отстает от текущей версии на два минорных релиза. Дополнительный нюанс: статус долгосрочной поддержки (LTS) у Qt 6 имеет версия 6.8, а не 6.9 — LTS-релизы выходят раз в два года, и следующий ожидается с веткой 6.12 или позже.
На практике это не критично. Внутри одной LTS-версии Qt держит обратную совместимость на уровне исходного кода: программа, написанная под Qt 6.0, как правило, собирается и под Qt 6.11 — пусть иногда с предупреждениями об устаревших API. Различия между 6.9 и текущими релизами касаются в основном новых модулей (Qt Graphs, Qt HttpServer, Qt GRPC вышли из статуса technology preview), аппаратного ускорения 2D-рендеринга и доработок Qt Quick 3D — то есть периферийных возможностей, а не изменения базовой архитектуры, которой посвящена большая часть книги.
Итак, фундамент книги — сигналы и слоты, виджеты, модели данных, многопоточность, сеть — не устарел от смены минорной версии и будет актуален еще несколько лет. А вот если вашей основной задачей будет работа с самыми новыми модулями Qt Graphs или Qt GRPC, стоит дополнительно смотреть документацию на портале qt.io — книга по понятным причинам не может закрыть то, что появилось после выхода Qt 6.9.
Обзор глав книги
Книга построена как последовательный курс из десяти частей и 70 глав (часть глав вынесена в цифровой архив — об этом сказали выше).
Часть I (главы 1–4) — это вход в объектную модель Qt: модули библиотеки, механизм сигналов и слотов, который заменяет привычные в C++ callback-и, работа с CMake и qmake, и библиотека контейнеров QList, QMap, QHash. Если вы пришли из C# и привыкли к делегатам и событиям — сигналы и слоты концептуально близки, и эта часть читается быстро.
Части II–III (главы 5–16) посвящены виджетам и событиям: от кнопок и списков до паттерна модель-представление (глава 12), который в Qt устроен заметно строже, чем привычный MVVM в .NET, и требует отдельного внимания. Здесь же — фильтры событий, то есть весь набор того, из чего на практике складывается рабочий интерфейс.
Части IV–VI (главы 17–48) — самые объемные: графика и QPainter, OpenGL, печать, собственные виджеты, стили и CSS, сохранение настроек, drag & drop, меню и диалоги, многопоточность с мьютексами и семафорами, сеть, базы данных, динамические библиотеки, Qt Designer и тестирование. По сути, энциклопедия desktop-разработки на Qt.
Часть VII (главы 49–52) и Часть VIII (главы 53–61) переключаются на QML и Qt Quick — декларативный подход к интерфейсам, более близкий веб-разработчикам и тем, кто знаком с React или SwiftUI, чем классический Qt Widgets.
Часть IX (главы 62–66) — мобильная разработка, и здесь стоит сразу обозначить ограничение: в этом издании остался только iOS (глава 65). Раздел про Android из книги убран — автор объясняет это объемом материала и нехваткой времени на полноценное обновление.
Для тех читателей, кому нужна именно мультиплатформенная мобильная разработка на Qt, удаление главы с примером-практикой про Android — это некоторая потеря информации, и об этом стоит знать перед покупкой книги.
Книга как помощник для собеседований по C++
В SSP SOFT мы не первый год собеседуем разработчиков С++. Если бы стажер перед техническим собеседованием спросил, стоит ли для подготовки читать эту книгу целиком от первой до последней главы, ответ — скорее всего, стоит, но не все подряд. Структура книги линейная, но реальная Qt-разработка такой не бывает. Вам не нужно знать OpenGL и трехмерную графику для написания формы регистрации. Имеет смысл пройти части I–III как фундамент, а дальше выбирать главы по конкретной специализации вас как разработчика.
Отдельно обратим внимание на главу 12 про модель-представление — это именно то место, где новички в Qt чаще всего застревают, пытаясь напрямую работать со списками и таблицами без понимания индексов модели и ролей данных. Главу стоит читать вдумчиво, лучше с открытым редактором кода на экране.
Часть X про ИИ — самая необычная по тону во всей книге. Если основной текст написан сухо и по делу, то главы 67–70 написаны скорее как мотивационная статья: разбор архетипов разработчиков, рассуждения о рынке труда, прогнозы McKinsey и Goldman Sachs о сокращении рабочих мест.
Сама тема ИИ очень актуальна — промпт-инжиниринг действительно стал рабочим навыком, и советы по работе с локальными и облачными моделями в главе 68 пригодятся. Но эта часть слабо привязана к Qt. Тоже самое можно было написать про любой язык и любой фреймворк. Воспринимать главу стоит как бонус-чтение, а не как техническую главу уровня остальной книги.
Можно посоветовать джуну, открывшему эту книгу впервые, не пытаться запомнить все классы контейнеров и виджетов с первого прохода. Используйте книгу как карту на местности — чтобы знать, что в Qt вообще есть, а в детали смотрите документацию Qt прямо во время работы над задачей. Ценность этой книги не в том, чтобы заменить документацию, а в том, чтобы дать понимание архитектуры, которое документация сама по себе не дает.
Заключение
«Qt 6.9. Профессиональное программирование на C++» — полноценный по охвату справочник, в котором есть все, от основ сигналов и слотов до Qt Quick, многопоточности, сети, баз данных и мобильной разработки под iOS. Сильная сторона книги — последовательность и детальность изложения по каждому виджету и механизму, с большим количеством прокомментированных примеров кода. Новая часть про ИИ-инструменты в разработке, при всей своей хайповости, фиксирует реальный сдвиг в профессии и будет полезна тем, кто еще не выстроил привычку работать с промптами и ИИ-ассистентами.
Из минусов — часть практических глав, включая пример мобильного приложения и публикацию в App Store, вынесена в цифровой архив на сайте издательства, а раздел про Android из книги убрали полностью. Хотя версия Qt 6.9 на момент чтения этой рецензии не самая новая, но архитектурные основы библиотеки меняются медленно, и книга останется рабочим инструментом на годы вперед — особенно для тех, кто делает первые шаги в Qt и кросс-платформенной разработке на C++.
Немного HR-рекламы от нашего блога: компания SSP SOFT занимается заказной разработкой ПО и ИТ-аутсорсингом. Ждем резюме специалистов, готовых работать оффлайн в Москве (ЦАО) или в Томске, а также удаленно из любой точки России. Текущие вакансии на нашей странице на hh. Откликайтесь с резюме напрямую нашему руководителю службы найма в Telegram или на почту job@ssp-soft.com.
Пож-та приложите сопроводительное письмо с секретной фразой «Нашел(ла) вас на Хабре» для более ускоренного рассмотрения резюме.
Успехов в освоении языка C++ и фреймворка Qt!
Нам будет приятно, если заглянете в наш телеграм-канал SSP SOFT, там публикуем разные полезности из мира ИТ, советы для поддержания здоровья и продуктивности, проводим конкурсы с призами.
