The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

26.10.2010 20:36

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

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

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

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

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


  1. Главная ссылка к новости (http://labs.qt.nokia.com/2010/...)
  2. OpenNews: Nokia изменяет стратегию продвижения Symbian и фокусирует усилия на развитии Qt
  3. OpenNews: Canonical рассматривает потенциальную возможность использования Qt
  4. OpenNews: Nokia раскрыла некоторые планы по развитию Qt
  5. OpenNews: Релиз библиотеки Qt 4.7
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/28425-qt
Ключевые слова: qt, module, gui
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (56) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 21:27, 26/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Оперативно перевели однако.
     
  • 1.2, be_nt_all (ok), 21:28, 26/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +21 +/
    Ну что тут скажешь… Аминь! … модульность — это хорошо.
     
     
  • 2.20, StrangeAttractor (ok), 03:20, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > модульность — это хорошо.

    В общем-то утверждение действительно претендует на лавры К.О., но вот "как бы не было бы худо" - может же привести к размножению сущьностей сверх необходимого и неполноценных и нестандартных вариаций Qt как это было с Java Mobile, где было куча разной обрезанности профилей и каждый производитель мобильников (плюс ещё в разных моделях) делал по-своему, в результате вместо одной версии программы "для Java ME" плодилось куча версий под разные устройства разных марок.

     

  • 1.3, Фкуку (?), 21:37, 26/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что мешает сборке отдельной библиотеки без загрузки и пересборки всех зависимостей... - оччень трудно не согласиться! :)
     
  • 1.5, аноним (?), 21:56, 26/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пусть спросят у мэйнтейнеров портов Qt4 из FreeBSD - там испокон веков Qt4 грамотнейшим образом разбит на отдельные модули.
     
     
  • 2.6, qwer (??), 22:05, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ага, и попробуй там собрать вэбкит-4.7 когда весь остальной qt-4.6. В генте тоже все разбито на разные пакеты-только пересобирать всеравно приходится все вместе
     
     
  • 3.11, аноним (?), 22:42, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > ага, и попробуй там собрать вэбкит-4.7 когда весь остальной qt-4.6

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

     
     
  • 4.13, ws (ok), 00:08, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не только... При изменении USE-флагов - пересобираются только необходимые модули, а не вся библиотека.
     
     
  • 5.17, аноним (?), 02:11, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну USE-флаги это чисто гентушное извращение. А пересобрать по кускам его и сейчас можно.
     
  • 2.15, Фкуку (?), 01:45, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Пусть спросят у мэйнтейнеров портов Qt4 из FreeBSD - там испокон веков Qt4 грамотнейшим образом разбит на отдельные модули.

    ой! :)

     
  • 2.18, Ян Злобин (ok), 02:38, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Пусть спросят у мэйнтейнеров портов Qt4 из FreeBSD - там испокон веков Qt4 грамотнейшим образом разбит на отдельные модули.

    Ну грамотный, видать, мантейнер.  Респект!  Вообще, в некотором роде получается как в GTK+ - там изначально так сделано.  И это правильно.

     
     
  • 3.36, ананим (?), 14:38, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    угу. только из-за этой грамотности в бсд, генту и тд до сих пор гном 2.30.2
    и собрать 2.32 не всегда представляется возможным - 50/50 что заработает, а если заработает, то как

    зы:
    лично я для себя понял следующее - на 4.8 переходить буду осторожно. или дождусь 4.9

     
     
  • 4.38, Ян Злобин (ok), 14:45, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > угу. только из-за этой грамотности в бсд, генту и тд до сих
    > пор гном 2.30.2
    > и собрать 2.32 не всегда представляется возможным - 50/50 что заработает, а
    > если заработает, то как

    Не знаю как в Генту, а в FreeBSD с портированием не всегда все просто.  Например, Гном - это не одна программа, а целый список: http://www.FreeBSD.org/cgi/ports.cgi?query=gnome2-2&stype=all

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

     
     
  • 5.39, ананим (?), 14:52, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ну так и я о чём. это и называется - модульность.
    кеды к примеру гораздо быстрее появляются в портах/портежах.
    собственно с гномом 2.32 сейчас только один дистр - убунта.
     
     
  • 6.40, Ян Злобин (ok), 15:03, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > ну так и я о чём. это и называется - модульность.
    > кеды к примеру гораздо быстрее появляются в портах/портежах.
    > собственно с гномом 2.32 сейчас только один дистр - убунта.

    Это говорит о реакции людей, но не о самом портировании.

     
     
  • 7.42, ананим (?), 15:18, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ни о каком портировании речи не идёт.
    речь идёт только о сборке.
     
     
  • 8.43, Ян Злобин (ok), 15:34, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Что вы говорите А патчи тогда в гномовских портах что делают Мантейнеры от с... текст свёрнут, показать
     
     
  • 9.44, ананим (?), 15:40, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    да что вы говорите а без патчей уже не должна собирается ... текст свёрнут, показать
     
     
  • 10.54, Ян Злобин (ok), 03:36, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Может и соберется, но специфика BSD все же несколько отличается от линукса Поэ... текст свёрнут, показать
     
     
  • 11.58, ананим (?), 06:39, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    не нужно давить на специфику бзд, т к в генте их тоже хватает а еще лучше взгл... текст свёрнут, показать
     
     
  • 12.59, Ян Злобин (ok), 07:33, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Почему это Гента все таки Линукс, если что ... текст свёрнут, показать
     
     
  • 13.60, ананим (?), 08:39, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    потому это где написано в гноме, что он только для линуха разрабатывается здра... текст свёрнут, показать
     
     
  • 14.61, Ян Злобин (ok), 09:02, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Пойди по ссылке и почитай, о ананим У меня 16 02, если что - ... текст свёрнут, показать
     
     
  • 15.62, ананим (?), 09:20, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    это что-то меняет ... текст свёрнут, показать
     
     
  • 16.63, Ян Злобин (ok), 09:21, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А сам-то как думаешь ... текст свёрнут, показать
     
     
  • 17.64, ананим (?), 10:09, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    думаю что вы отошли от темы ... текст свёрнут, показать
     
  • 10.55, Ян Злобин (ok), 03:40, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме того, не весь софт портирован Вот, например, если интересно смотрите ра... текст свёрнут, показать
     
     
  • 11.57, ананим (?), 06:34, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ну а я вам о чем модульность - это звучит круто вот только теперь нужно будет ... текст свёрнут, показать
     
  • 6.46, 310dej (?), 17:47, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Версия: 2.32.0
    Дистрибьютор: Archlinux
    Дата сборки: 27.09.2010

    Вопросы есть?

     
     
  • 7.47, ананим (?), 19:43, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ха! вопросов к пиписькомерам нет.
    http://people.gnome.org/~daniellem/footware.shtml

    вопросы были к модульности.

     

  • 1.7, iZEN (ok), 22:07, 26/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –12 +/
    >что мешает сборке отдельной библиотеки без загрузки и пересборки всех зависимостей. После перехода к модульной структуре, каждая из составных частей фреймворка будет размещена в отдельном репозитории, будет иметь отдельного майнтейнера и свой график выпуска релизов.

    KDE4 собирается 12 часов.
    GNOME 2.30 собирается 6 часов.
    Делайте выводы.

     
     
  • 2.8, CrazyOrc (?), 22:19, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Однако, XFCE продолжу использовать %)
     
     
  • 3.21, StrangeAttractor (ok), 03:26, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Однако, XFCE продолжу использовать %)

    И я продолжу. Сейчас поставил Ubuntu 10.10 (раньше юзал Arch c XFCE) попробовать, всё уже под себя подогнал, снова менять лень. А вот когда появится XUbuntu 11.04 beta - на неё перейду вестимо. И, думаю, в свете переориентации стандартной Ubuntu на Unity, не один я.

     
  • 2.9, name (??), 22:27, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +6 +/
    или
    Били одинаковые условия сборки и следовательно КДЕ в 3 раза функциональнее Гнома

    или
    Вначале была голая система, без Х и различных библиотек.
    Ты ввел в консоли
    emerge kde
    И у тебя собрались X, Qt, KDE (а также, скорее всего и  GTK если был указан qtcleanlook)
    Сборка заняла 12 часов.
    Затем ты собрал только Gnome+mono за 6 часов.

     
     
  • 3.37, ананим (?), 14:44, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вывод на самом деле один. и даже не вывод, а объективный, всем известный факт - С компилится быстрее С++. плюс препроцессор мок, который тоже требует время.
     
  • 2.12, Аноним111 (?), 22:48, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Firefox собирается полчаса.
    Arora собирается 5 минут.
    Делайте выводы.
     
     
  • 3.16, iZEN (ok), 01:49, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Mozilla/5.0 (X11; U; FreeBSD amd64; ru-RU; rv:1.9.2.11) Gecko/20101027 Firefox/3.6.11 — 16 минут.
     
     
  • 4.52, Michael Shigorin (ok), 00:58, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > — 16 минут.

    Думаю, на блейд-шасси оно линковаться будет дольше, чем собираться.  И да, для нормальных людей (а не разработчиков, майнтейнеров или извращенцев) это вообще не фактор.


     
  • 3.22, StrangeAttractor (ok), 03:29, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Arora собирается 5 минут.

    А чего там собирать-то если Qt удже собрана? Arora же вроде проста как пять копеек, я был даже очень удивлён чем она там глючить умудряется (весной на винде ставил Arora - стабильность ужасала).

     
     
  • 4.41, Аноним111 (?), 15:10, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так о том и речь, функционал KDE и Gnome соотносится так же, как Firefox и Arora.
     
  • 3.35, Arcturus (ok), 14:14, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А hello-world.cpp 1 секунда.
     
  • 2.19, Ян Злобин (ok), 02:40, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >GNOME 2.30 собирается 6 часов.

    Машинка, наверное, старая?  У меня часа полтора-два.  Очень, кстати, помогает хранение distfiles на отдельной SCSI-машине и подключение его по NFS.  Ускоряет сборку на глаз раз в пять.

     
     
  • 3.53, Michael Shigorin (ok), 00:59, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Очень, кстати, помогает

    ...tmpfs, даже при активном свопе ;-)

     
     
  • 4.56, Ян Злобин (ok), 03:43, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > ...tmpfs, даже при активном свопе ;-)

    Ну это немного не то.  У меня distfiles существует в единственной копии для десятка машин.  Это и быстрее, и трафик экономит, и просто удобнее.

     

  • 1.10, Tuxoid (ok), 22:33, 26/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Однако Qt с каждым релизм меня радует все больше и больше.
     
     
  • 2.23, StrangeAttractor (ok), 03:32, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Однако Qt с каждым релизм меня радует все больше и больше.

    Как оно с точки зрения лёгкости программирования? Я, вот, много лет как перестал кодить на C++ (а в своё время ведь даже на голом C под WinAPI программировал) и на данный момент безвозвратно избалован C# WinForms. Сильно ли тяжелее на C++ с Qt чем на C#? Кто-то мне говорил что не сильно, вот я и заинтересовался...

     
     
  • 3.24, Юрий (??), 05:46, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Так это тебе на winfac
     
     
  • 4.25, StrangeAttractor (ok), 06:48, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Так это тебе на winfac

    Зачем? Основная платформа у меня уже давно Linux.

     
  • 3.33, ТТТ (?), 12:11, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Я, вот, много лет как перестал кодить на C++ (а в своё время ведь даже на голом C под WinAPI программировал) и на данный момент безвозвратно избалован C# WinForms. Сильно ли тяжелее на C++ с Qt чем на C#? Кто-то мне говорил что не сильно, вот я и заинтересовался...

    у самого такая же фигня... больше всего напрягает при переходе на С++ даже с таким хорошим фреймворком как QT это как спрограммировать что бы память не текла (по крайней мере всё время думаю про это :) )...
    Так что несколько раз пытался для себя что-то писать и забрасывал...
    Но если бы работал по этому думаю влиться легко и программить удобно

     

  • 1.26, аноним (?), 08:09, 27/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Взгляните на картинки в конце статьи, а затем посмотрите на знаменитый рисунок, над которым все когда-то смеялись http://citkit.ru/articles/22/gtkvsqt1.jpg
     
     
  • 2.27, anonymous (??), 08:22, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ...и таки я тебе скажу, что рисунок своей актуальности не потерял. Взглянув на картинку в конце, ты, несомненно, увидишь, брат-анонимус, что KDE по-прежнему опирается на стек, который подписан как "maybe Qt 4.8". Все остальное вокруг этого блока для KDE не нужно.
     
     
  • 3.28, аноним (?), 08:24, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А с той картинки, Gimp, например, что, обязательно нужен для Gnome?
     
     
  • 4.49, Аноним (-), 20:15, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > А с той картинки, Gimp, например, что, обязательно нужен для Gnome?

    Нет, Gimp там для того, чтобы показать что он ближе к Xlib чем Gnome. Получается что Gnome пробивается к Xlib через кучу костылей, а Gimp и KDE через одну библиотеку.

     
  • 2.34, dq0s4y71 (??), 13:14, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эх, если бы при этом кеды были не такими громоздкими и неповоротливыми, в отличие от гнома... :)
     

  • 1.29, anonymous (??), 08:32, 27/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > а затем посмотрите на знаменитый рисунок, над которым все когда-то смеялись

    Ага я тоже так подумал. Всю дорогу орали что КуТ тем и хорош что сразу все в кучу
    и хаяли ГТК.
    Потихоньку кеды дополили до гнома ( это я про 4 ) теперь и сам кут до гтк доводят
    ;)

     
     
  • 2.50, Аноним (-), 20:22, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты хоть сам пробовал программировать? А KDE хоть раз запускал? Вижу что нет. Так зачем говоришь о том, о чем не знаешь?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру