Skocz do zawartości

[API] GTK+ czy Qt?


Dejta

API  

4 użytkowników zagłosowało

  1. 1. GTK+ czy Qt

    • GTK+
      1
    • Qt
      1
    • Inne ( podaj jakie i dlaczego )
      2


Polecane posty

Witam.

 

Dla każdego programisty, który nie rzucił programowania po pierwszych niepowodzeniach nadchodzi dzień, w którym musi się on zdecydować na API w jakim będzie tworzył swoje programy. Tu pojawia się mój problem.

 

Nie potrafię się zdecydować, którego API się uczyć: Czy GTK+, czy Qt4. Jedyne co wiem o tych API to to, że oba są przenośne ( oba działają na Linux'ie i Windows'ie ) oraz to, że w Linuxie Gnome opiera się na GTK+, a KDE na Qt4.

 

Czy ktoś kto posiada większą wiedzę na ten temat mógłby doradzić mojej osobie i pomóc w wyborze API? smile.gif Na przykład wypisać wady i zalety, żebym już sam mógł porównać. Programuję w C++ i chcę tworzyć aplikację pod oba systemy więc WinAPI mnie nie interesuje, ale jeżeli macie lepszą propozycję, która spełnia warunek działania w obu systemach operacyjnych również zapoznam się z ich propozycją.

 

Z góry dziękuję i pozdrawiam

Wowa

Link do komentarza
Udostępnij na innych stronach

Same porównanie QT i GTK+ jest napisane :

GTK+ vs QT

 

Jednak jeżeli chodzi o programowanie to powinieneś spróbować (ja to nazywam "liznąć") trochę tego i trochę tego, aby określić w czym się lepiej czujesz...

 

Co do API GUI to masz jeszcze np. wxwidgets, PL opis-> Wiki.

Ale co kto woli :)

 

A jeżeli chodzi o tworzenie gier to polecam czyste X'y(Linux) lub WinApi(Windows).

A tak z moich spostrzeżeń to wydaje mi się, że QT jest wolniejsze. (Porównanie Gnome VS KDE) ale kto jak patrzy... :P

Sam używam Gnome (Ubuntu).

Pozdrawiam.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

czyste GTK+ jest mało przyjemne do programowania, lepiej użyć wspomnianej już biblioteki wxWidgets

 

jak dla mnie QT wygląda ciekawiej ale ma jedną zasadniczą wadę, nie jest w pełni darmowe :( kiedyś pewnie będziesz chciał pisać programy komercyjne a wtedy musisz wykupić licencje - jeśli piszesz programy freeware, open source czy inne na darmowych licencjach wówczas i QT jest darmowe ;)

 

a z tą wieloplatformowością też bywa różnie

Link do komentarza
Udostępnij na innych stronach

A jeżeli chodzi o tworzenie gier to polecam czyste X'y(Linux) lub WinApi(Windows).

 

 

Are you kidding biggrin.gif ? Autor tematu chce tworzyć przenośny kod, a Ty do gier proponujesz pisanie na czysto... Do tworzenia przenośnych gier nadaje się SDL, a najlepiej SDL+OpenGL lub w ogóle jakiś wieloplatformowy silnik - czy to 2D, czy 3D.

Link do komentarza
Udostępnij na innych stronach

Jason Nie widzę potrzeby używania wielkiego SDL'a do "Tworzenia okna i obsługi myszy, klawiatury czy Joysticka".

Stworzenie Okna w X'ach nie zajmuje więcej kodu niż stworzenie okna w WinApi. Biorąc pod uwagę tylko systemy Linux i Windows można napisać dobrą grę bez pakowania setek kB w program. SDL myślę, że jest głównie dla małych gier.

Ale to nie o to w tym temacie chodzi... nie zaczynajmy OffTop'a

 

 

Pozdr.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Jason Nie widzę potrzeby używania wielkiego SDL'a do "Tworzenia okna i obsługi myszy, klawiatury czy Joysticka".

 

Zapomniałeś o ładowaniu plików BMP, a także ładowaniu czcionek korzystając z SDL_ttf oraz odtwarzaniu dźwięków SDL_mixer'em wink.gif

 

 

Stworzenie Okna w X'ach nie zajmuje więcej kodu niż stworzenie okna w WinApi. Biorąc pod uwagę tylko systemy Linux i Windows można napisać dobrą grę bez pakowania setek kB w program. SDL myślę, że jest głównie dla małych gier.

 

