Начат перевод Qt на модульную основу

26 октября 2010 года

Разработчики Qt объявили (Архивная копия от 16 мая 2012 на Wayback Machine) о начале работы над проектом по приведению фреймворка к модульному виду. Многие из подсистем Qt разрабатываются разными группами разработчиков, развиваются с повышенной интенсивностью или плотно зависят от сторонних проектов, при грамотном разбиении фреймворка на модули, подобные подпроекты смогут обновляться и поставляться независимо от других частей Qt.

В частности, в настоящее время отдельно от Qt развиваются подпроекты Qt Creator, QMF и Qt Mobility, после перехода на модульную структуру аналогичную независимость получат такие подсистемы, как QtWebKit, Qt Quick, Tools (Assistant, Designer, Linguist), Qt3Support (прослойка для совместимости с Qt3), примеры и документация. Переход на модульную модель поставки планируется уже в версии Qt 4.8. В процессе реализации не предвидится подводных камней, так как в текущем виде Qt уже достаточно неплохо разбита на части через разнесение функций по разделяемым библиотекам.

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

Таким образом, разработчики развивающихся бешеными темпами подсистем QtWebKit и QtDeclarative получат возможность не ждать когда подтянется другой код и выпускать релизы значительно чаще. Разнесение кода по разным репозиториям, в свою очередь, позволит увеличить масштабируемость, как с технической стороны, так и с управленческой позиции. Разработчики и инженеры по качеству получат возможность сборки и тестирования экспериментальной версии отдельного модуля, в окружении других стабильных компонентов.

монолитная архитектура:

модульная архитектура:

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Начат перевод Qt на модульную основу», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.