Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Какими ГУИ-либами пользуемся и почему


Автор: Любитель 26.8.2006, 11:42
Несколько коментариев от себя.

WinAPI Программировать ГУИ на чистом ВинАПИ извратно и бессмыслено. ВинАПИ нужно только для написании других ГУИ-либ  smile Либо приложение настолько мало, что толком о ГУИ там и говорить нечего.

GTK Ненавижу. Без коментариев (по крайней мере пока)

MFC С точки зрения ООП либа извратная, но не смертельно. Зато производительность + лёгкость и естественность взаимодействия с ВинАПИ (если нужно). Да плюс много на МФЦ примочек всяких, хотя в основном платные (BCGControlBar, Ultimate ToolBox и т. д.)

VCL С ООП получше, но очень плоско. Плюс на чём писать: билдер - компилер и IDE ужасные, Дельфи - вообще молчу.

XLib Мне нафиг толком не надо. Разве попробывать...

Window Forms Как говорится на .NET и суда НЕТ.

SWT Ничего о ней не знаю  smile 

wxWidgets Кросплатформенное извращение над MFC. Теряются преимущества последней. Зачем это нужно?

QT Либа в основном неплохая, главный минус - цена, да и некая ява-стилистика что ли  smile (хотя вроде есть её версия и для явы)

Swing К сожаленью тоже толком не знаю...

Автор: LSD 26.8.2006, 11:57
Ну и каша. Свалить в одну кучу и Си и Java и Delphi библиотеки.

И еще, разве WinAPI это библиотека?

Автор: DemoCode 26.8.2006, 12:23
Цитата(Любитель @  26.8.2006,  12:42 Найти цитируемый пост)
VCL С ООП получше, но очень плоско. Плюс на чём писать: билдер - компилер и IDE ужасные, Дельфи - вообще молчу.


На вкус и цвет... Лично мне борландовские IDE гораздо более симпатичны всех остальных.

Цитата(LSD @  26.8.2006,  12:57 Найти цитируемый пост)
Ну и каша. Свалить в одну кучу и Си и Java и Delphi библиотеки.


В итоге сейчас получим ещё одну тему Delphi vs C++ vs Java  smile 

Автор: Mayk 26.8.2006, 16:32
SWING. Ибо в яве знаю где достать бесплатные либы для отчётов и графиков, которые пойдут к бесплатному же свингу.

Автор: Ch0bits 26.8.2006, 17:22
ИМХО VCL конечно мощнее всех! Потом Swing и WindowsForms. GTK ужась! У QT видел только дизайнер, вполне достойный набор контролов.

Автор: Любитель 30.8.2006, 08:04
Цитата(LSD @  26.8.2006,  11:57 Найти цитируемый пост)
И еще, разве WinAPI это библиотека?

Имеются функции, структуры и пр. для работы с ГУИ.
Цитата(LSD @  26.8.2006,  11:57 Найти цитируемый пост)
Ну и каша. Свалить в одну кучу и Си и Java и Delphi библиотеки.

К сожалению, по другому не получилось  smile Многие библиотеки (пожалуй, исключение - чисто явовские) предназначены для разных языков, поэтому хотелось бы (по возможности) готвлечься от языка.
Цитата(DemoCode @  26.8.2006,  12:23 Найти цитируемый пост)
Лично мне борландовские IDE гораздо более симпатичны всех остальных.

Ну хоть одно настоящее преимущество у них есть?

Автор: mr.DUDA 30.8.2006, 09:33
Если б программил на С++, выбрал бы Qt, уж очень он замечательный по сравнению с MFC, WTL/ATL и wxWidgets... Но период С++ в прошлом, работаю WinForms, почти всем доволен smile.

Автор: DemoCode 30.8.2006, 13:38
Цитата(Любитель @  30.8.2006,  09:04 Найти цитируемый пост)
Ну хоть одно настоящее преимущество у них есть? 

Есть. Не охота повторяться. Посмотри в холиварах темы типа Delphi vs С++ и т.п.

Автор: Любитель 1.9.2006, 13:52
Кстати, существует (по-моему, пока не окончательный релиз) Qt Jambi - Qt для явы, возможно сделают и для .NET. В последнем смысл наверно есть, а вот в первом, по-моему, вряд ли.

Автор: Medved 1.9.2006, 17:04
WinForms.
Но я добавил бы еще в список DevExpress.

Автор: MAKCim 1.9.2006, 19:27
Qt
все логично и продумано

Автор: nerezus 5.9.2006, 19:05
Блин, да где же Tk?

Поэтому проголосовал за wxWidgets + QT

Автор: Snowy 5.9.2006, 19:47
VCL, KOL, WinAPI
редко QT, WinForms
Swind - доводилось когда-то...

ИМХО, VCL - полный руль. Мощно, быстро, эффективно. Но расплата - размер ехешника. Что в принципе для прикладных систем не имеет значения. Да и для стэндэлонов относительно.

