LINUX.ORG.RU
ФорумTalks

[Qt5] Аарон Сейго размышляет о будущем KDE


0

3

As most of those who read my blog have already heard, Qt5 is on its way. The target is 2012 and the focus is QtQuick where there is a high degree of separation between display and data and things are rendered using a hardware accelerated (read: OpenGL) scene graph. This is very much in line with where we are heading with Plasma as well. Exciting times!

What does this mean for KDE? Will there be a KDE5 in 2012 as well? What would a KDE5 look like? I know these are the questions on some of your minds, if only because some of you have already started asking myself and others about it. ;)

The short answer is that we don't know yet, but we're working on it. Not a very satisfying answer is it? Well, short answers are rarely much fun. So here's the slightly longer version.

Some of us have known for a while that Qt5 was brewing. The decision to start on libplasma2 that focused on QtQuick and moved away from all things QWidget was influenced by this knowledge. Thankfully, with Plasma's emphasis on Javascript, data/visualization divisions, use of OpenGL and more recently QML, we're in a good position to follow the Qt5 flow as it comes. We're already discussing on the mailing lists how to get involved and what issues will be most important to us. We're quite excited that Qt5 is going to be developed in the open, as this should give us much more influence in and foreknowledge of decisions that get made.

However, Plasma is not KDE, it's just one part of our rather large ecosystem of software projects and products. The biggest impact that a Qt5 will have is on the KDE Platform itself, since the library infrastructure relies on working well together as one cohesive unit. As Lars pointed out in his blog entry, the focus for Qt5 is to not disrupt the application developer by changing the API, but rather making performance oriented changes that result in the binary interface, or ABI, changing. For most applications, that will mean recompiles and possibly some source level tweaks here and there.

For some, however, it will be a little more drastic. Qt3Support will be gone, which means KDE3Support will almost certainly die along with it. If your application still relies on the Qt3- or KDE3Support libraries, this is a wake-up call to address that.

The current plans for Qt5 mean that, unlike Qt4's reinvent the world approach (which was needed, if painful), it will be evolutionary and far less disruptive. This is the good news.

I also see this as an opportunity for KDE's own libraries and runtime that form the KDE Platform. We don't need another big re-engineering of the base technologies as we had in KDE4, but there is a lot of opportunity to improve how the pieces fit together. Since Qt will be breaking ABI, KDE's own libraries will also have a new, binary-incompatible signature when compiled against Qt5. That means we have the opportunity to clean up things that require breaking binary compatibility.

Often this doesn't require affecting source compatibility. For instance, the other day in the libplasma2 branch I removed a data member in a public class that shouldn't have been there in the first place. This is binary incompatible, but doesn't matter one bit from a source compatibility perspective.

Some changes will likely affect source compatibility, however. KDE's UI and KIO libraries both need some hard changes made to them. libkdeui will need to split out platform, QWidget and generic components. KIO needs a similar split between platform bits, QWidget-centric UI and business logic bits. We need to think about how to reform the KDE Platform so that it is not only possible but easy to create builds for devices with less storage or targets where QWidget simply won't exist in the future.

The best news is that in just a few weeks, dozens of KDE developers are coming together in Randa, Switzerland to work on these issues at the Platform 11 meeting. The organization for this meeting actually started towards the end of last year, and the timing really couldn't have been better.

Today we stand with a bright future ahead of us, with Qt growing leaner and more modern and appearing on more computers and more devices every day, but we also stand with a number of open questions. We don't really know the details of what KDE Platform 5's libraries will look like. We do know it will be an evolutionary release, much like the transition from KDE2 to KDE3 was, with significant improvements. We will be grappling with those unknowns in the Alps, well away from distractions and surrounded by natural beauty, and we will start to draft those answers. A couple of months later we'll be in Berlin to come together at the Desktop Summit and push it yet further forward. We should, by then, have some very clear ideas of what the next year of development towards Qt5 and an eventual KDE5 will entail.

Personally, I can't wait. Perhaps because I remember how KDE3 polished the raw materials of KDE2 into a high gloss finish and can see the same patterns emerging here again. :)

http://aseigo.blogspot.com/2011/05/qt5-kde5.html

+ За scenegraph, JavaScript, QtQuick, OpenGL

- За то что все поломают

vertexua ★★★★☆ ()

В ответ на озвученные Nokia планы выпуска Qt 5, Аарон Сейго (Aaron Seigo), основной разработчик десктоп-оболочки Plasma из состава KDE4, опубликовал заметку, в которой указал на намерение выпустить KDE 5 в следующем году. По мнению Аарона, в Qt 5 ожидаются слишком большие изменения, которые не позволят безболезненно перевести KDE 4 на новые технологии Qt. Тем не менее, работа по переводу приложений на использование технологии декларативного описания интерфейса Qt Quick уже достаточно давно ведется в KDE. В частности, на базе подобных технологий уже развивается проект Plasma Active

http://www.opennet.ru/opennews/art.shtml?num=30507

Понеслась звезда по кочкам...

Freiheits-Sender ★★ ()
Ответ на: комментарий от Freiheits-Sender

