LINUX.ORG.RU
ФорумTalks

Java Gnome


0

0

Помнится мне инициатива для повышения эффективности разработки прикладных приложений для Gnome было перейти на Mono. Тоесть нужно было взять полуоткрытую-полузакрытую технологию .NET от MS, сделать из нее убогий клон, который в жизни не дотянет до уровня .NET, пилить его, а потом пихать это поделие в любимый многими десктоп, здить Столлмана и линуксоидов.

Одновременно существует готовая открытая технология Java, которая работает быстрее практически любой другой платформы (Python, Mono, Perl), разрабатывается серьезной компанией. В ней из коробки такой функционал, что можно выбросить половину библиотек в системе.

В то же время NetBeans работает совсем не шустро, несмотря на то, что Java обгоняет на бенчмарках все пайтоновские программы. И в то же время десктоп программы на Python работают прекрасно (хотя мечтаю увидеть NetBeans на python). Факт остается, Java не идеал для десктопа. Причиной тому супермедленная технология Swing, в которой 100500 абстракций. Что не приложение на Swing, так сразу сьедается куча памяти вся батарея на моем ноуте. Обратите на это внимание, когда запустите Swing поделие на ноуте от батареи. Для очевидности эксперимента запустите NetBeans и поработайте.

Мое предложение: забыть mono навсегда и продвигать инициативу java+gtk. Писал программы - они просто летают, без проблем интегрируются с Gnome L&F. Но одновременно функционал с платформой Java идет такой, что ни Qt, ни Glib & friends не могут конкурировать. Mono благополучно закапывается, Vala остается для разработки библиотек, так как на Java не сделать GObject библиотеку. Идея в том чтобы пользоваться Java без Swing, но с Gtk.

Кто что думает?

★★★★★

> злить Столлмана и линуксоидов.

fixed

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

Кто что думает?


Разрабатывая на mono получаем переносимость под венду сразу. А на Java + gtk - нет.

Вообще, надо разрабатывать приложения так:
- весь UI писать на moonlight
- писать программу-обертку, которая одновременно локальный web сервер и хостит браузер. При этом можно контент передавать через внутренний API и не открывать сокетов.

Полученный бутерброд будет:
- использовать самую современную библиотеку для UI - WPF
- легко переносим на венду
- легко переносим на web

StrongDollar
()

Да Swing ужасен.. и не только кучей абстракций но и хреновенькой реализаций аппаратного ускорения 2D. Одно время пробовал Jambi (Qt биндинг для Java, если к то невкурсе), но он почти RIP, да и реализация не блеск.. Для одного из персональных проектов юзал GTK - и ничо так, при нормально реализованной бизнес-логике GUI будет летать.

Rj45
()

Думаю что для этого стоит сначала написать вменяемый байндинг. Сейчас он на половину состоит из заглушек. Это раз.

Во вторых - надо пилить свободный AOT для джавы что бы большие программы не JITились 100500 раз.

Тогда можно будет и на десктоп.

theos ★★★
()

Vala + GTK, для небольших приложений и плагинов - Python. Java вашу вместе с монами оставьте для Ынтерпрайза.

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

> Разрабатывая на mono получаем переносимость под венду сразу. А на Java + gtk - нет. Давайте уточним какой тулкит.

1. Gtk. Автоматическая переносимость на винду есть. Но java+gtk на винду не реализовали только из-за того что угроблено время на Mono

2. Window Forms. Тоже переносимость на винду. А на Gnome нет - оп-паа! Оно там ужастно выглядит и глючит.

весь UI писать на moonlight

пожалуйста, без этих поделий. Оно не готово.

Полученный бутерброд будет:

Тормозить. Представьте на этом приложение типа NetBeans.

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

Лучше сделать хороший кеш для компилированных образов.

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

Нда? А на рабочие столы нам кеды ставить что ли? Пусть Ынтерпрайз на чём угодно для себя пишет, а юзерам вряд ли нужно, чтобы Gnome работал медленнее 4-х кед.

Divius ★★
()

Для очевидности эксперимента запустите NetBeans и поработайте.

ага, 2 часа превратились в полчаса.

java+gtk

кстати, а причем тут гтк, я думал в жаве что-то свое.

anonimbus ★★
()

Кто что думает?

думаю что толсто :)

не стоит диктовать другим людям чем им надо заниматься и чем не надо, хочет Мигель развивать моно - пусть развивает, если оно такое плохое - никто им пользоваться не станет, если оно хорошее - пусть живёт

shty ★★★★★
()

>который в жизни не дотянет до уровня .NET

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

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

>3-4 несовместимые версии

