Во время недавно проходившей в Берлине конференции разработчиков
открытых десктоп-систем ‘Desktop Summit 2011’, корреспонденты
австрийской газеты «Der Standart» взяли интервью у Аарона Сейго (Aaron Seigo), основного разработчика десктоп-оболочки KDE Plasma. Главными темами интервью стали пакет KDE Frameworks 5.0 и оболочка для портативных устройств Plasma Active.

KDE Frameworks 5

  На вопрос в чем суть KDE Frameworks 5, Аарон рассказал, что основной
идеей KDE Frameworks 5 является переход от монолитной организации,
включающей в себя «всё или ничего», в набор фреймворков, из которого
можно выбрать тот, который лучше всего подходит для заданного
приложения. Для достижения этой цели библиотеки разбиваются на модули и
тщательно определяются зависимости между ними. Соответственно, KDE
Frameworks 5 является первым шагом к KDE 5 — после готовности
фреймворка, на его основу будет переведено рабочее окружение и
приложения KDE Software Compilation (SC).

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

Использование QML и OpenGL

  Несмотря на нынешнюю нацеленность в основном на изменения фреймворка,
несомненно в будущем появятся KDE Workspaces и релизы приложений с
цифрой 5. Уже ведётся работа с libplasma2, которая положила начало
огромным внутренним переменам, запускающим механизм использования QML
как первичного (и в будущем, единственного) языка для определения
пользовательского интерфейса Plasma Workspaces и Plasma Desktop. Также
планируется задействование в Qt акселерации вывода с использованием
OpenGL. В отдалённой перспективе KDE Software Compilation будет весь
переведен на QML, Javascript и OpenGL, и процесс этот будет плавным и
постепенным.

  Перспективы отдалённые, поскольку один только KDE состоит из 5-6
миллионов строк кода, но всё, что сейчас делается в рамках Plasma
Workspaces, направлено на использование в будущем QML, и весь новый код
будет писаться уже на этом языке. Почему QML? QML предоставляет просто
гораздо лучший подход для того, что делают разработчики KDE. Он быстрей,
он даёт возможность более тесного сотрудничества разработчиков кода и
дизайнеров. Это довольно трудно реализуется в традиционном процессе
разработки ПО, но в QML создание прототипов происходит быстро, а
реализация совпадает с концепцией почти на 100%.

Plasma Active, концепция интерфейса для портативных устройств

  Поскольку оболочка Plasma построена вокруг идеи, что пользовательские
интерфейсы должны состоять из множества маленьких компонентов, которые
можно выстроить в различные комбинации, то здесь очень высок процент
повторного использования кода, и, например, такие различные интерфейсы
как Plasma Desktop и Plasma Netbook работают почти полностью на общем
коде, но ведут себя совершенно по-разному. Plasma Active — это то же
самое, но предназначенное для потребительской электроники. Разработчики
изначально нацеливаются на планшеты, поэтому технологиям multitouch
уделяется огромное внимание. Также разработчики смотрят в сторону
смартфонов и теле-приставок.

  Plasma Active предоставляет все компоненты, необходимые для того,
чтобы привести технологии KDE в мир потребительской электроники. Это
означает всё — от ОС, которую можно загрузить, установить и сразу же
начать работу, до утилит разработки новых компонентов и очень
привлекательных, современных и гибких интерфейсов пользователя, а также
красивых и компонующихся друг с другом приложений с поддержкой
управления через сенсорные экраны. Так что если вендор захочет
использовать Plasma Active, он получит полный набор решений. А затем эти
новые интерактивные решения перекочуют из Plasma Active назад на
десктоп, так что нацеливаясь на новые области разработчики почти
случайно улучшают уже существующие, что является ключевым моментом, так
как ресурсы отнюдь не безграничны.

  Есть ли шансы в конкуренции с Android и iOS ? Спрос на что-то
отличное от iOS несомненно существует, но правильный вопрос таков — на
рынке, где уже есть Android, есть ли аппетит к чему-то ещё? Да,
существует множество не-Android устройств, MeeGo, например постоянно
расширяет область своего присутствия на самых разных устройствах, и мы
видим, что люди ищут способы быть отличными от других. Кроме того,
мобильный рынок находится в постоянном движении и изменяется, в отличие
от рынка десктопов, где если какой-то вендор закрепил за собой место, то
потом крайне затруднительно будет ввести ещё одного или двух игроков на
этом поле. Eсли посмотреть на iOS, то данная система вытеснила RIM и
Symbian с доминирующего положения на смартфонах за несколько лет, а
затем появляется Android, и всего за три года становится номером один.

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

Место классического десктопа

  Как показывают свежие исследования IDC, растёт количество покупаемых
ноутбуков и классических ПК, и ожидается ещё увеличение этого роста, так
что эти устройства никуда не уходят. Но одно точно: классический
десктоп займёт другую нишу на этом ландшафте в течение следующих 5-10
лет. Тут тоже есть свои преимущества, потому что можно сказать: «нет,
для ваших целей лучше подойдёт планшет или другое устройство на основе
Multi-touch».

  В долгосрочной перспективе, по мнению Аарона, всё это будет
выглядеть так — пользователя не будет заботить, на каком устройстве
запущено приложение, и где хранятся нужные для него данные, поскольку
данные будут находиться на всех устройствах и будут бесшовно
перемещаться между ними. Подобное уже реализовано в Plasma, а в Plasma
Active разработчики намерены расширить данные возможности ещё больше:
«если рядом со мной кто-то сидит, а я что-то читаю, то одним нажатием
кнопки я могу передать соседу то, что читаю, в том же самом виде, что и у
меня». Где будет располагаться информация? Что-то удалённо, что-то
локально, что-то и там и там. То же и с приложениями.

Сотрудничество с другими проектами

  У сообщества KDE довольно серьёзное соперничество с GNOME, но оно
вполне дружественное, оба проекта идут рядом и обмениваются идеями. При
этом обмен идей происходит не только с GNOME. Например, часто при
взгляде на Windows 7 возникает мысль «о, правда? У нас это появилось уже
несколько лет назад». И действительно, как минимум в одном патенте,
которыми владеет Microsoft, KDE обозначен как «prior art», так что они
смотрят но то, что делаем мы, и наоборот. В Plasma Desktop есть вещи,
идея для которых позаимствована в проприетарных ОС, но это не значит,
что данные возможности просто копируются. Это как в музыке — услышанную
интересную комбинацию звуков можно использовать как источник своего
вдохновения.

  Имеются также области, где можно развить сотрудничество. К
примеру, в Frameworks 5 будет использоваться API «Secret Service», т.е.
GTK+/GNOME и Qt/KDE будут использовать единую реализацию
хранения паролей и персональных данных, так что все пароли и данные для
Kontact и Firefox, Gwibber и Kopete будут храниться в одном
keyring/wallet. Единый набор правил взаимодействия (Window Manager Hints)
для управления окнами реализован в Compiz и KWin. И таких вещей было
реализовано немало во время работы над KDE4: Mime-типы, темы пиктограмм,
dbus и т.д.
Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34