>По мнению Аарона, в Qt 5 ожидаются слишком большие изменения, которые не позволят безболезненно перевести KDE 4 на новые технологии

Где? (O.o)

Deleted ()
Ответ на: комментарий от Deleted

Я о томже,они еще четвертую ветку до ума не довели, а он уже готов все сломать, пристелите его

Freiheits-Sender ★★ ()
Ответ на: комментарий от vertexua

Как так? Требую пруфлинк на то, что он такое сказал.

Deleted ()
Ответ на: комментарий от Freiheits-Sender

>а он уже готов все сломать

Пруфлинк же, ну.

Deleted ()
Ответ на: комментарий от Deleted

Personally, I can't wait. Perhaps because I remember how KDE3 polished the raw materials of KDE2 into a high gloss finish and can see the same patterns emerging here again. :)

Текст выше и ссылка на блог

Freiheits-Sender ★★ ()
Ответ на: комментарий от Freiheits-Sender

И где здесь сказано, что всё сломается? Наоборот, он говорит, что переход с 2 на 3 прошёл хорошо.

Deleted ()

> I remember how KDE3 polished the raw materials of KDE2

Намекает, что KDE4 - не торт, а raw material, и его надо отполировать?

queen3 ★★★★★ ()

Когда эта ублюдина наконец-то вскроет себе вены?

Manhunt ★★★★★ ()
Ответ на: комментарий от Freiheits-Sender

Не знаю, я бегло читал. Не мешай, я троллю о том что Qt несовместим от версии до версии

vertexua ★★★★☆ ()
Ответ на: комментарий от queen3

А что, не так, что ли? Да, работает, и хорошо работает, но шероховатости в каждом релизе. Полировка просто необходима.

tmpusr ()

Это линукс-капец, товарищи. Гнома убили, кеды закопают через год.
И тут придет всем полный шindoшs 8.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

> Гнома убили, кеды закопают через год.

XFCE жил, XFCE жив, XFCE будет жить

aho ()
Ответ на: комментарий от pekmop1024

> Гнома убили

А чем тебе не нравится третьегном?

Manhunt ★★★★★ ()
Ответ на: комментарий от Deleted

Разработчики из компании Nokia представили детальный план разработки проекта Qt 5. Значительные изменения будут внесены не только в функциональность, но в организацию процесса разработки. Если ветка Qt 4, выпущенная в 2005 году, развивалась в основном силами одной компании, то ветка Qt 5 будет изначально отличаться более открытым процессом разработки и предоставлением возможности активного участия в проекте представителей независимого сообщества. В процессе разработки Qt 5 не будет отличий в отношении к разработчикам из Nokia и участникам разработки, пришедшим из вне. Первую бета-вервию Qt 5 планируют выпустить в конце нынешнего года, а финальный релизе в течение 2012 года.

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

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

Среди целей создания ветки Qt 5 названы:

Более активное использование средств GPU-акселерации с целью увеличения производительности выполнения графических операций с минимальным потреблением системных ресурсов; Обеспечение средств для упрощения и ускорения разработки продвинутых приложений и пользовательских интерфейсов, в том числе с использованием QML и Javascript. Предоставление приложениям возможностей для полноценного взаимодействия с Web, например, возможность встраивания в любое Qt-приложение обработчиков web-контента и функций для взаимодействия с web-сервисами; Избавление от усложненности и большого объема кода, необходимого для поддержания и реализации потов Qt для новых платформ.

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

Изменение архитектуры графического стека. В качестве центральных элементов новой архитектуры будут выступать Qt Quick и QML Scenegraph. Поддержка QPainter будет сохранена для выполнения расширенных функций, но не сможет быть использована в основном интерфейсе пользователя. Для работы Qt система должна будет поддерживать OpenGL (ES) 2.0. QWidgets будет отображаться поверх графической сцены, а не наоборот, как сейчас реализовано в версии Qt 4; Все порты Qt будут основаны на инструментарии Lighthouse, созданном с целью значительного упрощения переноса Qt на новые платформы. Lighthouse изначально оперирует более абстрактными категориями, чем текущие средства интеграции с оконными системами. Модульная структура репозитория. Многие из подсистем Qt разрабатываются разными группами разработчиков, развиваются с повышенной интенсивностью или плотно зависят от сторонних проектов, при грамотном разбиении фреймворка на модули, подобные подпроекты смогут обновляться и поставляться независимо от других частей Qt. Модульная организация репозитория позволит обеспечить сборку отдельной библиотеки без загрузки и пересборки всех зависимостей. Разработчики интенсивно развивающихся подсистем QtWebKit и QtDeclarative получат возможность не ждать когда подтянется другой код и выпускать релизы значительно чаще; Выделение всех связанных с QWidget возможностей в отдельную библиотеку. Несмотря на то, что основанные на QWidget классы чрезвычайно важны для существующих приложений, общая тенденция ведёт к тому, что все пользовательские интерфейсы должны быть реализованы на QML. Отделение связанных с QWidget функций в отдельную библиотеку позволит в долгосрочной перспективе сохранить чистоту архитектуры Qt 5.

