Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Gtk+ czy Qt4  (Przeczytany 13718 razy)

energizer

  • Gość
Gtk+ czy Qt4
« dnia: 2008-09-29, 22:19:48 »
Witam!
Nie włożyłem tego watku do Qt czy Gtk+ bo dotyczy i jednego i drugiego czyli nie pasuje do niczego, ale może lepiej, że jest tu a nie gdzie indziej :-)
Jestem dopiero początkującym programistą (jeżeli mogę się o sobie tak wyrazić :-) - liznąłem nieco Pascala we FPC i Lazarusie. Ostatnio próbowałem trochę C++ i chciałem pisać w tym języku, bo jest moim zdaniem bardziej przyszłościowy. No ale nie mam zamiaru robić w przyszłości tylko aplikacji tekstowych. Przydałoby się wykorzystać coś graficznego. Moje obecne środowisko programistyczne to Code::Blocks. Myślałem o wykorzysaniu Gtk+ lub Qt4 i nie mogę się zdecydować, którą wybrać? Używam Gnome, KDE 3 używałem nie dużo a KDE 4 to już wcale. Miałem jedynie korzystać z aplikacji używających Qt4 np. Skype. Ale wiem, że to co wiem to za mało aby ocenić którą z bibliotek wybrać.
Kryteria jakie brał bym pod uwagę to:
- szybkość działania
- stabilność
- multiplatformowość
- wygląd
- łatwość wykorzystania w programowaniu
Moich aplikacji nie chciałbym łączyć z żadnym ze środowisk graficznych.
Co prawda do tworzenia tych aplikacji jeszcze może upłynąć trochę czasu, ale chciałbym usłyszeć zdanie innych na ten temat. Co lepiej wybrać? A może wstrzymać się do Gtk+ w wersji 3? :-P

mikolajS.

  • Gość
Gtk+ czy Qt4
« Odpowiedź #1 dnia: 2008-09-30, 21:44:32 »
Cześć!
Przyszłościowe języki to Java lub C# lub języki skryptowe typu Python lub Ruby!
Jeżeli pisać w C++ to najłatwiej w QT, gtkmm wraper do GTK+ jest trochę bardziej skomplikowany (poza tym QT jest natywnie w C++). Jeżeli wybierzesz C to Gtk+ jest idealny do tego języka. Jest jeszcze xWidget, FLK i wiele innych. Jeżeli zależy Ci na multiplatformowości i nie wiązaniu się z żadnym środowiskiem graficznym to programuj w javie. Spełnia ona wszystkie podane przez Ciebie kryteria, jedynie szybkość może być problemem w aplikacjach czasu rzeczywistego (rzadko kiedy jest to problem bo obecnie nawet gry powstają w javie)

energizer

  • Gość
Gtk+ czy Qt4
« Odpowiedź #2 dnia: 2008-10-02, 16:25:51 »
Co do Javy to nie mam do niej przekonania ze względu na dużo aplikacji napisanych w Javie używanych przeze mnie, które w funkcjonalności, wyglądzie były całkiem spoko, ale za to z szybkością słabo :-/
A czym C# góruje nad C++? Wydaje mi się, że C++ jest bardziej popularny, w internecie jak patrzyłem oferty dla programistów to głównie C++ i Java. Wydaje mi się, że raczej C++ niż C (w końcu nie bez powodu te dwa plusy ;-). Jak patrzyłem w internecie to więcej pozytywnych opinii zbiera Qt. Chciałbym zobaczyć zestawienie testów szybkości Qt z Gtk+ jeżeli takie istnieją...

axlinux

  • Gość
Gtk+ czy Qt4
« Odpowiedź #3 dnia: 2008-10-03, 18:12:33 »
Próbowałem trochę z Qt, j eżeli mogę się tak wyrazić to są to biblioteki nieco niskopoziomowe. Proponuję Javę, naprawdę świetnie się w niej pisze a Spring jest super. Java dość mocno przypomina C++ jeżeli chodzi o podstawową składnię.

Teraz się fajna książka pojawiła z Heliona do QT polskiego autora i wcale dużo nie kosztuje.


Jeżeli chodzi o C# to on nie pasuje do Linuksowca :P

Co prawda jest Mono... ale ...

  • Gość
