Проект Qt представил (http://blog.qt.io/blog/2018/02/27/introducing-qt-automotive-... выпуск продукта Qt Automotive Suite 2.0 (https://www.qt.io/qt-automotive-suite/), предлагающего набор компонентов для оснащения автомобильных информационно-развлекательных систем и приборных панелей. Qt Automotive Suite предлагает универсальный стек для построения автомобильных систем, позволяющий автопроизводителям ускорить разработку IVI-систем, повысить их качество и снизить стоимость создания и сопровождения, благодаря использованию готовых, унифицированных и заменяемых компонентов. Проект развивается с использованием открытой модели разработки в стиле Qt и распространяется (http://code.qt.io/cgit/) под свободной и коммерческой лицензиями. Ключевые элементы Qt Automotive Suite:
- Qt for Device Creation (https://www.qt.io/qt-for-device-creation/) - набор для создания полноценных загрузочных мобильных систем с окружением на базе Qt и QML. Для обработки web-контента предложен Qt WebEngine на базе движка Chromium. Новый выпуск базируется на Qt 5.9;
- Qt Safe Renderer (http://blog.qt.io/blog/2017/05/22/functional-safety-qt-safe-... - система надёжной отрисовки, гарантирующая безотказную работу интерфейса критически важных систем и сертифицированная на предмет соответствия спецификации ISO 26262 part 6 ASIL-B (https://en.wikipedia.org/wiki/Automotive_Safety_Integrity_Le... (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 (https://doc.qt.io/NeptuneUI/index.html), который в новом выпуске был модернизирован и переведён на новый фреймворк обработки уведомлений. Для следующих выпусков развивается новый эталонный интерфейс Triton, в котором применяется новый метод композитинга окон, позволяющий совмещать на одном экране разные виджеты (телефон, карты, медиаплеер), с которыми можно работать как с отдельными приложениями;
- QML Live - позволяет наблюдать изменения оформления сразу после редактирования QML-файла, без пересборки приложения. Даёт возможность наглядно оценивать и корректировать изменения, по мере их внесения;
- GammaRay (https://www.opennet.ru/opennews/art.shtml?num=48058) - инструмент для профилирования и диагностики проблем с потреблением памяти. Позволяет во время работы приложения выполнять интроспекцию, визуализацию и редактирование внутренних структур.
- Эмулятор устройств - эмулирует QtIVI API на обычном ПК, что позволяет тестировать разрабатываемые приложения без необходимости их выполнения на реальном автомобильном оборудовании;
- Средства для сборки приложения и развёртывания на целевом устройстве с возможностью удалённой отладки из среды разработки Qt Creator;
- Qt 3D Studio (https://www.opennet.ru/opennews/art.shtml?num=47653) - инструменты для быстрого создания прототипов трёхмерного интерфейса, в том числе редактор со шкалой времени, позволяющий создавать эффекты с анимацией и по ключевым кадрам.
URL: http://blog.qt.io/blog/2018/02/27/introducing-qt-automotive-.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=48157