Нужен обзор современной Java для настольных приложений - PullRequest
4 голосов
/ 09 февраля 2010

Меня попросили написать кроссплатформенное настольное приложение на Java. Целевые платформы: Windows / OSX / Linux.

Я изучил Java 1.1 1997 и выполнил несколько небольших утилит и апплетов, используя библиотеку AWT. С тех пор я ничего с этим не сделал.

Какие современные технологии и библиотеки я должен использовать для этого проекта? Я просто ищу список, чтобы связаться с Google. Там много java, и постороннему трудно все это понять.

Кроме того, есть ли у вас общие советы по распространению, установке и автоматическому обновлению?

Чтобы дать вам представление о моем прошлом, с 1988 года я пишу сложные настольные приложения на C, C ++, Visual Basic, Delphi и C #. Любые советы, которые вы мне дадите, действительно помогут мне начать этот проект.

Большое спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: Я буду делать много пользовательских элементов управления, если это имеет значение.

Ответы [ 9 ]

4 голосов
/ 09 февраля 2010

Базовое решение: Свинг против SWT против. JavaFX (я бы пошел с этим, возможно, в сочетании с Swing).

Что касается «мягких» других аспектов (в дополнение к тому, что уже было упомянуто):

4 голосов
/ 09 февраля 2010

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

Существует множество других библиотек общего назначения, которые могут быть полезны, например, Гуава и Коллекции Apache Commons , но их можно смешивать и подбирать, чтобы решение не было столь критичным.

2 голосов
/ 09 февраля 2010

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

Большинство изменений / дополнений в языке Java должны казаться знакомыми, поскольку в C # есть много таких же функций.

Если вам не нравится C # лямбда, проверьте LambdaJ

Кроме того, что были упомянуты самые важные вещи, поэтому я выскажу свое личное мнение о них:

  1. Я бы сказал, использовать Свинг более SWT

  2. Я бы посоветовал вам взглянуть на Затмение и Netbeans , чтобы увидеть, какая среда более комфортна развиваться в. Но я думаю, что вы можете найти больше сходства между Visual Studio C # и NetBeans , чем между VSC # и Eclipse

  3. Если вы нужна расширенная проверка компонентов графического интерфейса сначала выйдет SwingX.

Кроме того, помимо переполнения стека, большим ресурсом является Java2s , Java2s - Swing

1 голос
/ 09 февраля 2010

Swing - это уже хорошая технология для работы. Но немного проблематично понять основные понятия в начале.

Вы можете прочитать Swing Architecture , которая даст вам очень хорошее понимание того, что происходит за кулисами.

Обучающее руководство по необходимо прочитать.

И, наконец, как только вы хорошо разберетесь в структуре, вы сможете обойти эту книгу:

http://filthyrichclients.org/images/book.png

со страницы описания:

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

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

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

В этой книге есть несколько тем, которые вы можете изучить, чтобы улучшить внешний вид своего свингового приложения.

Существует подключаемый модуль NetBeans для демонстраций

Например, , в этой статье описывается, как применить некоторые из этих концепций и создать занятую панель, например:

alt text
(источник: javalobby.org )

1 голос
/ 09 февраля 2010

SWT - это библиотека, которую вы можете использовать. И Затмение для IDE.

0 голосов
/ 10 февраля 2010

Проект Spring Rich Client - это полная среда на основе Swing для создания настольных приложений на основе Spring, аналогичная Eclipse и NetBeans. Я использую его, потому что это значительно уменьшает количество кода, необходимого для котельной пластины.

0 голосов
/ 09 февраля 2010

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

Для нового приложения это был бы хороший выбор. Groovy и Griffon работают на виртуальной машине Java и могут быть развернуты кроссплатформенно.

0 голосов
/ 09 февраля 2010

Кроме того, у вас есть общие советы по распространение, установка и автоматическое обновление

Java Web Start является хорошим решением для этого.

0 голосов
/ 09 февраля 2010

Помимо Swing, SWT и платформы NetBeans есть несколько других слов, которые вы должны Google:)

  1. JIDE (компоненты)
  2. SwingX (компоненты)
  3. Вещество (Look n Feel)
  4. FEST (автоматизированный каркас тестирования для свинга)
  5. JXLayer (декорирование компонентов)
...