Новости бизнесаСтатьиНоу ХауАналитикаДеньгиБизнес технологииКурс валют
Главная > Новости бизнеса > Hi-Tech > Началось альфа-тестирование Qt 5

Началось альфа-тестирование Qt 5

Среда, 4 апреля 2012 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

Разработчики из компании Nokia объявили о выпуске первой альфа-версии Qt 5, первого значительного выпуска, развиваемого при непосредственном участии сообщества в рамках нового полностью открытого процесса разработки и управления проектом. Qt 5 позиционируется в качестве фундамента для реализации новых путей разработки приложений. При сохранении всех инструментов по созданию Qt-программ на языке C++, в Qt 5 акцент смещается в сторону использования C++ в основном для создания функциональности модульных бэкендов для Qt Quick, т.е. для реализации критичных ко времени выполнения или излишне сложных частей программы, в то время как простые Qt-приложения могут быть написаны полностью на JavaScript, без использования C++.

В ветке Qt 5.x отмечается нарушения совместимости с Qt 4.x на бинарном уровне и частично на уровне исходных текстов. К моменту релиза планируется подготовить набор средств для упрощения адаптации кода существующих проектов для Qt 5.x. Тем не менее, нарушающие совместимость изменения в основном связаны с чисткой устаревших компонентов, поэтому адаптация современных проектов потребует минимальных изменений. Например, в текущем виде единая кодовая базе Qt Creator успешно собирается с использованием Qt 4.x и Qt 5.

Ключевые архитектурые изменения Qt 5:

Перевод всех портов на использование уровня абстракции Qt Platform Abstraction layer (QPA), основанного на наработках проекта Lighthouse. QPA значительно упрощает перенос Qt на новые оконные системы и устройства, так как он изначально оперирует более абстрактными категориями, фундаментально отличаясь от ранее используемых средств интеграции с оконными системами. Например, уже написаны бэкенды для QNX, Android и iOS. В настоящее время реализация QPA уже входит в состав Qt 4.8, в качестве замены QWS/Qt Embedded, но в Qt 5 данная прослойка будет задействована для всех платформ, что потребовало существенно переработки огромной части кода, связанного с обеспечением поддержки различных платформ. Изменение архитектуры графического стека и увеличение производительности графических операций. В качестве центрального элемента новой архитектуры для Qt Quick выступает QML Scenegraph, работающий поверх OpenGL. Для работы новой графической архитектуры Qt 5 система должна поддерживать как минимум OpenGL (ES) 2.0.

Поддержка QPainter сохранена для выполнения расширенных функций, но ограничена возможностью использования бэкенда программной растеризации вывода (Raster), бэкенда OpenGL и бэкенда для вывода на печать и создания PDF. Поддержка привязанных к платформам бэкендов, таких как X11 и CoreGraphics, прекращена. QWidgets теперь отображается поверх графической сцены, а не наоборот, как реализовано в версии Qt 4, что позволило перейти в Qt 5 на принципиально новую графическую архитектуру, сохранив при этом совместимость с Qt 4.

В QtGui добавлен набор классов QOpenGL*, заменивших собой устаревшие классы QGL*, которые пока оставлены для обеспечения совместимости. Также представлен класс QGuiApplication, которые заметно легче классов QApplication и QWindow при выполнении задач обработки корневой области на экране.
Модульная структура репозитория. Многие из подсистем Qt разрабатываются разными группами разработчиков, развиваются с повышенной интенсивностью или плотно зависят от сторонних проектов. При грамотном разбиении фреймворка на модули, подобные подпроекты смогут обновляться и поставляться независимо от других частей Qt. Модульная организация репозитория позволит обеспечить сборку отдельных библиотек без загрузки и пересборки всех зависимостей, а также независимое использование каждой библиотеки. Разработчики интенсивно развивающихся подсистем QtWebKit и QtDeclarative получат возможность не ждать когда подтянется другой код и выпускать релизы значительно чаще. Кроме того, модульная структура существенно упростит приём в состав Qt модулей, созданных сторонними проектами, например, проект KDE намерен добиваться интеграции в Qt некоторых своих библиотек общего назначения. Ожидается, что разбиение на модули будет длительным и постепенным процессом, который будет продолжен и после выхода релиза 5.0.
Выделение всех связанных с QWidget возможностей в отдельную библиотеку. Несмотря на то, что основанные на QWidget классы чрезвычайно важны для существующих приложений, общая тенденция ведёт к тому, что все пользовательские интерфейсы должны быть реализованы на QML и Qt Quick. Отделение связанных с QWidget функций в отдельную библиотеку позволит в долгосрочной перспективе сохранить чистоту архитектуры Qt 5.

Новые возможности:

Qt Core:

Добавлен класс QStandardPaths для определения стандартного местоположения на текущей платформе таких данных, как мультимедиа файлы и документы; В состав включен парсер формата JSON и оптимизированное для более высокой скорости обработки бинарное представление для данных JSON; Поддержка определения mime-типа как по расширению, так и по содержимому; Включение в состав движка для обработки регулярных выражений, полностью совместимых с Perl; Переписаны и оптимизированы для увеличения производительности многие структуры данных; Добавлена поддержка стандарта C++11, но сохранена возможность сборки и при помощи компиляторов, совместимых с C++98.

