Любимая графическая подсистема для программирования - PullRequest
2 голосов
/ 14 февраля 2009

Хорошо, это интересный вопрос, потому что каждый имеет право голоса.

Какая ваша любимая библиотека для программирования для GUI и языка, на котором вы ее программируете. Укажите короткую причину, почему. (напр. Gtk, Qt, Windows и т. д.). Просто к сведению, это включает любой язык сценариев, которым вы программируете GUI на Python, Perl и т. д ...

Честно говоря, я всегда делал Gtk в C, но я начинаю нагреваться до Qt в C ++ с новым KDE. Я никогда не был большим поклонником программирования для Windows.

ChrisW. заявил, что я не дал повод для Gtk / Qt, так что здесь идет. Я начал с Gtk, потому что когда я начал программировать GUI, я работал в Linux, и было больше информации о Gtk. Я начал использовать Qt, когда начал больше работать в KDE, но в действительности переход на Qt был основан на попытке перейти на C ++ и изучать больше языков. Я никогда не был фанатом базовых программ для Windows, но время от времени мне нравится немного DirectX: P

Ответы [ 9 ]

2 голосов
/ 14 февраля 2009

Люди любят ругать Swing за то, что он старый, медленный и некрасивый, но это просто неправда. Swing зрелый , работает быстрее, чем когда-либо на Java SE 6/10, выглядит достаточно прилично и переносим для программирования. Кроме того, я считаю, что Java + Swing - это наиболее безаварийная кроссплатформенная комбинация. Он также прекрасно работает с Jython (Python на JVM).

SWT также может быть вариантом, но до сих пор я был доволен Swing.

2 голосов
/ 14 февраля 2009

Недавно у меня была возможность работать как с wxWindows, так и с QT, а некоторое время назад я написал несколько небольших программ, использующих FLTK и Gtk. Мой вывод заключается в том, что библиотеки виджетов, как правило, очень похожи; у каждого есть свои сильные стороны и свои причуды.

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

Если программа с графическим интерфейсом должна выполнять интенсивные вычисления, просто разработайте базовую библиотеку на C или C ++, но оставьте интерфейс на Python или любом другом интерпретируемом языке.

2 голосов
/ 14 февраля 2009

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

С сайта:

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

1 голос
/ 17 февраля 2009

WPF в частности и XAML во всех его реинкарнациях (WPF, Silverlight, Moonlight).

C # поверх .Net 3.5 / Mono: $ 0 Visual Studio Express / MonoDevelop: $ 0 Возможность сказать дизайнеру «сделай мою программу красивой» и продолжить кодирование: бесценно.

0 голосов
/ 06 мая 2009

Для написания улучшенных версий стандартных компонентов Windows мне понравился VCL Borland, и я очень доволен .NET.

0 голосов
/ 06 мая 2009

Gtk и является основной графической подсистемой рисования окон, с которой у меня есть опыт работы (и, следовательно, мой любимый XD).

Однако, что касается основных графических подсистем, OpenGL (обычно в сочетании с GLUT) был для меня легкой и продуктивной поездкой. К сожалению, у меня мало опыта работы с DirectX, хотя: S

0 голосов
/ 17 февраля 2009

Qt4 без вопросов для меня. Теперь, когда у него есть лицензия LGPL, она имеет смысл для всех видов приложений, которые ранее были невозможны. Кроме того, он меняет C ++ таким образом, что значительно улучшает опыт использования языка. (Такие вещи, как цикл foreach и forever, атомарные операции над целыми числами и управление памятью)

0 голосов
/ 14 февраля 2009

Это действительно несколько субъективный вопрос, поэтому нет лучшего или правильного ответа на него. Следующее основано на моем (ограниченном) опыте:

Мне лично нравится wxWidgets с PLT Scheme для написания простых, но гибких графических интерфейсов. Существуют гораздо более продвинутые наборы инструментов, но мне обычно не нужны их возможности. wxWidgets является гибким, и интерфейс Scheme следует традициям Scheme - быть мощным с относительно простой структурой. Мне нравится тот факт, что wxWidgets является переносимым и все же пытается не рисовать свои собственные виджеты, но может использовать нативные или общие наборы инструментов среды, в которой он используется. Он написан на C ++, но я никогда не использовал его интерфейс C ++.

Это не значит, что, на мой взгляд, Scheme, как правило, является оптимальным языком для написания вашего приложения. На самом деле существует множество видов приложений, которые я бы не писал в Scheme, даже если мне нравится этот язык. Но что касается части программирования GUI, она мне нравится из-за ее прямоты и способа, которым функциональный язык, такой как Scheme, хорошо сочетается с программированием GUI декларативного стиля.

Конечно, вы не будете иметь такой же уровень контроля при использовании, как при вовлечении вашей программы на каждом этапе построения окна и реакции ввода, используя цикл обработки событий (например, с Win32API или Xt / Intrinsics). Но это не всегда удобно и часто не нужно, и, кажется, становится все более распространенным.


Примечание: Инструментарий wxWindows был переименован в wxWidgets , но моя установка довольно свежей версии PLT Scheme по-прежнему идет с более старой версией wxWindows. Я не уверен, доступен ли обновленный пакет wxWidgets или он будет включен в будущую версию схемы PLT.

0 голосов
/ 14 февраля 2009

Мне понравилось писать в видеопамять под DOS: для анимированной игры (например, клона Asteroids ) это было настолько быстро (производительно), насколько я знал, как это сделать (конечно, быстрее, чем при использовании BIOS). API).

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