Как выбрать GUI Framework для проекта настольного приложения

Я работаю над новым небольшим служебным настольным приложением, но на самом деле я не могу выбрать структуру графического интерфейса для использования. Я работал как с JAVA, так и с C# и C++, так что язык на самом деле не является ограничением. Мои критерии: -

  1. Очень хорошо спроектированная архитектура, что-то вроде QT. Лучше, если он будет следовать типичным методологиям проектирования C++.
  2. Управление макетами должно быть простым, интуитивно понятным и не очень громоздким. Я ненавижу корректировать пиксели на экране.
  3. Его лицензия должна быть открыта.
  4. Должно хорошо выглядеть :)

person Community    schedule 04.09.2009    source источник


Ответы (4)


Я использую Swing, и он отлично работает. NetBeans (сама по себе достойная IDE) даже поддерживает построение графического графического интерфейса.

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

  2. Компоновка не идеальна, но приемлема в NetBeans. Это WYSIWYG (почти). Внешний вид можно изменить на лету.

  3. Лицензия бесплатна. Исходный код недоступен, я думаю.

  4. Хорошо выглядит в Windows и Linux, в меньшей степени на OSX.

person TGV    schedule 04.09.2009

Упомянутый QT вроде бы соответствует всем вашим требованиям. QT имеет атрибут "развернуть везде", в то время как Java вообще не требует развертывания (это зависит от того, для чего используется ваша утилита).

Объявление. 2 QT имеет действительно удобный дизайнер графического интерфейса.

Объявление. 3 ЛГПЛ. Обычно этого достаточно.

Объявление. 4 Это всегда дело вкуса. IMO QT4 выглядит потрясающе под Linux, но внешний вид Windows в лучшем случае правильный. Его сильная сторона в том, что без дополнительных настроек он почти везде выглядит нативно.

person samuil    schedule 04.09.2009

Вы всегда можете попробовать SWT. Преимущества Java со стандартным L&F поддерживаемых операционных систем.

  1. Хорошо разработан. Много документации и очень легко разрабатывать. (Если вы знаете Swing, вы можете быстро освоить SWT.)
  2. Я считаю, что менеджеры компоновки существуют, которые поддерживают SWT. Однако я не уверен в этом, так как обычно не слишком часто использую менеджеры компоновки.
  3. Использует публичную лицензию Eclipse. Должен соответствовать большинству ваших требований.

  4. Из Википедии на SWT:

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

Надеюсь, это поможет вам.

person JasCav    schedule 06.10.2009

Я бы посоветовал wxWidgets, если вы хотите программировать на C++ или wxPython (привязка wxWidgets к языку python, если вы знаете или не против изучения Python.

  1. Я думаю, что архитектура похожа на QT.
  2. Разметка с помощью сайзеров. Довольно легко, как только вы освоитесь.
  3. Либеральная лицензия с открытым исходным кодом.
  4. Виджеты являются родными для всех платформ (Windows, Mac OS X, Linux).
person Frank Niessink    schedule 18.03.2012