LINUX.ORG.RU

Разработка приложений с использованием «Java GNOME» Bindings.


0

0

Джон Райс в своей статье рассказывает, как легко и просто можно интегрировать Java-приложения в GNOME Desktop, используя биндинги "Java GNOME" к системным библиотекам GNOME и Cairo.

"Java GNOME" Bindings являются неким аналогом библиотеки Eclipse SWT, то есть, используя "прослойку" -- механизм Java Native Interface (JNI) -- приложение строит свой визуальный интерфейс из нативных компонентов-виджетов GTK, события от которых обрабатываются внутри Javа-приложения.

Родная тема "Nimbus" для JFC/Swing пока находится в стадии разработки и полностью не готова (см. недавнюю статью). Автор указанной статьи на примерах показывает, что использование такой же, но нативной (!) темы GTK в Java-приложениях вполне реально. При этом Java-приложения будут выглядеть и вести себя точно так же, как любое другое приложение, написанное на языке C для среды GNOME.

>>> http://developers.sun.com/solaris/articles/java_gnome/

★★★★★

Проверено: Shaman007 ()

Как мне потом запустить такое приложение, требующее GNOME байндингов, под Виндой?

anonymous
()

Это как в Azureus'e - клиент кроссплатформенный, но тащит за собой мешок платформозависимых библиотек для отрисовки интерфейса- который ни разу не вписывается в KDE и жрет дополнительные ресурсы. Нет уж, спасибо конечно за беспокойство, но обойдемся без гнома как-нть. А иначе какой смысл в фразе "кроссплатформенная ява", если она от таких вот улучшений становиться ещё более тормозной и непереносимой?

shahid ★★★★★
()

По моему эти биндинги только для сановской версии гнома и под солярис

оффтопик: господи ну почему же сан отказались поддерживать дальше CDE..

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

>оффтопик: господи ну почему же сан отказались поддерживать дальше CDE..

отставить нытьё...
даже на старом сервере сана в универе 4 проца по 450 Mhz и 4 гига оперативы
так что всем любить яву ж)

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

>даже на старом сервере сана в универе 4 проца по 450 Mhz и 4 гига >оперативы >так что всем любить яву ж)

да не в джаве дело, сан &ко фактически забили на CDE а она на порядок удобнее в работе.Не говоря уж о скорости

signal
()

Дык а если в Гноме поменяли тему - Джава проги уже не будут отображаться как остальные окошки.

Что меня и бесит в Джаве - неужели разрабы не могли написать либы для получения настроек окошек прямо из системы? На каждую ось/оболочку по либе. Итого вышло бы не больше пяти либ.

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

>Дык а если в Гноме поменяли тему - Джава проги уже не будут отображаться как остальные окошки.

Нет.

Java-приложения с биндингами будут использовать текущую тему GTK. Просто в статье приведён пример с нативной гэтекашной темой "Nimbus".

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

>s/"прослоку"/"прослойку"/

Хотел исправить, но не могу. Прав нет на правку.

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

>так что всем любить яву ж)

да ну ее на хрен. Почитал я тут ветку где обсуждается движок лора, мол винтов там не хватает, памяти, етс, посмотрел на .. инвижн, который стоит у хостера моего, и какие там загрузки (и какие базы), плюс несколько сайтов крутится (с нехеровой посещаемостью) + icecast2, (под 800 потоков 96кбс огг ворбис), и все это на обычном пне4 с гигом и сата... и попытался прикинуть что нужно что бы это самое крутилось бы на жабе... не асилил (видать порядок цифр в мозг не влез).

Не, я не ратую за пхп, сам его ненавижу, но... Совесть то иметь надо, а ? (про жабу)

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

String className = javax.swing.UIManager.getSystemLookAndFeelClassName();
System.out.println("Setting UI to " + className);
try{
   javax.swing.UIManager.setLookAndFeel(className);
}catch(Exception e){
   System.out.println("Setting naitive UI failed");
}

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