Qt Gui: Как было отмечено выше, классы QWidget вынесены в отдельную библиотеку QtWidgets. В QtGui добавлена поддержка OpenGL и возможность работы через класс QWindow с поверхностями корневого экрана; Qt Network: Добавлена поддержка выполнения DNS-запросов. Удалены классы QHttp и QFtp, которые вынесены в отдельные модули; Qt Widgets: Осуществлено портирование на новую архитектуру QPA с сохранением полной совместимости с Qt 4.x; Qt Quick: Полностью совместимая с Qt 4.x реализация Qt Quick оформлена в виде модуля Qt Quick 1, который подготовлен только для обеспечения обратной совместимости и не будет развиваться в будущем. Реализация Qt Quick для Qt 5 разделена на отдельные модули, связанные с графической частью и с компонентами поддержки языков QML и JavaScript. Обеспечивающие выполнение JavaScript классы (QJSEngine и QJSValue) теперь базируются на движке V8, позволившем достигнуть более высоких результатов производительности. В движок QML также внесены значительные оптимизации производительности и связанные с языком улучшения, при сохранении базовой совместимости. Модуль Qt Quick включает в себя реализацию Scenegraph на базе OpenGL и все ранее поддерживаемые в Qt 4.x базовые возможности. Дополнительно добавлена поддержка графических эффектов, создаваемых при помощи шейдеров OpenGL. Добавлены модули Qt 3D и Qt Location для интегарции 3D-контента с Qt и для взаимодействия с GPS и другими сервисами определения местоположения; C++ API Qt WebKit не изменился по сравнению с Qt 4.x, но осуществлён переход на более новую версию движка WebKit, что привело к улучшению поддержки технологий HTML 5.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 498
Рубрика: Hi-Tech
(CY)

Архив новостей / Экспорт новостей

Ещё новости по теме:

15: 20
Поставки игровых мониторов выросли на 350% |
15: 00
Суд оправдал экс-начальника серовского КУМИ Александра Гребенева и его друга Станислава Исупова |
15: 00
В Серове разбойники зарезали двух продавщиц и ранили пенсионерку |
15: 00
Фильм "Вояджер: Дальше планет" на фестивале 360° |
14: 40
Эксклюзивный бандл Gran Turismo Sport включает... настоящий автомобиль |
14: 00
Скидки на современные смартфоны от Xiaomi и Huawei в GearBest |
13: 40
Результаты GeForce GTX 1070 Ti в ПО 3DMark на 6-10% выше, чем у разогнанной GTX 1070 |
13: 40
В оглашении приговора Исупову-Гребеневу объявлен перерыв. Фигуранты уехали на обед |
12: 40
Национальная ассоциация телерадиовещателей просит Apple добавить приемник FM в новые iPhone |
11: 20
Samsung обеспечит поддержку запуска Linux-дистрибутивов на смартфонах Galaxy S8 |
11: 20
Gartner считает, что iPhone X подстегнет продажи в мобильной индустрии в 2018 году |
10: 40
Почему я выбираю iPhone Plus вместо обычного iPhone |
10: 20
Samsung DeX будет работать на Lunix, но не полностью |
10: 20
Деревянный конструктор Ugears: как превратить игрушку в искусство |
10: 20
Zotac GeForce GTX 1080 Ti ArcticStorm Mini — самая маленькая 3D-карта GeForce GTX 1080 Ti |
09: 20
LG V30 с честью выдержал испытания блогера JerryRigEverything |
09: 20
В Театре Стива Джобса можно потрогать iPhone X (фото) |
09: 20
Как "лайкнуть" бумажную книгу: Facebook-печати в реальном мире |
08: 40
СК признал отсутствие алкоголя в крови сбитого в Балашихе мальчика |
08: 40
Блог. Алексей Навальный: «В Кремле решили» |
07: 00
Прогнозы некоторых экономистов относительно акций Apple не очень оптимистичны |
18: 00
В Нидерландах открыли первый в мире мост, созданный посредством 3D-печати |
16: 20
Pixel 2 обогнал по автономности Galaxy S8, Note 8 и iPhone 8 |
16: 20
Consumer Reports: Samsung Galaxy S8 — лучший смартфон на рынке |
15: 20
Новые ноутбуки Microsoft и Qualcomm смогут работать сутки от одной подзарядки |
15: 20
Американцы показали мобильный боевой лазер |
14: 20
Глава Qualcomm уверен, что они с Apple смогут уладить свой конфликт |
14: 20
Consumer Reports: На рынке нет смартфона лучше Galaxy S8 |
14: 20
Скидка 100%: 5 временно бесплатных приложений |
14: 20
Ноутбуки с SoC Snapdragon 835 и Windows 10 удивят временем работы без подзарядки |
13: 40
Lenovo K8, K8 Plus и K8 Note получат обновление до Android 8.0 Oreo летом 2018 |
Новости бизнесаСтатьиНоу ХауАналитикаДеньгиБизнес технологииКурс валют
Rating@Mail.ru
Условия размещения рекламы

Наша редакция

Обратная связь

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Skype: rosinvest.com (Русский, English, Zhōng wén).

Архивы новостей за: 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003