21 декабря 2010 г.

KDE4 - платформа будущего

Да, вот такая странная тема. Казалось бы, для большинства вопрос отношения к KDE решён - или нравится, или нет. Но для меня это было не совсем так. До вчерашнего дня.

Постараюсь вспомнить свои ощущения от первых экспериментов с KDE 3. Это был ОГРОМНЫЙ набор программ с неинтуитивными названиями, большинство из которых содержало букву "k". Кажется, я ставил его на Debian. Кроме огромного количества приложения были ещё и очень разнородными. Ткнув в непонятное название, можно было увидеть что угодно - от экранной линейки до симулятора химических экспериментов для школьников. Поэтому такая куча поделок казалась мне довольно странной.

Что же случилось в четвёртой версии? Оттуда убрали кучу приложений? Нет. Но появлялись они постепенно. Сначала самый минимум, который и переписывать-то не надо было. Потом разные красивости: виджеты, панели, прозрачности. И только сейчас можно довольно уверенно сказать, что в KDE 4 есть всё необходимое. Естественно, в процессе портирования с тройки на четвёрку программы претерпели рестайлинг в соответствии с новыми концепциями внешнего вида и внутренней иерархии (о ней чуть ниже). А странные и ненужные мелочи оказались просто никому не нужны.

Но естественно, это ещё не всё. В KDE4 появились специально обученные "столпы", которые разделяют весь функционал, необходимый для работы прикладных программ. Не зеаю, интересна ли эта сторона неразработчикам, но об этих столпах не раз писали в различных блогах, хабрах и т. п. Итак, вот они:

Phonon - мультимедиа API.

Decibel - сервис и API для организации общения в режиме реального времени.

Akonadi - фреймворк PIM.

Nepomuk - семантический рабочий стол.

Plasma - фреймворк рабочего стола.

Oxygen - новая тема рабочего стола.

Побробнее почитать можно тут, ну или официальные документы.

Естественно, я не буду описывать их в деталях. Во-первых, не настолько разбираюсь, во-вторых, не о том речь.

Остановлюсь на двух из семи компонентов: Akonadi и Nepomuk. О них-то я как-раз и вспомнил вчера, продумывая свою интересную, но утопичную идею "клинта-для-всего". Здесь, пожалуй, изложу, как выглядит идея.

"Клиент-для-всего"

Сосотоит из трёх частей:

  1. Коммуникационная часть
    Является надстройкой над любыми программными средствами общения. Проще говоря, он сам взаимодействует со всеми гмылами, аськами, жабберами, фейсбуками, вконтактами, твиттерами, жуиками, etc. На этом этапе решается проблема дублирования информации. Пользователь не увидит репост одного и того же сообщения своего друга в твиттере, вконтакте и фейсбуке. Он увиди этот пост от лица "собирательного" контакта. Причём комментарии (если они возможны) будут подсасываться из всех мест, где было опубликовано сообщение. Ну ответы/коменты пользователя будут уходить туда, куда нужно.
  2. Объектная часть
    Объект - что угодно, что можно сохранить в памяти компьютера. От простого файла до заметки с прикреплённой гиперссылкой. Любой объект имеет тэги, по которым его можно найти. Основные типы объектов:
    а) Заметка
    Текст с форматированием a la RTF, возможностью вставки картинок, ссылок и т. п. Если добавлена дата, заметка превращается в задачу ежедневника
    б) Ссылка
    Аналог закладки в браузере. Просто сохранённая ссылка на веб-страницу. В перспективе возможно кэширование таких объектов на случай исчезновения сайтов/страничек.
    в) Файл
    Имеет привяку к файловой системе (UUID?) и (в дополнение к тэгам объекта) информацию добытую из самого файла - тэги из mp3, EXIF-данные из фоток, дата создания файла в файловой системе...
  3. Представления
    Способы отображения вышеперечисленной информации для удобной работы с ней. Это и аналог файл-менеджера(по тэгам), и глобальная схема занятий(основные тэги) и органайзер (из заметок с датами и контактами). В перспективе, сообщения из коммуникационной части тоже будут маркироваться тэгами и чаты будут просто представлением сообщений.

Всё

Вот так вот. Конечно, такой монстр требует уйму времени и сил на разработку. Но, по-моему именно так должны в будущем выглядеть операционки.

И, как оказалось, в KDE уже следуют по этому пути. Я до сих пор не посмотрел последние новшества и не знаю, насколько Nepomuk интегрирован в приложения, но даже такая реализация - уже гораздо лучше, чем ничего.

В общем, как-то я много пишу. Пора закругляться. Решил осваивать KDE и, если получится внести в него вклад. Да, этот пост я пишу из Blogilo - блог-клиента KDE.

Комментариев нет: