На чём писать GUI?

germafrodita

Какая сейчас самая простая и удобная среда для написания GUI?
Платформа windows, в итоге хочется exe'шник, максимально переносимый, но если это будет что-то типа .нет, то тоже не страшно. Главное, чтобы просто было.
Я когда-то давно писал на winapi и mfc, но сейчас, наверное, это уже совсем не актуально?

Bird_V

Моё мнение такое:
Максимальная переносимость (при минимальной удобности) - это 100% winapi. Если не лень таскать пару-тройку dll -- то mfc, ибо удобнее. Наконец, максимальные удобства при минимальной переносимости (.NET Framework весит немало) -- это GDI+.

vijrel7878

ты написал полнейшую ахинею

stat2497492

Сюда можно добавить Java + JRE...
НА самом деле мне кажется, что правильный ответ на поставленный вопрос: Delphi

vijrel7878

на поставленнный вопрос не может быть "правильного" ответа

germafrodita

Дай, пожалуйста, свой ответ.

bleyman

Максимальная переносимость (при минимальной удобности) - это 100% winapi. Если не лень таскать пару-тройку dll -- то mfc, ибо удобнее. Наконец, максимальные удобства при минимальной переносимости (.NET Framework весит немало) -- это GDI+.

Реально полную хуйню написал.
GDI+ - это апи для 2д графики. К .НЕТ никакого отношения не имеет. ГУИ на нем писАть тоже не очень прикольно, потому что это апи для 2д графики, и кнопочек, едитов и прочей хни там нет.
Вындовс Формс наверное имелись в виду.
А дельфевые компонентики, наверное, удобнее винформов. Но! Щаз рядом со мной сидит человек, который пытается писАть на дельфе. И ему очень от этого плохо =)
ЗЫ: .НЕТ фреймворк 1.1 весит 20 метров.

bleyman

О!
Есть такая весч - QT. Оно даже кросплатформенное. Сам я с ним не обсчался, но некоторые люди говорили, что кросплатформенность - не единственное его достоинство.

vijrel7878

поясни вот это
Платформа windows... максимально переносимый

в итоге хочется exe'шник

visual studio 7 тоже делает exe, но без farmework он не работает. Такой exe-шник устраивает?

vijrel7878

Есть QT под windows?

germafrodita

net framework, да?
Вообще, я тут глянул Visual Studio .NET, он хочет чото типа гига для установки, это, по-моему, очень дофига.

6yrop

1Гб сейчас стоит меньше $1

vijrel7878

сам framework - 24 мб дистриб

bobby

да, QT под Windows есть.

Marinavo_0507

> 1Гб сейчас стоит меньше $1
продай мне винт на 1Гб за $1, с гарантией

krishtaf

> 1Гб сейчас стоит меньше $1
продай мне винт на 1Гб за $1, с гарантией

чувак, дороже выйдет

germafrodita

В мой винт нельзя установить дополнительные гигабайты.

Dasar

> продай мне винт на 1Гб за $1, с гарантией
Во-первых, про винт в оригинальном сообщение ничего не говорилось.
Во-вторых, можешь приносить бакс и юзать гиг места на z81, например

Marinavo_0507

> Во-первых, про винт в оригинальном сообщение ничего не говорилось.
Ну флешку пусть продаст.
Какие ещё бывают локальные носители со сравнимой скоростью и надёжностью?
> Во-вторых, можешь приносить бакс и юзать гиг места на z81, например
Продай место Глебу, он поставит туда Visual Studio и расскажет о впечатлениях

Shnit

в качестве API для GUI - QT просто супер - очень просто, удобно, красивая модель
недостаток qt - две лицензии GPL и платная
под винду бесплатна только 2ая версия
в качестве альтернативы могу предложить wxWidgets
кросплатформеная, чуть менее удобная чем qt, но под LGPL

durka82

