Почему нет простых, кросс-платформенных графических интерфейсов C / C ++ для языков более высокого уровня? - PullRequest
2 голосов
/ 21 февраля 2011

У меня небольшой опыт программирования, и я начал работать с Swing (Java) и wxPython.Несколько лет назад мне пришлось портировать приложение, которое я сделал, на OS X, и все проблемы, которые у меня были с wxPython, просто умножились.Я начал искать альтернативы и не смог найти ничего лучше, чем wxPython.QT был единственным, кто даже приблизился.GTK был адом на Windows (последний раз, когда я проверял).

Я не думаю, что мое затруднительное положение уникально, некоторые другие люди, возможно, достигли той же позиции за эти годы.

Итак, почему нет инструментария с графическим интерфейсом, чтобы иметь следующие характеристики:

  1. Простой.Основные окна / диалоговые окна (собственные открытия и сохранения) + базовый набор виджетов с управлением SOLID Layout.Дополнительные (составные виджеты) реализованы в виде дополнительных библиотек.
  2. Активно поддерживается в OS X, Linux и Windows
  3. Активно поддерживается привязка как минимум к 3 языкам высокого уровня.
  4. Активно поддерживаемая документация по передовому опыту разработки GUI с примерами использования инструментария.MVC / MVP правильно объяснил.GUI HIG (стиль Apple) просто объяснил, в комплекте с семантикой, парадигмами, лучшими практиками, выравниванием, правильными интервалами и тоннами лучших в своем роде примеров из успешных частей программного обеспечения.
  5. Простой способ создания распространяемого исполняемого файла для 3 целевых платформ на каждом из языков.
  6. Реализован как можно ближе к металлу с использованием легкодоступных библиотек, таких как Clutter, Cairo и т. Д.

Не слишком ли много вопросов для этих требований?Если да, то почему?

Помогите мне понять, почему нет такой крошечной библиотеки?

Ответы [ 6 ]

5 голосов
/ 21 февраля 2011

Вы пробовали Qt? Это кроссплатформенный C++ GUI инструментарий для языка более высокого уровня (PyQt). И мне это показалось очень простым.

2 голосов
/ 21 февраля 2011

То, что вы просите, - это простая библиотека с огромной гибкостью.Уметь создавать исполняемые файлы 3 * 3, иметь хорошую документацию и использовать другие библиотеки с другим фоном.И все это на разных платформах ОС.Это довольно сложная задача, так как думаю, что QT подойдет ближе всего, но она не соответствует всем вашим критериям.

0 голосов
/ 19 октября 2011

WXWidgets , кажется, также подходит.

0 голосов
/ 23 февраля 2011

Инструментарий Tk отвечает большинству ваших требований, за исключением, может быть, номера четыре.Он очень кроссплатформенный, использует нативные виджеты, когда это возможно, прост в использовании и т. Д. Сложно выполнить требования к распространению, потому что это зависит от языка, но при использовании с tcl вы можете использовать tclkits и starkits, которые абсолютнофантастический способ распространения кода (по сути, ваш однофайловый исполняемый файл имеет встроенную виртуальную файловую систему, которая может содержать все ваши ресурсы - код, изображения и т. д.).

Подробнее о кросс-языковых особенностях tk см. http://www.tkdocs.com

0 голосов
/ 21 февраля 2011

Я предполагаю, что разработчики Windows не могут быть обеспокоены, поскольку у них есть wpf и т.д., и разработчики linux не могут быть обеспокоены, поскольку они привыкли к этому.Так что только люди, которые устали от выигрыша в разработке и переходе на linux, примут это.Может быть, пришло время для вас начать проект с открытым исходным кодом :) Я думал что-то вроде wpf, но на основе opengl было бы хорошим началом.

0 голосов
/ 21 февраля 2011

SWT ?Вы можете использовать его из Java, Python (ну, Jython), Ruby (ну, JRuby), Groovy, LISP (ну, Clojure) и всего, что работает на JVM.

Это просто-иш,он использует встроенные виджеты изнутри, он активно поддерживается, и поскольку вы распространяете либо JAR, либо JAR и некоторый интерпретируемый код, существует унифицированный процесс сборки.Я могу прокомментировать его документацию или его близость к какому-либо металлу.

Я понимаю, что это, вероятно, не тот ответ, который вы искали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...