Первые выпуски Qt 5 будут доступны для небольшого числа платформ, например, для Wayland и X11 в Linux, Mac OS X и Windows. Дальнейшее число поддерживаемых платформ будет зависеть от активности сообщества, так как Nokia не заинтересована в портировании Qt 5 на все платформы, поддерживаемые ныне в Qt 4. Так как в Qt 5 будут внесены изменения в API, Nokie не исключает при необходимости нарушения бинарной совместимости. Разработчики не планируют повторять опыт обеспечения максимальной переносимости между ветками, ранее опробованный в процессе перехода от Qt 3 к Qt 4, считая что достаточно сохранения совместимости на уровне исходных текстов. ТЕм не менее, в процессе разработки будет сделано все возможное для избежания нарушения фундаментальных основ Qt 4 и упрощения миграции существующих приложений на технологии Qt 5.

В ответ на озвученные Nokia планы выпуска Qt 5, Аарон Сейго (Aaron Seigo), основной разработчик десктоп-оболочки Plasma из состава KDE4, опубликовал заметку, в которой поднял вопрос необходимости выпуска KDE 5, возможно уже в следующем году. Релиз KDE 5 будет иметь эволюционный характер, напоминая по своей сути переход от KDE 2 к KDE 3. По мнению Аарона, в Qt 5 ожидаются слишком большие изменения, которые не позволят без нарушения совместимости интегрировать в KDE 4 новые технологии Qt. Тем не менее, работа по переводу приложений на использование технологии декларативного описания интерфейса Qt Quick уже достаточно давно ведется в KDE. В частности, на базе подобных технологий уже развиваются проекты libplasma2 и Plasma Active.

Положительным моментом также является то, что основная часть платформы KDE базируется на собственных библиотеках и runtime-компонентах, которые не потребуется переписывать, как было сделано в случае подготовки KDE 4. Несмотря на то, что в процессе создания KDE 5 не придется проводить глобальный реинжиниринг архитектуры проекта, у разработчиков появится шанс, еще раз проанализировать и оптимизировать связь всех компонентов платформы. Из подсистем, которые потребуют значительной переработки отмечаются библиотеки для формирования пользовательского интерфейса (libkdeui) и KIO. Более подробно вопросы перехода KDE на Qt 5 будут рассмотрены на ближайшем саммите разработчиков проекта.

alpha2 ()
Ответ на: комментарий от alpha2

Опять текст, а где Аарон так сказал — нет :(

Deleted ()

Qt R.I.P. Что тут можно ещё добавить.

KDE похоже тоже скоро R.I.P. Gnome уже R.I.P.

alpha2 ()
Ответ на: комментарий от alpha2

> Gnome уже R.I.P.

Не могу понять, почему все так говорят? Что не так-то с третьегномом?

Manhunt ★★★★★ ()
Ответ на: комментарий от queen3

> Намекает, что KDE4 - не торт, а raw material, и его надо отполировать?

Намекает, что KDE4 != KDE4

tailgunner ★★★★★ ()
Ответ на: комментарий от Deleted

> Гномошел всех испугал.

Коллега в восторге от гномошелла. И мне понравилось то что у него на экране, юзабельно: выстраивание окошек с превью при их переключении, новая приблуда вместо меню «пуск»..

Manhunt ★★★★★ ()

нахера тут эта портянка? слабо было [en] написать?

zgen ★★★★★ ()
Ответ на: комментарий от Manhunt

И мне понравилось то что у него на экране, юзабельно: выстраивание окошек с превью при их переключении,

Гномеры наконец-то увидели «Expose» aka «Present Windows».

Pavval ★★★★★ ()

Вот только-только стабилизировались. Нет, чтобы развивать экосистему... Так нет же - всё обязательно поломать надо... Всех разработчиков так распугают нафиг.

Quasar ★★★★★ ()
Ответ на: комментарий от tailgunner

KDE4 = KDE5?

Тогда

KDE4 - KDE5 = 0
KDE(4-5)=0
-1=0

Хотя не, ошибка. Я сократил на /KDE, а ведь делить на ноль нельзя. Поэтому-то KDE4=KDE5.

queen3 ★★★★★ ()
Ответ на: комментарий от vertexua

Может типа такой маркетинговый ход как виста - 7.

alltiptop ★★★★★ ()

Им набор иконок уже запилить приличный, а то так и будем до кде100500 смотреть на этот глянцевый вырвиглаз.

Panic_At_The_Kernel ()

> I remember how KDE3 polished the raw materials of KDE2 into a high gloss finish

Золотые слова. Третьи кеды очень хорошая DE, а четвёртые — концентрированный шмерц и ангст. Приятно, что это понимают в «кругах, приближенных к...». Теперь, когда третий гном шагает по планете и загоняет всех на XFCE, допиливание четвертых кед до юзабельного состояния было бы как нельзя кстати.

Smacker ★★★ ()
Ответ на: комментарий от Manhunt

мне тоже гном-шелл понравился, только его конфигуратор действующий по принципу «лезешь в исходники и делаешь все что нужно» не очень юзер-френдли.

mono ★★★★★ ()
Ответ на: комментарий от Jetty

Ну, эта задача легко решается введением дополнительных 11-ти плоскостей.

queen3 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.