Если нужна максимальная переносимость+нормальный GUI - скорее всего это только java (swing).
JBuilder позволяет без особых проблем создавать java-gui, но руками трогать код не рекомендуется
exe-шника не будет, но необходимые файлы с собой взять можно будет (хотя есть проги, которые и ехе делать умеют - микрософтовская java, например)

Valerik62

qt-2.3.0 под винду халявная
штука на самом деле неудобная, тк писать приходится все руками, а всякие вещи типа QTdesigner'а там скорее ради прикола.
зато перекомпилять результат под Линух занимает около 5 минут времени (Makefile состряпать)

bobby

под 3-м QT уже писать становится нормально, в принципе.
под 2-м - да, пиздец, я помню позапрошлое лето...

Shnit

ну блин - ты ж не бось имеешь ввиду дизигнер второй ветки qt
под 3й он даже приличным стал

Valerik62

точно не знаю, но концепция там по-моему такая же
.ui парой доведенных до автоматизма команд перегоняется в .cpp и .h соответственно
сделаешь новый .ui, он затрет старый .cpp, в котором у меня уже много чего добавлено (гриды там или русские надписи)
приходится извращаться и объединять новый и старывй cpp-шники руками, а когда они оба по 500 строк, то это геморно как-то

tarajna

так все таки.
Какая сейчас самая простая и удобная среда для написания GUI?
?
пока на ум приходят .NET (ни разу не смотрел. хороший там набор библиотек и визуальный редактор?) и Delphi(формы клепаются на лету, но меня от него воротит)..

vijrel7878

акая сейчас самая простая и удобная среда для написания GUI?

вообще-то та, которую сам лучше всего знаешь
Но! мне из всех сред больше всего нравится последняя Visual Studio конечно. Хотя делфи я знаю намного лучше

tarajna

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

vijrel7878

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

bobby

почему это qt сдохнет?

Shnit

vijrel7878

почему сейчас не пишут на owl и vcl с mfc настанет скоро конец?

anzakaznov

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

anzakaznov

эй
аналогии неочевидны
под кде ни на чём писать больше нельзя

vijrel7878

ну так они имели в виду qt под windows. Изначально ведь так вопрос ставился - gui под windows (но переносимая, о чем лучше вообще не мечтать (особенно о полной переносимости). Такого не будет никогда и MS об этом позаботится, уверяю)

bobby

например, Kerio WinRoute Firewall (кстати, вовсе не кроссплатформенный продукт) использует QT для своей админки.
а уж если говорить о кроссплатформенных прогах, типа SIM и т.п....
в общем, идея ясна.
ну, я, например, не очень сейчас знаю, на чем ещё можно писать пристойное переносимое ГУИ. (wxWindows ?)
кстати, QT ещё и под Mac бывает, и под Embedded Linux. вообще, отличная штука!

vijrel7878

