Проект Qt представил новую платформу для автомобильных систем
Проект Qt представил выпуск продукта Qt Automotive Suite 2.0, предлагающего набор компонентов для оснащения автомобильных информационно-развлекательных систем и приборных панелей. Qt Automotive Suite предлагает универсальный стек для построения автомобильных систем, позволяющий автопроизводителям ускорить разработку IVI-систем, повысить их качество и снизить стоимость создания и сопровождения, благодаря использованию готовых, унифицированных и заменяемых компонентов. Проект развивается с использованием открытой модели разработки в стиле Qt и распространяется под свободной и коммерческой лицензиями.
Ключевые элементы Qt Automotive Suite:
- Qt for Device Creation — набор для создания полноценных загрузочных мобильных систем с окружением на базе Qt и QML. Для обработки web-контента предложен Qt WebEngine на базе движка Chromium. Новый выпуск базируется на Qt 5.9;
- Qt Safe Renderer — система надёжной отрисовки, гарантирующая безотказную работу интерфейса критически важных систем и сертифицированная на предмет соответствия спецификации ISO 26262 part 6 ASIL-B (Automotive Safety Integrity Level). Например, Qt Safe Renderer может применяться для отрисовки приборной панели и выполняться отдельно под управлением RTOS (для окружения с некритичными IVI-компонентами используется Linux);
- Менеджер приложений — позволяет сформировать рабочее окружения в виде набора обособленных приложений, каждое из которых решает свою функциональную задачу. В отличие от монолитной архитектуры интерфейсов автомобильных информационно-развлекательных систем, разбиение интерфейса на серию небольших приложений позволяет вовлекать в разработку независимые команды разработчиков и отдельно тестировать каждый компонент, а также упрощает организацию распространения обновлений. Менеджер приложений отвечает за весь жизненный цикл приложения, от проверки установочного пакета и контроля прав доступа до управления задачами (например, завершение неактивных процессов в случае нехватки памяти);
- QtIVI API — стандартизованный программный интерфейс для взаимодействия с автомобильными подсистемами, унифицирующий доступ приложений к возможностям платформ от различных поставщиков. Бэкенды для QtIVI API подготовлены для платформ GENIVI, QNX и AGL, что позволяет создавать приложения на Qt, которые могут работать поверх различных низкоуровневых системных окружений. Интерфейсы для взаимодействия с подсистемами могут определяться при помощи языка QFace IDL, после чего автоматически генерироваться в форме кода QML и C++ с реализацией API для Qt;
- Qt Wayland Compositor — многопоточная система отрисовки для встраиваемых устройств, использующая протокол Wayland. Qt Wayland Compositor интегрируется с менеджером приложений и обеспечивает как работу модулей с реализацией виртуальной клавиатуры и системы вывода уведомлений, так и организует вывод на экран информации от разных приложений;
- Набор типовых приложений, таких как мультимедийный проигрыватель, интерфейс для осуществления звонков по телефону, навигатор и приборная панель;
- Эталонный пользовательский интерфейс Neptune, который в новом выпуске был модернизирован и переведён на новый фреймворк обработки уведомлений. Для следующих выпусков развивается новый эталонный интерфейс Triton, в котором применяется новый метод композитинга окон, позволяющий совмещать на одном экране разные виджеты (телефон, карты, медиаплеер), с которыми можно работать как с отдельными приложениями;
- QML Live — позволяет наблюдать изменения оформления сразу после редактирования QML-файла, без пересборки приложения. Даёт возможность наглядно оценивать и корректировать изменения, по мере их внесения;
- GammaRay — инструмент для профилирования и диагностики проблем с потреблением памяти. Позволяет во время работы приложения выполнять интроспекцию, визуализацию и редактирование внутренних структур.
- Эмулятор устройств — эмулирует QtIVI API на обычном ПК, что позволяет тестировать разрабатываемые приложения без необходимости их выполнения на реальном автомобильном оборудовании;
- Средства для сборки приложения и развёртывания на целевом устройстве с возможностью удалённой отладки из среды разработки Qt Creator;
- Qt 3D Studio — инструменты для быстрого создания прототипов трёхмерного интерфейса, в том числе редактор со шкалой времени, позволяющий создавать эффекты с анимацией и по ключевым кадрам.
© OpenNet