Какой использовать: Java Swing или GTK + для настольного приложения GNOME? - PullRequest
2 голосов
/ 22 января 2011

Я подумываю о разработке настольного приложения GNOME с графическим интерфейсом пользователя. Я знаю, что GTK + - это первый выбор, особенно при разработке для среды GNOME. Конечные пользователи также считают GTK + лучшим выбором для приложений, которые они используют. Однако я обдумываю будущие улучшения: что если моему приложению понадобится порт для других сред или ОС, таких как KDE, Mac или Windows? Какой лучший способ пойти: Java Swing (потому что он не зависит от платформы) или GTK +?

Ответы [ 4 ]

5 голосов
/ 22 января 2011

Используйте GTK +.Он также доступен для Windows, если вы когда-нибудь захотите его портировать, и намного лучше интегрируется с gnome.

4 голосов
/ 23 января 2011
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI( this );

На * nix вариантах, которые должны производить GTK PLAF в Swing. В Apple (1) он, вероятно, создаст тему с именем «Aqua», а в Windows (1) это будет что-то вроде «Windows».

1) Я сомневаюсь, что пользователи Windows или Apple хотят видеть приложение «GTK look». на их столе. ;)

3 голосов
/ 22 января 2011

Мои пользователи обычно предпочитают Swing, но приложения GTK поддерживать кроссплатформенность чуть сложнее.

GTK не работает на Mac OS X;

GTK и его зависимости могут быть созданы с использованием MacPorts , а популярные инструменты с открытым исходным кодом, такие как Gimp и Inkscape , включают необходимые библиотеки в комплект приложения.

для установки требуется X-сервер.

X11 для Mac «полностью интегрирован с Mac OS X».

Приложение: Как отмечает @ptomato, portfile предлагает варианты как Quartz, так и X11.

1 голос
/ 22 января 2011

Ответ зависит от того, что вы на самом деле хотите.

Библиотека GTK встроена в среду Gnome: если вы хотите разработать приложение для Gnome, используйте GTK.

Если вы не очень заинтересованы в том, чтобы дать пользователям Gnome естественный вид, тогда используйте все, что захотите (GTK, Swing, Qt, wx ...).


Кстати, если вы хотите, чтобы мое личное мнение, я предпочитаю GTK. Мне лично не нравится Swing, особенно когда он пытается эмулировать внешний вид GTK.

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