Автор: HalkaR 5.9.2006, 23:05
Исключительно WinForms - не потому что люблю, просто .Net smile

Автор: Любитель 6.9.2006, 09:40
Цитата(HalkaR @  5.9.2006,  23:05 Найти цитируемый пост)
Исключительно WinForms - не потому что люблю, просто .Net

А если бы были версии для дотнета других библиотек?
Цитата(nerezus @  5.9.2006,  19:05 Найти цитируемый пост)
Блин, да где же Tk?

Пожалуй, стоило бы добавить ещё один пункт - другие

Автор: ivashkanet 6.9.2006, 10:05
Цитата(Любитель @  6.9.2006,  09:40 Найти цитируемый пост)
А если бы были версии для дотнета других библиотек?

так они ж есть  smile 
Цитата(Pegas @  1.9.2006,  17:04 Найти цитируемый пост)
Но я добавил бы еще в список DevExpress.

 smile 
Может и еще что-то есть

Автор: Snowy 6.9.2006, 10:18
Цитата(Любитель @  6.9.2006,  09:40 Найти цитируемый пост)
А если бы были версии для дотнета других библиотек?
У нас есть... VCL.NET smile

Автор: HalkaR 6.9.2006, 14:22
Цитата(ivashkanet @ 6.9.2006,  10:05)
Цитата(Любитель @  6.9.2006,  09:40 Найти цитируемый пост)
А если бы были версии для дотнета других библиотек?

так они ж есть  smile

Покажите мне библиотеку с возможностями не меньше WinForms 2.0!

Автор: ivashkanet 6.9.2006, 14:28
Цитата(HalkaR @  6.9.2006,  14:22 Найти цитируемый пост)
Покажите мне библиотеку с возможностями не меньше WinForms 2.0!

Developer Express .NET 2005 v6.1 smile 
Причем стандартные компоненты и в подметки не годятся smile 

Автор: HalkaR 6.9.2006, 14:33
Цитата(ivashkanet @ 6.9.2006,  14:28)
Цитата(HalkaR @  6.9.2006,  14:22 Найти цитируемый пост)
Покажите мне библиотеку с возможностями не меньше WinForms 2.0!

Developer Express .NET 2005 v6.1 smile 
Причем стандартные компоненты и в подметки не годятся smile

И сколько он стоит???
И с ними можно полностью отказаться от System.Windows.Forms?

Автор: DemoCode 6.9.2006, 14:53
Цитата(HalkaR @  6.9.2006,  15:22 Найти цитируемый пост)
Покажите мне библиотеку с возможностями не меньше WinForms 2.0! 


Как уже сказалSnowy, VCL.NET.

Автор: bilbobagginz 6.9.2006, 15:15
Любитель, выражением 
"wxWidgets Кросплатформенное извращение над MFC. Теряются преимущества последней. Зачем это нужно?"

вы меня ввели в ступор: 
"кроссплатформенное" с "MFC", теряющее примущества последней...
 а какую версию MFC стоит использовать под SunOS ? или Mac OS 10 ?

smile

Автор: HalkaR 6.9.2006, 17:00
Цитата(DemoCode @ 6.9.2006,  14:53)
Цитата(HalkaR @  6.9.2006,  15:22 Найти цитируемый пост)
Покажите мне библиотеку с возможностями не меньше WinForms 2.0! 


Как уже сказалSnowy, VCL.NET.

Еще раз спрошу - я смогу полностью перстать использовать WinForms и переейти на что-то другое? Или же использовать как дополнительный набор контролов?

Если в дополнение то соглашусь DevExpress вещь отличная, но WinForms она не заменяет а только дополняет.

Автор: mr.DUDA 8.9.2006, 22:33
Нет лучшей библиотеки, чем GDI+, обычного винформсовского класса Control из .NET 2.0 и компонента "прямые руки" !!! Avalon/WPF и DevExpress нервно курят в сторонке.

P.S. сорри за эмоции, навеяло после непрерывного кодирования одного мега-контрола в течении недели...  smile  smile  smile 

Автор: Любитель 10.9.2006, 12:07
bilbobagginz, wxWidgets спроектировано в идеологии MFC, но реализовано естественно иначе (ИМХО - хуже, чем MFC).

Автор: alir 13.9.2006, 20:19
WinForms - мощно, просто, удобно.

Автор: Medved 13.9.2006, 20:46
Цитата(mr.DUDA @  9.9.2006,  01:33 Найти цитируемый пост)
Нет лучшей библиотеки, чем GDI+, обычного винформсовского класса Control из .NET 2.0 и компонента "прямые руки" !!! Avalon/WPF и DevExpress нервно курят в сторонке.

Если смотреть с точки зрения "крутости" то да. А если с точки зрения здравого смысла и практичности....

