2009-02-14 5 views
2

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

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

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

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

+0

Вы сказали «дать короткую причину, почему», но вы сами не дали никаких оснований для * ваших * предпочтений. – ChrisW

+0

@ Крис, ой ... хороший ход. Сейчас идет редактирование. – Suroot

+0

Это должна быть вики сообщества. – Malfist

ответ

2

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

с сайта:

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

0

Я любил писать в видеопамять под DOS: для анимированных игр (т.е. Астероидов клона), который был так же быстро (производительным), как я знал, как это сделать (конечно, быстрее, чем с помощью BIOS API).

0

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

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

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

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


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

+0

Действительно, вопрос полностью субъективен; но это интересный вопрос, чтобы посмотреть, что люди используют для языка, и дать новым программистам представление о доступных языках. – Suroot

2

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

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

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

2

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

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

0

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

1

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

C# на вершине .Net 3.5/Mono: $ 0 Visual Studio Express/MonoDevelop: $ 0 Будучи в состоянии сказать дизайнер "чтобы моя программа довольно" и по-прежнему кодирования функции: бесценно.

0

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

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

0

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

Смежные вопросы