>По моему эти биндинги только для сановской версии гнома и под солярис

Да вроде нет (Fedora 6) - есть такие пакеты:
cairo-java - Java bindings for the Cairo library
glib-java - Base Library for the Java-GNOME libraries
libglade-java - Java bindings for libglade
libgconf-java - Java bindings for GConf
libgtk-java - Java bindings for GTK+
libvte-java - Wrapper library for GNOME VTE
libgnome-java - Java bindings for libgnome

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

всё правильно. этим биндингам 100 лет в обед. аноним для галочки возмущался

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

>Как мне потом запустить такое приложение, требующее GNOME байндингов, под Виндой?

А зачем?

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

Задрали со своей жабой!! >8E Может пора уже прислушаться к большОй части посетителей лора, ну сколько можно жабы то, более интересных новостей совсем нету чтоли?

anonymous
()

Статья подразумевает java-gnome-2.x, который больше *не* разрабатывается и *не* поддерживается. Ничего не сказано, про новый java-gnome-4.0. Совершенно странно, что в статье нет ссылки на java-gnome.sf.net, которая по хорошему должна быть в первом же параграфе и как минимум в конце. Написана она как будто для галочки.

Надеюсь, автор новости понимает, что между java-gnome и swt нет ничего общего, и о разнице кстати в статье четко сказано.

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

>String className = javax.swing.UIManager.getSystemLookAndFeelClassName();

Это не биндинг. Swing не использует биндинги к нативным контролам!

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

>Надеюсь, автор новости понимает, что между java-gnome и swt нет ничего общего, и о разнице кстати в статье четко сказано.

Не вижу принципиальной разницы между SWT и "Java GNOME" Bindings: и там и там внутри библиотек используется JNI для вызова функций инстанцирования системных виджетов GTK и управления ими.

Объясните разницу, будьте любезны.

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

Осталось переписать Моно на Жабе (или наоборот) и добавить туда поддержку DirectX. Тогда и случится долгожданный вендекапец, просто от столь вопиющего маразма многострадальной реальности.

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

SWT - это кроссплатформенный GUI toolkit для Java, который использует популярные widget toolkits на разных платформах как backend'ы, например, Motif, GTK+, Photon, Carbon, ... Java-Gnome - это просто bindings к GTK+ и библиотекам Gnome, которые есть практически для каждого языка.

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

>и попытался прикинуть что нужно что бы это самое крутилось бы на жабе... не асилил (видать порядок цифр в мозг не влез).

а вот они осилили. это самый мощный кластеризующийся форум в мире. стоит какие то невообразимые килобаксы, и его хорошо покупают. смотрим какие у них кастомеры.

http://www.jivesoftware.com/products/forums/index.jsp http://www.jivesoftware.com/pricing/index.jsp http://www.jivesoftware.com/customers.jsp

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

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

ЗЫ прекращайте неделю джавы на лоре. ;)) я устал неправедно осмеиваемую джаву защищать.

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

>SWT - это кроссплатформенный GUI toolkit для Java, который использует популярные widget toolkits на разных платформах как backend'ы, например, Motif, GTK+, Photon, Carbon, ...

Да. Но это не показывает принципиальной разницы между SWT и "Java GNOME" в управлении виджетами через JNI.

Например, Eclipse для Windows использует нативные вызовы к comctl3d.dll, а Eclipse для Linux использует нативные вызовы к libgtk.so.

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

> Может пора уже прислушаться к большОй части посетителей лора, ну сколько можно жабы то, более интересных новостей совсем нету чтоли?

У меня на этот счёт есть теория, что некоторые по старой детской привычке пытаются поцеловать жабу в надежде получить из неё не то принца, не то царевну. Но поскольку целовать надо в мордочку, а жаба то и дело поворачивается задом...

AP ★★★★★
()

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

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

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

Дык, написали. swt называется. Только "окошки" у разных "осей/оболчек" очень разные, по этому и обобщающий результат получился небогат по возможностям.

atrus ★★★★★
()

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

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