РАзные gui возможно только пересечь в одной библиотеке. В итоге получается некое подмножество, ограниченные возможности, много гемора (ручного кодирования непредсказуемых багов. имхо.

anzakaznov

ну так они имели в виду qt под windows
и что?
основная фишка кутэ -- в переносимости
за счёт неё ребята деньги зарабатывают
и немалые, замечу
и юзается это многими конторами, которые пишут спец-ПО у которого требование номер один -- мультиплатформенность
это, например, военные, банки и прочие закрытые по самое не балуй товарищи
так что кутэ жив будет
тут можно не волноваться
а про кде я сказал, чтоб напомнить, насколько линукс-версия кутэ востребована
gui под windows (но переносимая, о чем лучше вообще не мечтать. Такого не будет никогда и MS об этом позаботится, уверяю)
Qt?
Kylix?

anzakaznov

РАзные gui возможно только пересечь в одной библиотеке. В итоге получается некое подмножество, ограниченные возможности, много гемора (ручного кодирования непредсказуемых багов. имхо.
ещё раз и по-русски

bobby

я тебя не понял, объяснись

bobby

и юзается это многими конторами, которые пишут спец-ПО у которого требование номер один -- мультиплатформенность
о!
http://adastra.ru/ru/
вот они тоже юзают QT!
точно знаю.

vijrel7878

допустим я обрабатываю нажати правой клавиши мыши. Такое редко бывает? А в маке есть она, правая клавиша? А между тремя осками еще больше различий. Как ты представляешь себе возможность разработки универсального кода? Все-равно будет много условной компиляции, проверки платформ и версии.
Ну а если qt под windows будет развиватся и дальше и сделает оболочку над framework - использовать такой наворот я бы не стал.

anzakaznov

допустим я обрабатываю нажати правой клавиши мыши. Такое редко бывает? А в маке есть она, правая клавиша? А между тремя осками еще больше различий. Как ты представляешь себе возможность разработки универсального кода?
ну дык извините
а)
ты обрабатываешь скрол мыши
такое редко бывает?
а если у мыши колёсика нет?
ну ты понял
б)
ессно, если ты пишешь междужопия, рассчитанные на разные платформы, ты должен или рассчитывать на пересечение их возможностей или писать с учётом особенностей каждой, но с гемором
но писать-то ты так или иначе будешь под ОДНОЙ БИБЛИОТЕКОЙ
Ну а если qt под windows будет развиватся и дальше и сделает оболочку над framework - использовать такой наворот я бы не стал.
собственно, почему?
не пох ли, над чем оно оборачивает?
главное, что один код работает везде
бтв
крайне сомневаюсь, что такое будет
нет смысла
ибо:
А) фреймворк и сам потенциально и почти практически мультиплатформен
Б) в виндах он как и кутэ тоже суть обёртка над апи

vijrel7878

ты обрабатываешь скрол мыши
такое редко бывает?
а если у мыши колёсика нет?
ха, ну ты сравнил. Я тебя понял, но в рамках одной платформы это исключения, в рамках разных - обычное дело.
но писать-то ты так или иначе будешь под ОДНОЙ БИБЛИОТЕКОЙ
я бы предпочел писать под разными, но ПРОСТОЙ ЛЕГКО СОПРОВОЖДАЕМЫЙ код.
не пох ли, над чем оно оборачивает?
может и пох, но число багов растет по правилу пересечения уязвимостей как их произведение, как минимум
главное, что один код работает везде
через пару версий добиться этого станет все сложнее
фреймворк и сам потенциально и почти практически мультиплатформен
точнее теоретически
в виндах он как и кутэ тоже суть обёртка над апи
ну это в текущих виндах. В следующих он станим родным api

anzakaznov

ха, ну ты сравнил. Я тебя понял, но в рамках одной платформы это исключения, в рамках разных - обычное дело.
ну-ка поприводи ещё таких примеров
хотя бы тройку
я бы предпочел писать под разными, но ПРОСТОЙ ЛЕГКО СОПРОВОЖДАЕМЫЙ код.
так не бывает
точнее теоретически
для особо талантливых
я ж не зря написал "почти практически"
go www.mono-project.com

bobby

о!
знаешь, OpenGL - переносимая библиотека.
однако, под Windows есть wgl, под X - glX, которые привязывают GL к системе. и, наверняка, если ты будешь писать ДЕЙСТВИТЕЛЬНО переносимое приложение, ты абстрагируешься от wgl и glX, сделав соответствующую небольшую прослойку кода?
можно ведь будет, наверное, тоже сделать один дополнительный уровень абстракции, на котором принимать во внимание правую кнопку мыши и её отсутствие?
P.S. в QT тоже что-то есть относительно GL, кстати =)

vijrel7878

я вроде уже написал все, что хотел, дальше мы только будем толочь воду в ступе
Приведи пример хоть web приложения, написанного на asp.net, хостящегося под линухом, использующем mono? Заебесся саппортить это чудо (если оно заработает ).

