Компания Nokia представила релиз кросс-платформенного фреймворка Qt 4.8. В дальнейшем работа будет сосредоточена на подготовке ветки Qt 5.0, которая будет развиваться в рамках проекта Qt Project, переведённого на использование открытой модели разработки, подразумевающей участие сообщества при принятии решений. Дополнительно рассматривается возможность перевода Qt 4 под покровительство Qt Project.

Ключевые особенности Qt 4.8:

    Интеграция наработок проекта Lighthouse, в рамках которого проведена значительная реструктуризация GUI-стека и создан новый уровень абстракции QPA (Qt Platform Abstraction) для организации взаимодействия с графической подсистемой, позволяющий значительного упростить перенос Qt на новые оконные системы и устройства;

  • Поддержка многопоточного рендеринга с использованием OpenGL, в том числе разнесение по разным нитям кода работы с буферами, загрузки текстур и выполнения QPainter. Ранее OpenGL можно было использовать только в одном потоке;
  • Выделение отдельного потока для обработки HTTP-запросов, что позволяет увеличить отзывчивость приложения за счёт выноса сетевого кода из основного цикла обработки событий;
  • Оптимизация операций, связанных с доступом к файлам, и переработка стека для работы с файловой системой. В результате, за счёт сокращения обращений к системным вызовам и более грамотного использования кэширования, удалось заметно увеличить производительность ввода/вывода для всех платформ и увеличить скорость выполнения файловых операций;
  • Обновление компонента QtWebKit 2.2.1, позволяющего использовать браузерный движок WebKit из Qt-приложений. В новой версии произведена синхронизация кода с проектом WebKit (по состоянию на май 2011 года), добавлена поддержка работы со звуком и видео (теги audio/video), исправлено около 400 ошибок. Добавлена поддержка новых элементов HTML5, CSS3 и JavaScript, появившихся в свежих версиях браузеров Chrome и Safari: Canvas, HTML5 File API, типизированные массивы, DeviceMotion, Geolocation API, Web SQL, Application cache, Web Storage, CSS-анимация, CSS-трансформация, новый парсер JSON и т.д
  • Обновление компонента Qt Quick 1.1 для разработки приложений с использованием технологии декларативного описания интерфейса. Технология Qt Quick объединяет в себе: базирующийся на JavaScript метаобъектный язык QML, позволяющий в CSS-подобном виде описывать пользовательские интерфейсы и их поведение; C++ библиотеку QtDeclarative, которая превращает описание QML в элементы QGraphicsScene; встроенную в интегрированную среду разработки Qt Creator систему визуального проектирования интерфейса и создания QML-проектов. QML-компоненты могут быть не только интегрированы в состав проектов на языке C++, но и работать в виде обособленных графических приложений, логика функционирования которых задана целиком на языке JavaScript. В новой версии добавлена поддержка языков с начертанием текста справа-налево, улучшенное кэширование изображений, поддержка улучшенной виртуальной клавиатуры, реализация элемента PinchArea для обеспечения управления жестами и добавление новых свойств в QML Elements;
  • Проведена подготовка к реструктуризации кода с целью его разбиения на дополнительные модули, которые смогут обновляться и поставляться независимо от других частей Qt (например, интенсивно развивающихся подсистемы QtWebKit и QtDeclarative получат возможность выпускать релизы значительно чаще);
  • Проведена чистка кода и подготовлены к удалению (помечены устаревшими) некоторые модули, среди которых Qt3Support, QPicture, QSound, QtSvg;
  • Добавлен IP Multicast API, существенно расширен API для обеспечения локализации.


Источник: http://www.opennet.ru/opennews/art.shtml?num=32571