2009-02-14 3 views
6

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

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

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

ответ

5

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

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

Обновление на RCP

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

+0

Я использовал Eclipse в далеком прошлом как IDE и недавно использовал Netbeans, где я нашел Spring AF в первую очередь. – eaolson

3

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

+0

SWT не рамочный GUI, это виджет инструментарий. Более того, это полная альтернатива Swing. Я считаю, что 'eaolson' ищет больше рабочего стола, эквивалентного веб-фреймворкам, таким как Struts, Wicket и т. Д. Если он использует SWT, тогда он должен рассмотреть Eclipse RCP, который является _is_ полной каркасной. – jaaronfarr

0

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

Посмотрите на Trolltech (Nokia) Qt website.

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

+0

Обе ссылки в ответе мертвы. – Pang

Смежные вопросы