Gtk+ czy Qt4
« Odpowiedź #4 dnia: 2008-10-03, 19:01:55 »
Ja osobiście dużo pisałem (piszę) w GTK+ a od jakiegoś czasu także w Qt (4). Jak ktoś już wyżej napisał, gdy piszesz w języku C to GTK+ jest bardzo dobrym wyborem. Jednak jeśli się decydujesz na C++, to wybierz Qt. Oprócz tego, że Qt jest "natywnie" biblioteką pisaną obiektowo, to ma jeszcze jedną przewagę - jest to tak na prawdę framework dla języka C++ (czyli coś takiego jak Spring dla Javy lub JavaServer Faces dla JSP/Javy, albo .NET dla ASP/C#). Ułatwia to pisanie nie tylko GUI, ale programów w ogólności (tak, w Qt można pisać także programy czysto "konsolowe").
Jednak jak to w przypadku frameworków bywa, warto się najpierw zaznajomić z samym językiem (C++), żeby móc potem wykorzystać wszystkie możliwości, które daje Qt.
Warto wspomnieć także że jest coś takiego jak QtJambi - Qt dla Javy (i chyba jest to oficjalny binding).

Co do Mono (czyli C#) to czytałem gdzieś (znaczy sam tego nie sprawdziłem - mogę się mylić), że brak w nim biblioteki obsługującej natywne GUI .NETa - trzeba pisać w GTK+ (jest binding GTK+ dla C#, nazywa się GTK# - czyli coś takiego jak GTKmm dla C++).
Czyli pisząc programy z graficznym interfejsem użytkownika w C#, albo korzystasz z GTK# albo ograniczasz się tylko do jednej platformy - Windowsa. (ale jeszcze to sprawdź lepiej sam).

Jest jeszcze jeden "problem" z pisaniem w C# i wieloplatformowością - Mono jest niepewną implementacją ze względów prawnych i niektóre dystrybucje GNU/Linuksa (np. Fedora) wyrzuciły Mono ze swoich repozytoriów. Czyli co z tego, że jest "linuksowa" implementacja .NET, jeśli dystrybutorzy boją się ją dołączać do swoich systemów operacyjnych.

energizer

  • Gość
Gtk+ czy Qt4
« Odpowiedź #5 dnia: 2008-10-05, 12:38:09 »
Aha, więc w najpliższym czasie możecie się spodziewać wydania kilku wspaniałych aplikacji napisanych przy pomocy C++ & Qt4 :-D (joke :-). Temat nadal otwarty, jeżeli chciałby ktoś jeszcze wyrazic swoją opinię to zapraszam.

kostuch

  • Gość
Gtk+ czy Qt4
« Odpowiedź #6 dnia: 2008-10-06, 16:08:38 »
Jeżeli chodzi o C++ to Qt wydaje się być bardzo dobrym wyborem. Myślę, że warto się również zainteresować wxWidgets.

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
Gtk+ czy Qt4
« Odpowiedź #7 dnia: 2008-10-06, 17:57:57 »
Ja polecam Qt i C++.

Java zła nie jest, ale do rozwiązań serwerowych. Jeżeli chodzi o desktop (a tu przecież o takich programach chyba mowa) to jest to zupełne nieporozumienie. Podobnie .net/mono.

mikolajS.

  • Gość
Gtk+ czy Qt4
« Odpowiedź #8 dnia: 2008-10-06, 21:18:05 »
Wybór języka programowania zależy od tego co chcesz pisać i na jakie platformy.
Osobiście piszę w C++ z wykorzystaniem Qt bo sprawia mi to największą przyjemność, choć miałem też przygodę z C#. Dobrym uzupełnieniem jest też dobra znajomość jakiegoś języka dynamicznego np. Pythona, który też jest bardzo przyjemny.
C++ jest popularny dzięki systemom embeded, na windows większość małych programów pisze się w C# lub java. (To co widzimy my zwykli użytkownicy to jest niewielka część tego co pisze się - głównie na potrzeby różnych firm)
Qt może być dobrym wyborem ze względu na łatwość kompilacji na różnych platformach (choć java ma znaczną tutaj przewagę bo nie musisz kompilować!). Patrząc na symbiana i Qt Extended (dawna Qtopia) może będzie dużo możliwości pisania ciekawych projektów.
Twój wybór języka obecnie nie powoduje, że za jakiś czas nie zmienisz zdania i nie zaczniesz programować w czym innym. Nie jesteś skazany na, żaden pojedynczy język i bibliotekę, w każdej chwili możesz zmienić i znając dobrze jeden język szybko nauczysz się innego, a szczególnie tak podobnych do siebie jak  C,C++,C# i Java.
Z tego co wiem to większość twierdzi, że łatwiej i chętniej programiści zmieniają C++ na Javę lub C# niż w przeciwną stronę, więc pewnie lepiej jak zaczniesz od C++ :)

axlinux

  • Gość
Gtk+ czy Qt4
« Odpowiedź #9 dnia: 2008-10-08, 16:50:35 »
"Java zła nie jest, ale do rozwiązań serwerowych. Jeżeli chodzi o desktop (a tu przecież o takich programach chyba mowa) to jest to zupełne nieporozumienie. Podobnie .net/mono. "

Kilka niezłych aplikacji jest napisanych w mono - przykład banshee mp3 player. Jednak na razie mono jest dla osób które nie zajmują się programowaniem w C# na użytek komercyjny. Raczej wykorzystują możliwości Mono hobbistycznie.

Dobra Java nie jest zła, powiem więcej: przyjemniej się w niej programuje i szybciej niż w C++ gdy zaakceptuje się "ograniczenia' jakie wprowadzili twórcy. Dla Javy są znakomite OpenSourcowe środowiska jak NetBeans i Eclipse, które pomagają programiście, dla QT i C++ chyba czegoś takiego nie znalazłem, chociaż mogę się mylić iż nie ma. Wracając do Javy to super jest Swing czyli Javowskie okienka, po których raczej już nie chce się mieć do czynienia z czymś tak mega utrudniającym życie jak np. WxWidgets.

Dla C++ proponuje dalej QT. Jeżeli znudzi Ci się C++ i QT zapraszam do Javy.

Prawdą jest że programy Javy są wolniejsze, ale znów nie aż tak że można by to nazwać nieporozumieniem.

  • Gość
Gtk+ czy Qt4
« Odpowiedź #10 dnia: 2008-10-08, 20:44:26 »
Środowisko programistyczne dla Qt to chociażby KDevelop.

Co do "ograniczeń" Javy, to faktycznie - niektóre są bardzo denerwujące. Na przykład to, że obiekty są reprezentowane zawsze przez referencje. Z jednej strony dzięki takiemu podejściu jest możliwe automatyczne usuwanie obiektów z pamięci, ale z drugiej strony bardzo komplikuje to kwestię kopiowania obiektów.

Moje zdanie jest takie - albo wybierasz trudniejszy język, który daje ci więcej możliwości (C/C++), albo łatwiejszy, który jednak ma pewne ograniczenia (Java, C#).

Syster

  • Gość
Gtk+ czy Qt4
« Odpowiedź #11 dnia: 2008-10-09, 15:09:25 »
A ja tak marginesie, w zasadzie do pana @ultr - Jaką książkę wydał helion nt. Qt?
Szukam szukam i nic...
W ogóle to książki do Qt to raczej rzadkość;/

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
Gtk+ czy Qt4
« Odpowiedź #12 dnia: 2008-10-09, 16:27:42 »
@Syster

To fakt, mało jest książek o Qt.

Jedyna polska książka o jakiej słyszałem, to "Poznaj Programowanie przy użyciu biblioteki QT w 24 godziny". Podobno niezła, ale ja jej nie mam.

Jest też całkiem niezły skrypt "C++ GUI Programming with Qt3" dostępny w Internecie.

Na pewno konieczna będzie dokumentacja:http://doc.trolltech.com/3.3/classes.html i http://doc.trolltech.com/4.4/classes.html.

Dobrze jest też przeanalizować przykłady dostarczone z Qt, choć uważam, że są nieco przekombinowane, co na początku utrudnia poznanie tej biblioteki.

Chyba tyle.

  • Gość
Gtk+ czy Qt4
« Odpowiedź #13 dnia: 2008-10-09, 21:17:08 »
Dobra książka o Qt4 to "C++ GUI Programming with Qt4", ale oczywiście nie dostępna w Polsce. Ja sobie ją z Irlandii sprowadziłem (chociaż gdzieś bliżej pewnie też można dostać).

axlinux

  • Gość
Gtk+ czy Qt4
« Odpowiedź #14 dnia: 2008-10-10, 16:00:29 »
http://helion.pl/ksiazki/cppwyk.htm

Książka nie jest rewelacyjna. Autor o WxWidgets nie pisze w sposób wyczerpujący, za to już dużo lepiej mu idzie o QT.