понедельник, 18 мая 2009 г.

Столпы KDE4: Plasma

А вот и продлжение статей с Хабра на тему "Столпы KDE4". В этот раз - Столпы KDE4: Plasma


На хабре был цикл статей про столпы четвертой (актуальной на сегодня) ветки свободной среды рабочего стола KDE. В этих статьях рассказывалось про фреймворк для взаимодействия с аппаратным обеспечением Solid, фреймворк для мультимедиа приложений Phonon и фрейворк для приложений, работающих с VoIP-телефонией и быстрым обменом сообщений Decibel.

[ Update: автором вышеуказанных статей являюсь не я ]

Сегодня я хочу рассказать про еще один фреймворк этого современного DE (Desktop Environment — рабочее окружение) — Plasma.

image

Жизнь до Plasma

Немногие догадываются, что до KDE4 актуальной веткой KDE являлась KDE3. И в KDE3 героя этого топика — Plasma еще не существовало. В третьей ветки было три отдельных компонента для отображение рабочего стола и ближашейго окружения: KDesktop, SuperKaramba и Kicker.

KDesktop отвечал за рабочий стол (отображение и позиционирование иконок, фоновый рисунок) и за прочую отображаемую графику на рабстоле у пользователя.

В поле ответственности Kicker было отображение и работа панелей на рабочем столе. Кикер обладал хорошим свойством расширяться за счет небольших программок, которые получили название аплетов (applets). К сожалению, самым большим недостатком аплетов было то, что они ограничивались только C++. То есть разработчики могли создавать аплеты только на языке Страуструпа.

И если аплеты Kicker были ограничены размещаться в рамках самого кикера, то движок виджетов SuperKaramba позволял размещать интерактивные небольшие программки непосредственно на сам рабочий стол, тем самым улучшая жизнь пользователя за счет захламления рабочего места. =)
Такие программки получили название виджетов (widget). К счастью, SuperKaramba позволяла использовать не только C++, но и скриптовые языки программирования, такие как Python, Ruby и Javascript. Изначально SuperKaramba была отдельной разработкой, но спрос на нее был настолько большим, что технологию приняли в состав KDE. Узнать виджет суперкарамбы довольно просто. Возьмите любой скриншот с KDE3, и если на рабочем столе есть отображение свободного места на жестких дисках (или другая информация о системе) или календарик, — это оно.

Время шло, дыры залатывались, новые виджеты писались… Компьютеры стали ну очень доступны домохозяйкам, что и навеяло моду гламура и других новшеств в пользовательском интерфейсе. Так, с приходом Microsoft Windows Vista, началась мода на красивые полупрозрачные блестящие интерфейсы, радующие глаз пользователя. И так уж получилось, что с выходом новой ветки другого фреймворка — Qt, на котором основывается весь проект KDE, разработчики кед (как ласково называют KDE его ненавистники и прочие) решили начать новую веху в развитии популярного DE. К сожалению для рядовых пользователей, а возможно и для прикладных разработчиков, дальнейшее развитие KDE пошло по пути не эволюционирования, а революционирования. Полностью уничтожив обратную совместимость между KDE4 и KDE3, разработчики приняли решение выстроить свое детище на нескольких основных столпах. И одним из них стала родившаяся Plasma.

Plasma

Плазма представляет собой специальный фреймворк для работы с рабочим столом KDE. С рождением плазмы больше нет нужды в отдельных приложениях — KDesktop, Kicker, SuperKaramba. Плазма просто захавала объединила все предыдущие технологии в единый движок.
Все программы, разрабатывающиеся под эгидой Плазмы, называются плазмоидами (plasmoids).

Больше не существует разделений на рабочий стол, панели, приложения. Теперь все находится в компетенции Плазмы. Если ты разработчик, то тебе не нужно больше думать, где будет работать твое творение. Создавай свой плазмоид, а пользователь уже сам разберется куда ему его «повесить».

Основная суть плазмы — функция «матрешки». Один плазмоид может содержать в себе множество других плазмоидов. Теперь рабочий стол и панель являются такими же плазмоидами, как и многовыстраданный календарик и аналоговые часы. По умолчанию Плазмоид рабочего стола содержит в себе плазмоид панели, а та в свою очередь плазмоид КМеню, Системный трей, Часы и др. В этом и заключается уникальность и универсальность Плазмы — любой плазмоид может находиться где угодно.
Плазмоид может содержать в себе не только другой плазмоид, но и все что угодно: графику (растровую или SVG), видео (OpenGL). Поэтому ничего не мешает тебе создать свой плазмоид с летающими утками. =)

Еще однм важным преимуществом Плазмы является возможность создавать плазмоиды, разделенные на две части: движок и интрефейс. Что это значит? Теперь можно написать ядро плазмоида, а затем создавать к нему интерфейсы на различный вкус и цвет, обладающие различными визуальными эффектами.

Между прочим, Плазма не имеет четкой привязки к определенному разрешению экрана. Поэтому плазмоиды будут одинаково хорошо вписываться в окружение как на 800х600, так и на 1900х1200. Это означает, что плазмоиды могут спокойно «на лету» менять свои размеры без потери функциональности.

В Плазме нет ограничений только на один язык программирования для создания плазмоидов. Помимо C++ разрабочик может использовать и скриптовые языки: Javascript, Ruby или Python. А благодаря еще одному фреймворку KDE, имеющий название Kross, количество возможных к использованию языков существенно расширится.

Помимо своих родных плазмоидов, созданных специально для плазмы, новинка KDE4 поддерживает и другие различные интерактивные миниатюрные программки:

  • Виджеты Mac OS X Dashboard;
  • Виджеты SuperKaramba;
  • Виджеты Google Gadgets;
  • Различные веб-виджеты (HTML + Javascript).

Также в будущем планируется поддежка виджетов Оперы (браузер такой).

__________________________________________________________________

Установи KDE и прикоснись к новейшим технологиям! Увидь описанное своими глазами!
(пафос-пафос)

kde.org

__________________________________________________________________

А вот и скриншот плазмоидов:

image

При написании этого поста использовался общедоступный публичный материал из англоязычной википедии, официального сайта Plasma, гугла. Кроме этого были использованы русский алфавит


Конечно, интернет дает нам огромные возможности по передаче информации. Но они не безграничны. Как вы передадите по электронной почте бандероль или оригинал важного контракта? Никак. Но все же это можно сделать быстро и не виртуально. Для этого существует экспресс доставка. В Москве передача письма или посылки от отправителя к получателю происходит за период от 1 до 4 часов. Причем, заказы принимаются круглосуточно по единому многоканальному телефону.

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