Есть ли лучший Java-фреймворк, чем Swing? - PullRequest
6 голосов
/ 14 февраля 2009

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

NetBeans теперь поставляется в комплекте с Swing Application Framework , который представляется очень полезным инструментом. Это помогает преодолеть пропасть между знанием того, как создать JFrame и как эффективно его использовать в контексте более крупного приложения. Проблема в том, что есть большие части API, полностью недокументированные, и практически нет документации о том, как его использовать. В FAQ есть только два вопроса, списки рассылки практически мертвы, и я даже не могу сказать, активно ли разрабатывается проект или он был заброшен. Мне удалось начать работу с ним, основываясь в основном на двухлетней презентации JavaOne , размещенной на домашней странице проекта.

Есть ли лучшая альтернатива? Есть ли другой инструмент / библиотека / API, который делает то же самое немного более дружественным для новичка способом? Обратите внимание, что в настоящее время я планирую разрабатывать настольные приложения и не ищу J2EE-фреймворки, такие как Spring и Hibernate.

Ответы [ 5 ]

5 голосов
/ 14 февраля 2009

базовые принципы для создания хорошего рабочего стола одинаковы для создания веб-приложений или приложений для предприятий. Таким образом, ядро ​​Spring или других сред, таких как OSGi или PicoContainer , можно легко использовать за пределами J2EE. Например, Eclipse использует OSGi в качестве своей внутренней структуры. Первоначальное использование шаблона Model-View-Presenter (MVC) было для графических виджетов Smalltalk.

Фактически, для себя я впервые нашел и работал со средами «IoC» (задолго до весны) именно потому, что искал инфраструктуру и принципы организации для разработки приложений для настольных компьютеров.

Обновление RCP

Я вижу, что некоторые люди рекомендуют Eclipse RCP или Netbeans. Я провел немало разработок в Eclipse RCP, и для некоторых классов приложений это здорово. Тем не менее, кривая обучения очень крутой, и набор функций может быть намного больше, чем вам нужно. Имейте это в виду для любой структуры, которую вы исследуете.

4 голосов
/ 14 февраля 2009

Для более полных рамок:

Возможно, платформа NetBeans http://www.netbeans.org/kb/trails/platform.html

Или Затмение RCP http://www.eclipse.org/articles/Article-RCP-1/tutorial1.html

3 голосов
/ 14 февраля 2009

Для библиотеки с графическим интерфейсом я бы склонялся к SWT . Eclipse поддерживает его и использует для своей IDE. Я верю, что Азуреус тоже это использовал. Хорошо выглядит на нескольких платформах и довольно прост в использовании.

2 голосов
/ 15 февраля 2009

Если бы я сегодня запускал настольное приложение на основе Java, я бы использовал JavaFX.

http://en.wikipedia.org/wiki/JavaFX

0 голосов
/ 14 февраля 2009

Вы также можете использовать Java-привязки Qt. Qt - это мультиплатформенная среда C ++, которая, на мой взгляд, является одной из самых читаемых объектных моделей для проектирования GUI.

Загляните на веб-сайт Trolltech (Nokia) Qt .

Вы можете увидеть demo (который также имеет исходный код) с помощью функции Java Web Start. Это дает хорошее представление о том, что можно и нельзя делать, и как выглядит исходный код.

...