Автор: batigoal 14.9.2006, 09:03
Swing - в силу того, что я ява-девелопер.

Пробовал еще MFC в простейших С++ -приложениях. Понравилась простотой и полной интеграцией со Студией (еще шестой версии). 

Автор: mr.DUDA 19.9.2006, 09:35
Цитата(Pegas @  13.9.2006,  20:46 Найти цитируемый пост)
Если смотреть с точки зрения "крутости" то да. А если с точки зрения здравого смысла и практичности....

Иногда бывает и так, что без ручного кодинга отрисовки никак не обойтись. Ну например, нужен заказчику эффект плавной подсветки рамкой при наведении мыши, или градиентный бэкграунд, или fade in/out чего-нибудь, или всё вместе взятое  smile ...

Автор: Любитель 4.11.2006, 15:23
Цитата(mr.DUDA @  19.9.2006,  09:35 Найти цитируемый пост)
градиентный бэкграунд

QGradient

Цитата(mr.DUDA @  19.9.2006,  09:35 Найти цитируемый пост)
fade in/out чего-нибудь

Для меню в Qt есть. Для прочего, а также:
Цитата(mr.DUDA @  19.9.2006,  09:35 Найти цитируемый пост)
эффект плавной подсветки рамкой при наведении мыши

сейчас начинаю писать для кутехи (использование - примитивно + работает для любых имеющихся виджетов).

Автор: powerOn 4.11.2006, 15:48
Цитата(batigoal @  14.9.2006,  09:03 Найти цитируемый пост)
Swing - в силу того, что я ява-девелопер.

Аналогично. Еще, раньше, когда на С++ писал, использовал MFC.


Автор: ToshaCh 5.11.2006, 14:15
Цитата(Любитель @  10.9.2006,  12:07 Найти цитируемый пост)
wxWidgets спроектировано в идеологии MFC, но реализовано естественно иначе (ИМХО - хуже, чем MFC).


Ещё хуже чем MFC? Куда уже хуже! Это и так свалка объектов и макросов собранная как винигрет без какой либо системы, но продаваемая как закуска из чёрной икры.

Автор: Любитель 7.11.2006, 18:08
wxWidgets тоже
Цитата(ToshaCh @  5.11.2006,  14:15 Найти цитируемый пост)
свалка объектов и макросов 


Автор: alir 10.11.2006, 14:49
В таком случае пора Avalon изучать ;)

Автор: Daevaorn 11.11.2006, 12:34
Мне очень нравится http://www.wxpython.org/. 
Когда пишешь крупицы кода, а получаешь большую отдачу - подкупает
Код

from wxPython.wx import *

ID_ABOUT = 101
ID_EXIT  = 102

class MyFrame(wxFrame):
    def __init__(self, parent, ID, title):
        wxFrame.__init__(self, parent, ID, title,
                         wxDefaultPosition, wxSize(200, 150))

        self.CreateStatusBar()
        self.SetStatusText("This is the statusbar")
        menu = wxMenu()
        menu.Append(ID_ABOUT, "&About",
                    "More information about this program")
        menu.AppendSeparator()
        menu.Append(ID_EXIT, "E&xit", "Terminate the program")
        menuBar = wxMenuBar()
        menuBar.Append(menu, "&File");
        self.SetMenuBar(menuBar)

        EVT_MENU(self, ID_ABOUT, self.OnAbout)
        EVT_MENU(self, ID_EXIT,  self.TimeToQuit)

    def OnAbout(self, event):
        dlg = wxMessageDialog(self, "This sample program shows off\n"
                              "frames, menus, statusbars, and this\n"
                              "message dialog.",
                              "About Me", wxOK | wxICON_INFORMATION)
        dlg.ShowModal()
        dlg.Destroy()


    def TimeToQuit(self, event):
        self.Close(true)



class MyApp(wxApp):
    def OnInit(self):
        frame = MyFrame(NULL, -1, "Hello from wxPython")
        frame.Show(true)
        self.SetTopWindow(frame)
        return true

app = MyApp(0)
app.MainLoop()

user posted image

Автор: Artemios 15.11.2006, 15:11
Qt

Автор: ivashkanet 15.11.2006, 15:16
Daevaorn, ну, на .Net WinForms кода все же поменее будет smile

Автор: batigoal 15.11.2006, 16:15
На Свинге - примерно столько же. Так что по объему кода тут выигрыша нет  smile 

Автор: LSD 16.11.2006, 14:34
Странно, что никто не написал SWT. Хотя известных проектов на нем хватает.

Автор: MaxWave 30.12.2006, 02:09
VCL- рулит!!!

Автор: Любитель 31.12.2006, 00:19
LSD, а есть ли у вас (в ява-разделе) те, кто девелопят на SWT? В какой-то мере меня интересует сия вещь (хотелось бы изучить). Что можешь посоветовать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)