Видите ли, дорогой друг, отношения между пользователями софта на жабке и разработчиками этого софта можно описать известным восклицанием "Если вам так хорошо, то почему нам так плохо?".

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

Я прекрасно понимаю, что это цена за надёжность и, мнэээ, энтерпрайзность :) Но в критические моменты эта цена становится слишком высокой.

Так что целуй жабку, не целуй... :)

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

с жабкой не связано.

у меня slickedit есть, писанный на C++, так вот, он простой rename рефакторинг делал в районе часа и отожрал для этого 800 мб памяти. в то время как вражеский VS c ref++ плагином (тоже не на джаве) справляется мометально. кого мне винить ? С++ ? или все таки криворуких разработчиков slickeditа?

тестовый проект был Psi-0.10, переименовывал я класс AccountManageDlg в AccountManageDlg2, slickedit был 11.02.

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

>vim,nano,emacs.... )))

никто из них ни то что рефакторинга, "intelliscense" нормально не умеет. emacs - алгоритмический ужас.

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

вабще slickedit качественный во всем кроме рефакторинга и русского языка.

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

Еще пара новостей про Java и большая часть неадекватных онанимусов, поклонников пых-пыха и перла захлебнется в своей желчи :)

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

Может быть вы-таки не умеете готовить ни vim ни emacs ни slickedit ни даже студию? А вот сюда вы пришли чтобы увеличить содержание газа в лужах.

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

Джава тормозит? А вот на гугле - не тормозит. И пользователей - десятки миллионов. Можно хоть сейчас проверить. Вот так...

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

+1

------

По теме. Прочитал. Интересно. Однако, SWT пока мне вполне хватает.

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

>а вот они осилили. это самый мощный кластеризующийся форум в мире. стоит какие то невообразимые килобаксы, и его хорошо покупают. смотрим какие у них кастомеры.

сейчас все хорошо покупают. Речь шла не о масштабируемости жабаподелок, а о ее кровожадности к ресурсам. Чуешь разницу то ? ы ?

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

какая неумелая под[..]бка %) Слушай, умные дядька у нас всех тока один - билли, вон он какое Бабло делает, наверное это от того что винда охрененно качественная, быстрая и надежная система, ага %)

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

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

>Дык а если в Гноме поменяли тему - Джава проги уже не будут отображаться как остальные окошки.

Java6 uzhe ispol'zuet "rodnye renderery". To est' Swing dlya prorisovki "lezet" v gtk/windozu/... i podhvatyvaet ot-tuda temy.

Spasibo.

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

>Джава тормозит? А вот на гугле - не тормозит. И пользователей - десятки миллионов.

"Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc.

"Google uses Python for many tasks including the backends of web apps such as Gmail and Google Maps and for many of its search-engine internals"

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

а вааще мне кажеццо у них сам движок написан не на чем либо одном, и наиболее критичные к перфоменсу куски уж точно не на жабе, питоне и проч, скорее ниже что-то.

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

> Как мне потом запустить такое приложение, требующее GNOME байндингов, под Виндой?

Ну причем тут винда? Читаем еще раз:

"Джон Райс в своей статье рассказывает, как легко и просто можно интегрировать Java-приложения в GNOME Desktop"

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

>Учить матчасть:

Анонизмус, а теперь обьясни плиз связь между webtoolkit, и тем предположением что поисковый движок гугла написан на жабе %-)

Как бы тебе обьяснить, ну просто у таких проектов как гугл не может быть одного языка для реализации, webtoolkit это одно, предположим там морду тебе нарисовать в гмыле, (там вроде как жаба с пистоном напару трудяццо), а движок поисковый - это уже другое, а, к примеру, обработка статистики какой нить - третье, ну и т.п., че за похабная привычка свою жабу то в каждую щель пихать ? Речь же выше шла о поисковом движке гугла.

anonizmus
()

Следующая неделя будет неделей пхп?

anonymous
()

Лучше бы они не изобретали велосипеды, а доработали SWT.

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