bobby

Приведи пример хоть web приложения, написанного на asp.net, хостящегося под линухом, использующем mono? Заебесся саппортить это чудо (если оно заработает ).
надо попробовать, наверное, я вот не пробовал, а ты?

vijrel7878

какие из последних выпущенных игр написаны на OpenGL ?

anzakaznov

э, не
стой
я бы предпочел писать под разными, но ПРОСТОЙ ЛЕГКО СОПРОВОЖДАЕМЫЙ код.
пример такого решения в студию

bobby

мб DOOM3 ?

vijrel7878

и желания никакого не возникает

bobby

и желания никакого не возникает
это уже предрассудки =)

anzakaznov

Wolfenstein?

anzakaznov

какие из последних выпущенных игр написаны на OpenGL ?
тааааак
приехали
а с гл-то у нас что не так?

bobby

кстати, в вышеупомянутой AdAstra писали проект на QT + GL.
наверное, это не просто так.
мне кажется, что именно для переносимости.

vijrel7878

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

bobby

хорошо.
DOOM 3.

vijrel7878

ты уверен?

anzakaznov

Wolfenstein

bobby

на 99%.
дело в том, что:
1. id всегда писала гамы на GL.
2. они делают DOOM3 и для Linux (если ещё не сделали а писать на разных графических библиотеках DOOM3 - лишний гемор, вроде бы.

anzakaznov

плюс один процент от меня
на гл
это точно

vijrel7878

ну круто, молодцы id software.
Вот только это не gui приложение

bobby

ну так мы уже и не QT обсуждаем, а GL =)
было б странно, если бы id написали DOOM3 на QT

vijrel7878

изначально мы обсуждали gui и переносимость, не так ли?
было б странно, если бы id написали DOOM3 на QT

это было бы не просто странно

bobby

да, все верно =)
однако в процессе спора мы перекинулись на ГЛ зачем-то (потому что я сравнил разницу между glx и wgl с разницей между платформами, на которых используется QT и, кстати, упомянул метод решения проблемы - написание дополнительной прослойки).
можем вернуться к QT, если пожелаешь.

vijrel7878

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

bobby

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

bobby

2 Quercus:
Почему молчишь? =)
Тебя не устраивает ни один из предложенных исходов?

vijrel7878

устраивает, но те доводы, которые вы мне привели не показались мне значимыми. Так что не вижу причин для консенсуса Переносимость - утопия, поскольку она неприбыльна. Исключения лишь подтверждают это.

bobby

Мы резко не согласны с твоим последним утверждением, но спорить не будем, т.к. хотим сразу перейти ко второму предложенному мной варианту =)
Спасибо за беседу =)
P.S. Это не только от меня, но ещё и от .

Marinavo_0507

> Переносимость - утопия, поскольку она неприбыльна.
Правильно, прибыльнее переписывать проект при каждом удобном случае, и брать за это деньги.

Shnit

кстати, добавлю в список приложений, написаных на qt - Opera
все сказаное Пашей и Мэдом подтверждаю.
единственный серезный минус кроссплатформености делает дуальная лицензия
а вообще прежде чем спорить прочитайте http://www.trolltech.com/

1businka1

кстати, добавлю в список приложений, написаных на qt - Opera
это вроде как лажа
No, only the linux version of Opera uses QT.
Also, from version 7, very little of QT is used. The earlier versions of Opera for linux had their entire UI built with QT, but now as little as possible of QT is put to use. For example, the menus are QT, but things like window contents, dialogs, buttons etc are built using Opera's own crossplatform UI engine called Quick.
If it was easily possible, Opera would most likely stop using QT completely, but some services that it offers (like easier printing) is a daunting task to reimplement so Opera still links with QT.

bobby

вот я тоже так думал, поэтому и не стал писать Opera.
Оставить комментарий
Имя или ник:
Комментарий: