Java-приложение для настольных компьютеров с пружиной и гибернацией?
Мне нужно разработать Java-приложение для рабочего стола, и я привык работать в веб-архитектурах Java, используя jsf spring jpa и hibernate.
Поэтому мой вопрос в том, какая технология является лучшей для создания настольного приложения, о котором я думал, используя JIDE с Spring Rich клиентом и построив архитектуру на уровне дерева.
Можете ли вы люди сказать мне, что вы думаете об этом? любая другая хорошая технология, учебники способ начать и т. д. спасибо... =)
7 ответов
Технологии, которые вы можете искать
Eclipse RCP (я думаю, что это также может быть легко преобразовано в Ajax-приложение Eclipse RAP для просмотра при необходимости)
Adobe AIR (если вы хотите иметь классный интерфейс)
JavaFX
Прямо сейчас я бы заглянул в JavaFx. Это выглядит очень многообещающе. У меня нет личного опыта с этим, но у меня было бы это в моем "проверить" список, если бы я был на вашем месте. Это довольно новое, хотя так что будьте осторожны
Еще одним хорошим вариантом для создания настольных приложений является Vaadin.
Он предоставляет модель программирования в стиле Swing поверх GWT, очень хороший набор компонентов, множество дополнений и хорошую профессиональную поддержку. В последнее время они активно продвигали продукт на всех конференциях Java. Конечно, стоит попробовать!
Я бы посоветовал вам взглянуть на проект Eclipse RCP.
Но вместо того, чтобы идти по маршруту "Классический RCP", вам гораздо лучше взглянуть на Eclipse 4 и проект инкубатора e4, который он окончил.
Eclipse 4 RCP должен показаться вам достаточно знакомым по духу, если не по API, если вы родом из Spring.
Он имеет сервис-ориентированную архитектуру, построенную на превосходном контейнере Equinox OSGi, который во многом напоминает Spring, если вы используете декларативные сервисы.
Он также имеет очень чистое основанное на модели определение макета приложения, которое открывает гибкость и возможность компоновки, что может легко превзойти любую веб-среду, с которой я когда-либо работал (которая, по общему признанию, не говорит много).
При написании компонентов пользовательского интерфейса вы можете легко положиться на простой и функциональный DI, позволяющий поддерживать связь с платформой на минимальном уровне, как это абсолютно необходимо.
Spring Rich Client: Дата последней версии: as 2009-06-23: Release 1.1.0
, Предпочтительно использовать библиотеки, которые поддерживаются регулярно.
Это ужасная идея - разрабатывать / проектировать пользовательские компоненты или элементы управления пользовательского интерфейса с помощью инструментов перетаскивания. В конце концов, это будет просто трата времени. С каждым днем становится все труднее поддерживать эти компоненты. Но, очевидно, это спорно.
Ты действительно думаешь JIDE
, это будет хороший компромисс по сравнению со значением JIDE
может предоставить со сложностью трудно поддерживать код?
Для нашего приложения Java Desktop мы используем API JGoodies FormLayout и BSAF (Better Swing Application Framework). До сих пор приложение работает хорошо.
ОБНОВИТЬ
Не забудьте использовать Dependency Injector, как Spring/Guice. В противном случае вы будете жить в аду, я верю.
Хорошей отправной точкой для BSAF может быть: Использование инфраструктуры приложений Swing и для JGoodies: PDF Document
Другим вариантом является Eclipse Rich Client Platform. Представьте, что вы можете удалить из Eclipse IDE все, что связано с разработкой Java: вы получите скелетное приложение, которое можно настроить по своему вкусу, используя те же библиотеки, которые были созданы командой Eclipse. Ваше приложение будет иметь архитектуру плагинов, перспективы, представления, возможности обновления и так далее.
В этот день я бы держался подальше от толстого клиента. С развитием HTML5 я бы перешел к более AJAX-решению. Проверьте GWT и Echo3. GWT является ТЯЖЕЛЫМ, но предоставляет полный набор инструментов, особенно с набором инструментов GXT. Echo3 очень лёгкий, но в нем отсутствуют некоторые мощные функции, которые вы, вероятно, хотели бы иметь. Echo3 также предоставляет поддержку для запуска своих приложений на рабочем столе.