Dlatego profilaktycznie napisałem, że lepiej skorzystać z jakiegoś wieloplatformowego silnika, który nadaje się do większych gier. Jeśli chodzi o rozmiar dołączanej biblioteki - teraz to wielkiej różnicy nie robi, czy to przy downloadzie, czy też przy ładowaniu - świat idzie do przodu, Ty też powinieneś. Jak sobie dobrze rozplanujesz implementację to możesz tak napisać program, by było możliwe rozdzielenie kodu tworzenia okienek dla dwóch platform i przy każdej modyfikacji głównej klasy aplikacji nie było konieczne modyfikowanie kodu wyznaczonego dla każdej z platform. Pytanie tylko po co biggrin.gif ? Skoro można małego SDL'a dołączyć i się nie martwić. Znając życie, to i tak będą w grze używane dodatkowe biblioteki, więc nie widzę sensu aż tak optymalnych rozwiązań przy pisaniu gier, i tak zasoby gry będą zajmować więcej niż SDL.

Link do komentarza
Udostępnij na innych stronach

Widzę, że rozbudziłem tu burzliwą dyskusję wink.gif Bardzo dziękuję za wszystkie wyczerpujące wypowiedzi.

 

Przeczytałem artykuł na Wikipedii o wxWidgets i intryguje mnie jedna rzecz -> to Api to swego rodzaju odpowiednik CSS z webmasteringu? Czyli ogólne API, które każdy system interpretuje po swojemu? Czyli, że na przykład Windows będzie miał kwadratowe obramowanie okienka i prostokątne elementy menu, a pod Gnome'm będę miał zaokrąglone rogi okienka i elementy menu wyglądająco jak przy aplikacjach linuksowych?

 

O SDL'u dużo czytałem, jednak On bardziej mi pasuje do tworzenia gier, niż do takich prostrzych aplikacji okienkowych, które wyglądają jak z C++ Buildera. Ale mogę sie mylić. Po za tym czytałem, że lepiej od razu SDL łączyć z OpenGL, a tego niestety jest baaardzo dużo do nauki, a ja niestety muszę też się zajmować szkołą i szukam czegoś co zajmie mniej czasu i nie za bardzo będę musiał "wychodzić" poza jeden standart.

 

Podrawiam

Wowa

Link do komentarza
Udostępnij na innych stronach

Zapomniałeś o ładowaniu plików BMP, a także ładowaniu czcionek korzystając z SDL_ttf oraz odtwarzaniu dźwięków SDL_mixer'em

 

 

No przepraszam... mowa jest o oknach. A tak, zamiast BMP można zastąpić np. DDS, TGA, z kolei czcionki ==> bitmap-fonts...

 

 

świat idzie do przodu, Ty też powinieneś

1.Hobbyści nie muszą wink.gif

2.Świat zmierza w kierunku szybkości tworzenia aplikacji, a nie wydajności tychże aplikacji. A to jest zły nawyk. smile.gif

 

 

Ale to już nie na temat... ;] I uwierz mi nie warto się spierać, bo każdy programuje jak chce.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

każde okno stworzone w wxWidgets będzie zgodne ze stylami systemowymi, czyli ja bym go raczej porównał z HTML a ustawienia systemu to css :)

jeśli kot?ś będzie miał zielony kolor tła okien to twoje też będzie wyglądało jak Shrek

 

 

ps.

jeśli jesteś zainteresowany to na rynku jest obecnie jedna książka o wxw i qt

http://helion.pl/ksiazki/c-wykorzystaj-pot...arek,cppwyk.htm

niestety czasowo niedostępna ;) ale może niedługo znowu się pojawią :)

Link do komentarza
Udostępnij na innych stronach

Po dłuższym rozważaniu i przejrzeniu materiałów doszedłem do wniosku, że zagłebie się w prace z wxWidgets. Dziękuję bardzo wszystkim za wyrażenie swoich opinii, które pomogły mi w podjęciu wyboru. W sumie temat już chyba na nic więcej nie przydatny tak więc można go zamknąć ;-)

 

Pozdrawiam

Wowa

Link do komentarza
Udostępnij na innych stronach

  • 2 months later...

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...