Несовместимость вроде только 1.1 => 2.0. Дальше обратно своместимы. Так что только две - да и то под первый дотнет совсем мало уже осталось приложений.

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

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

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

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

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

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

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

С педивикии:
".NET Framework 3.5.
In addition, it installs .NET Framework 2.0 SP1 and .NET Framework 3.0 SP1"
Вот такой зоопарк :) Скоро 4.0 будет, бедные вендузятники...

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

>в каждом линупсе стоит по 100500 версий пистона

внезапно, у меня только одна версия и все работает :)

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

>нет конечно, гораздо лучше как в java
жабу не трогай, она ынтерпрайзна, и на ней ЛОР работает :)

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

Ну с Windows Update чего бы этому хозяйству не обновляться.

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

Разрабатывая на mono получаем переносимость под венду сразу. А на Java + gtk - нет.


А зачем здесь gtk? java везде переносица и без gtk. Mono не нужно, тем более под венду, наверняка оно там уступает нативному .net в использовании gdi+

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

- легко переносим на web


OMG! И как же поисковики будут индексировать содержимое страниц в этом moonlight?

Karapuz ★★★★★
()

Обратите на это внимание, когда запустите Swing поделие на ноуте от батареи. Для очевидности эксперимента запустите NetBeans и поработайте.


Заниматься разработкой на гаджете от батарейки это разновидность патологии под видом садомазохизм. Уж подключайте к сети тогда ноутбук

Karapuz ★★★★★
()

Просто не знаю чему удивлятся

твоей изобретательности или твоей неосведомленности (c)

SWT же.

Под linux ето и будет java+Gtk. Со всеми вытекающими L&F :)

kamikadze
()

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

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

Там есть свое, Swing`ом зовется, но оно люто-бешено убого. Потому и стали всякие биндинги стряпать


Олололо, так тололололосто

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

как же поисковики будут индексировать содержимое страниц

в этом moonlight?


Ты не поверишь - там этот вопрос специально продуман - текстовый контент преоставляется в XML (точнее в его разновидности - XAML) и прекрасно индексируется.

ArsenShnurkov
()

Во-первых, чем Vala хуже Java? Во-вторых, валу придумали именно для того, чтобы писать на родном для гнома языке. Без всяких обёрток.

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

которого у каждого правоверного вендузятника должно стоять в системе по 3-4 несовместимые версии,



Ну не правда же
h:\Windows\Microsoft.NET\Framework64\v2.0.50727\   79 178 621
h:\Windows\Microsoft.NET\Framework64\v3.0\   13 854 503
h:\Windows\Microsoft.NET\Framework64\v3.5\   7 691 460
Только вчера поставил нулёвую семерку, в каталогах 3.0 и 3.5 просто новые либы для новых фич. Хотя я .net расово неперевариваю, да

Karapuz ★★★★★
()

Это такой тонкий способ рипнуть гнома? :}

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

гораздо лучше как в java - замесить и нарубить все версии



тололололололосто же

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

С педивикии: ".NET Framework 3.5. In addition, it installs .NET Framework 2.0 SP1 and .NET Framework 3.0 SP1" Вот такой зоопарк :) Скоро 4.0 будет, бедные вендузятники...

Всё это есть искаропки на свежих ОС (Vista и 7).

По сути же нужно два несовместимых фреймворка: - версия 1 - версия 3.5 (по сути 2.0 + дополнения)

С выходом четвёртого будет ещё один. Не вижу беды.

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

Да ты не понимаешь просто. Из трех одна это базовая, а две - это наборы либ. Там же я привел размеры, 70Мб, и 17 и 9, есть разница?

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

Настоящие матёрые вендузятники кодят на Delphi7, и не тащут в систему всякие кандидаты в релизы

Karapuz ★★★★★
()

А по-моему это NetBeans довольно криво написан. Недавно поставил JDeveloper, так он по сравнению с NetBeans просто летает.

eternity
()

> Мое предложение: забыть mono навсегда и продвигать инициативу java+gtk.

Не выйдет: эта связка не удовлетворяет говноедским вкусам мигельки и его приспешников.

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

Согласен.. В сетевых бобах есть косяки в работе с файлами (долго сканит проекты), зато ололо какой функционал. Кстати пробовал Idea - местами притормаживало но в общем нормально, для себя выбрал Eclipse.

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

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

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

Я же несколько раз рассказал почему gtk. Потому что графический интерфейс на нем легковеснее и лучше интегрируется с gnome. Swing - толстый.

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

Я пришу код в холлах и в аудиториях университета, в парках и просто на кровати где не достает розетка. А вот когда еду со столицы к родителям в гости, то у меня 3 с половиной часа есть. Ну как не кодить?

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