LINUX.ORG.RU

критика dbus?


0

0

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

★★

>аля "dbus говно и умирает"
Это тебе местные мамонты из текстовой консоли через lynx наверное написали, а у нормальных людей ничего не умирает.

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

осадочек остался. ну и хочется знать, куда все движется - вдруг все de-команды давно перессорились или на горизонте есть что-нибудь еще ( какой-нибудь IPCkit ).

volh ★★
() автор топика

> правильно ли я понимаю, что раз dcop и bonobo умерли, обычной для линукса каши и nih не будет?

Будет. Она появится оттуда, откуда её никто не ждёт :)

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

>чтобы его юзали программы вне gnome и kde. http://www.freedesktop.org/wiki/Software/DbusProjects как-то маловато.

Что за ерунда, сейчас все больше и больше программ используют dbus. Например frameworkd (FSO) полностью через dbus работает. И множество других крупных проектов.

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

>А ты с ним поработай, родной, сразу почуешь.

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

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

>Что за ерунда, сейчас все больше и больше программ используют dbus. Например frameworkd (FSO) полностью через dbus работает. И множество других крупных проектов.

меня интересуют немного другие проекты - десктопные программы, предоставляющие сервисы. рсс-читалка, музыкальный проигрыватель, im-клиент, younameit. но топик не совсем об этом.

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

> А ты с ним поработай, родной, сразу почуешь.

Расскажешь, что почуял, или предпочтешь остаться треплом^Wмудрецом, который не снисходит до прямых ответов?

tailgunner ★★★★★
()

Конечно, плохой стандарт лучше кучи хороших... Но хотелось бы нормальный стандарт.

Например, почему адреса начинаются с org.freedesktop я так и не понял. Реклама что-ли?

И туториала до сих пор у них внятного нет(зато есть incomplete, has stuff on several bindings and reimplementations).

true_admin ★★★★★
()

Ну, к сожалению, он скорее развивается, чем умирает.
Мне не нравится низкая производительность и страшный api у dbus.

snizovtsev ★★★★★
()

Кстати, мы у себя на предприятии реализовали отличные биндинги для D-Bus на C++, думаю выложить на google code. Из вкусностей: * автоматическая генерилка XML описания объекта, пишешь нечто типа register_method(&my_method, «int my_method(int, double)»); * набивка сообщения потоковым оператором message << «hello» << 10; * возможность асинхронной и синхронной обработки сообщений * не используется Qt :), только STL, boost.

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

Нет там обязательного правила называть org.freedesktop. Эти имена обычно используются для интерфейсов, стандартизированных проектом freedesktop, так что логично.
Туториал неполный и описания недостаточно чёткие, но это широкораспространённая проблема среди открытых проектов, так что не страшно.
Что до плохого стандарта, то в общем сложно сказать. Corba безусловна хороша, и хотелось бы чтобы именно она победила. Но obrit был не так уж хорош, а хороший стандарт без хорошей реализации - какой смысл? DCOP, в общем был прост, как и D-Bus, этим D-Bus и победил - простотой.
Не всем приложениям подходит, не подходит для удобной компонентной разрабтки в стиле XPCOM, Corba и тд. Но пока и не особо видно приложений, которые бы захотели себя разрезать на кучу компонентов. Из всех крупных проектов - только xulrunner, а у него уже есть своя платформа. Так что в общем - D-Bus заняла широкую нишу и никуда в ближайшее время не уйдёт.

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

Низкая производительность через шину? Попробуйте без неё. Без шины производительность впринципе не хуже orbit на unix socket. Конечно хотелось бы возможности без шины и через shared memory, но опять же - никто не мешает реализовать такой транспорт для dbus. Это уже вопрос не архитектуры, а скорее реализации. Также как и проблема orbit была скорее не в Корбе, а в самом orbit.

ixrws ★★★
()

> неоднократно видел здесь комментарии аля "dbus говно и умирает", но вот дальше дело как-то не заходило.

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

isden ★★★★★
()

> правильно ли я понимаю, что раз dcop и bonobo умерли

да, и на их смену как раз таки и пришел dbus.

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

> меня интересуют немного другие проекты - десктопные программы, предоставляющие сервисы. рсс-читалка, музыкальный проигрыватель, im-клиент, younameit.

да, в кедах и гноме все эт очерез dbus и связывается.

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

Посмотри их тутториал: http://dbus.freedesktop.org/doc/dbus-tutorial.html . Если ЭТО отторжения не вызывает то ты сможешь это юзать.

С SunRPC я почти не знаком, но мне оно показалось сильно проще и логичнее. SunRPC по сети работает, какую-то авторизацию поддерживает.

А dbus обычная централизованная шина работающая через unix-сокет(по сети работу даже не рассматриваю, разрабы сами грят что это не юзабельно). Аутентификации нет.

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

проблемы похоже у тебя, с пониманием. Адреса начинаются с того, чего ты захочешь. А если не захочешь, то с цифр.

alex_custov ★★★★★
()

dbus излишне сложен, и является частным решением, примерно как pulseaudio. По поводу «умирает» не знаю.

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

+1. хотя подозреваю, что общее решение будет еще более сложным

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

Адреса начинаются с того как их сделал программист. У большинства популярных прог пути начинаются с этого префикса. В чём профит?

Исходники видел этого dbus? Вообще под него писал? Попытка даже минимальный рабочий пример написать растянулась на два дня перечитывания их архива почтовой рассылки и ковыряния в его исходниках. Проект, между прочим, ох какой немолодой, понаписали там дохрена и я, например, разобраться как оно внутри работает не смог.

bloatware.

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

Приложения по разному используют dbus. Некоторые юзают интроспекцию и пути генерятся автоматом. Некоторые приложения реализуют стандарты freedesktop, и они как следствие юзают пути org.freedestop. Однако это прихоти разработчикв и к самой dbus отношение имеют только базовые интерфейсы.
Исходники вполне хорошо читаются, хотя мне вот совершенно не ясно зачем они запихали обработку сообщений в библиотеку, мало того что их диспетчер неудобен, так их обработка плохо дружит с многопоточностью, вполне можно было это выделить в отдельную либу. Но это уже тоже вопрос другой, организационный.

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

>dbus излишне сложен, и является частным решением, примерно как pulseaudio.

почему ж везде пишут что он был в итоге выбран всеми именно из-за своей простоты?

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

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

>dbus уже умер. Сейчас все используют асинхронную отправку s-expression'ов.

>http://www.newlisp.org/downloads/newlisp_manual.html#send ;)


да ради б-га, я в руби тоже drb использовал и горя не знал. когда все будут пересылать друг дружке sexpы, позови.

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

>У большинства популярных прог пути начинаются с этого префикса. В чём профит?

ну каких, например. ktorrent? avahi?

>Исходники видел этого dbus?


нет

>Вообще под него писал?


писал

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

> почему ж везде пишут что он был в итоге выбран всеми именно из-за своей простоты?

потому что все остальное было сделано еще более через жопу.

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

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

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

>а чтобы понять, чем плох dbus, достаточно посмотреть man dbus-send

а что там непонятно или сложного? вполне себе все осмысленно.

А вообще, концепция у dbus очень хорошая. Есть куча всякого говна, которое меж собой должно взаимодействовать, посему должен быть слой интеграции. Вообще, если кто-либо проектировал HLD для больших систем в dbus видит лишь повторение простого ESB, только в применении к рабочему окружению вашей системы.

Deleted
()

Можешь у Витуса почитать ещё на эту тему

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