Представлен набор Qt для автомобильных информационно-развлекательных систем

2016-06-08

Разработчики Qt представили новый продукт Qt Automotive Suite, в рамках которого развивается набор компонентов для оснащения автомобильных информационно-развлекательных систем и приборных панелей. Первый выпуск ожидается в конце июня, одновременно с выпуском Qt 5.7. Проект будет распространяться под свободной и коммерческой лицензиями, используя открытую модель разработки в стиле Qt. В качестве базовой платформы будут поддерживаться различные варианты Linux. Для быстрого ознакомления будут подготовлены сборки на базе платформы Yocto для плат Sabre-Lite i.MX6 и NVIDIA DriveCX.

Qt уже достаточно активно используется в автомобильных интерфейсах и хорошо адаптирован для данного применения, но производителям приходится заново изобретать велосипед и дублировать работу друг друга. Проект Qt решил выступить связующим звеном и объединить разрозненные инженерные ресурсы, подготовив набор программных компонентов, расширенный API и специализированные инструменты. Использование единого стека Qt для автомобильных систем позволит ускорить разработку, повысить качество и снизить стоимость разработки и сопровождения.

Ключевые элементы Qt Automotive Suite:

  • Qt for Device Creation - набор для создания полноценных загрузочных мобильных систем с окружением на базе Qt и QML. Для обработки web-контента предложен Qt WebEngine на базе движка Chromium;
  • Менеджер приложений - позволяет сформировать рабочее окружения в виде набора обособленных приложений, каждое из которых решает свою функциональную задачу. В отличие от монолитной архитектуры интерфейсов автомобильных информационно-развлекательных систем, разбиение интерфейса на серию небольших приложений позволяет вовлекать в разработку независимые команды разработчиков и отдельно тестировать каждый компонент, а также упрощает организацию распространения обновлений. Менеджер приложений отвечает за весь жизненный цикл приложения, от проверки установочного пакета и контроля прав доступа до управления задачами (например, завершение неактивных процессов в случае нехватки памяти). Для ускорения запуска программ используется технология pre-forking;
  • Qt Wayland Compositor - многопоточная система отрисовки для встраиваемых устройств, использующая протокол Wayland. Qt Wayland Compositor интегрируется с менеджером приложений и обеспечивает как работу модулей с реализацией виртуальной клавиатуры и системы вывода уведолмений, так и организует вывод на экран информации от разных приложений;
  • Набор типовых приложений, таких как мультимедийный проигрыватель, интерфейс для осуществления звонков по телефону и приборная панель;
  • QtIVI API - стандартизованный программный интерфейс для взаимодействия с автомобильными подсистемами, унифицирующий доступ приложений к возможностям платформ от различных поставщиков. Бэкенды для QtIVI API подготовлены для платформ GENIVI, QNX и AGL, что позволяет создавать приложения на Qt, которые могут работать поверх различных низкоуровневых системных окружений;
  • Эмулятор устройств - эмулирует QtIVI API на обычном ПК, что позволяет тестировать разрабатываемые приложения без необходимости их выполнения на реальном автомобильном оборудовании;
  • QML Live - позволяет наблюдать изменения оформления сразу после редактирования QML-файла, без пересборки приложения. Даёт возможность наглядно оценивать и корректировать изменения, по мере их внесения;
  • Средства для сборки приложения и развёртывания на целевом устройстве с возможностью удалённой отладки из среды разработки Qt Creator;
  • Инструменты для профилирования и диагностики проблем с потреблением памяти. Новый инструмент GammaRay позволяет во время работы приложения выполнять интроспекцию, визуализацию и редактирование внутренних структур.