Kamil Szalewski

Kamil Szalewski myślę, projektuję i
staram się tworzyć

Temat: Przenośne aplikacje okienkowe

Witam,
Od pewnego czasu realizuję projekt średniej wielkości aplikacji desktopowej. Testowałem różne możliwości w programowaniu okienek (głównie dla Windows) - Visual C#, Visual C++, Java. Bardzo spodobały mi się możliwości Visual C++ w wersji studia Express, jednak mocno ogranicza on platformy ze względu na framework (miałem problem z przeniesieniem bardzo małej aplikacji z .NET 4.0, na 2.0 i skończyło się na instalacji starszej wersji środowiska na maszynie wirtualnej z windows 2000). Z drugiej też strony, szkoda mi wykorzystywać taką kobyłę. Mój projekt sam w sobie jest śreniej wielkości ale korzysta tylko z podstawowych pól formularzy i przycisków, wczytywania plików testowych, zapisywania ich - reszta to algorytmy i obliczenia. Stąd też, potrzebuję czegoś małego i elastycznego do szybkiego Tworzenia prostych okienek z podstawowymi możliwościami.

Byłbym wdzięczny za odpowiedzi i porady co wybrać? Qt, GTK, wxWidgets (pewnie coś innego ktoś mi wyciągnie z zakurzonej skrzynki :D)?

Pozdrawiam,
Kamil
Mateusz Herych

Mateusz Herych Arch Linux TU,
Student PK

Temat: Przenośne aplikacje okienkowe

Zdecydowanie Qt. Pobierz i zainstaluj QtSDK dla Windows ze strony Nokii. Dostępny tam QtCreator pozwoli Ci bardzo szybko tworzyć i programować zachowanie okienek. Ponadto Qt umożliwia natywny wygląd aplikacji dla każdej wpieranej platformy i o wiele lepsze wsparcie dla Windows niż GTK. Dodatkowo kilka bonusów, takich jak QtSql, QtNetwork, które możesz wykorzystać w swoim projekcie.

Qt ma swój kanał na youtube, gdzie znajdziesz kilka krótkich tutoriali, które pomogą Ci w nauczeniu się podstaw biblioteki i obsługi IDE.Mateusz Herych edytował(a) ten post dnia 19.07.10 o godzinie 19:32
Daniel Łysiak

Daniel Łysiak Specjalista w
sprawach
audiowizualnych

Temat: Przenośne aplikacje okienkowe

Ja wybrałbym QT - ma wiele przemyślanych rzeczy a co najważniejsze zgrabnie działa pod linuxami, więc jeśli umiesz pisać przenośny kod (m.in. nie bawisz się w skomplikowane operacje bitowe i inne rzeczy zależne od architektury CPU/systemu), to na pewno czas poświęcony na dostosowanie się do tych bibliotek się zwróci.
Kamil Szalewski

Kamil Szalewski myślę, projektuję i
staram się tworzyć

Temat: Przenośne aplikacje okienkowe

No to byłoby na tyle, właśnie takich odpowiedzi oczekiwałem. Wielkie dzięki Panowie ;)

Pozdro,
Kamil
Leszek Hanusiak

Leszek Hanusiak Software Developer

Temat: Przenośne aplikacje okienkowe

Również wybrałbym QT. Od jakiegoś czasu, QT jest na LGPL.
Po napisaniu programu w QTCreatorze pod windows, łatwo później taki kod przenieść na inne platformy (mam doświadczenie tylko z Xp do Ubuntu).
Nie ma też większych problemów z współpracą QT "contenterow" z boostem .
Do designera idzie się przyzwyczaić. Pisząc w QT dostajesz pełne SDK, a QTCreator jak dla mnie jest naprawdę intuicyjny. Minus to cena, mnie zwala z nóg. Ale jeśli zniesiesz niedogoności LGPL...

Odradzam wxWidgets. Moja przygoda z ta biblioteką zaczęła się na 2.4 skończyła na 2.9. Miałem masę problemów, aby przenieść kod napisany pod Windows do środowiska UX. Nie ma też ciekawego IDE dla wxWidgets.

Miałem też mała przygodę z przeniesieniem kodu do Mono C#, do której wolałbym nie wracać.

P.S. Należy pamiętać iż wtyczki QT, nie działały dla Visual Express, i oczywiście debuger nie jest tak przyjazny jak w Visual...
Kamil Szalewski

Kamil Szalewski myślę, projektuję i
staram się tworzyć

Temat: Przenośne aplikacje okienkowe

A zapomniałem oczywiście o najważniejszym aspekcie (dziękuję Panie Leszku za przypomnienie). Jak jest z licencjami w Qt, ponieważ aplikacja, którą piszę ma być jak najbardziej komercyjna, dystrybuowana przez firmę za pośrednictwem internetu?

LGPL aż tak bardzo straszy? Czytałem gdzieś, że trzeba jedynie umieścić link do źródeł Qt i zapewnić sobie ich najnowszą wersję przy pisaniu kodu?

Pozdro,
Kamil
Leszek Hanusiak

Leszek Hanusiak Software Developer

Temat: Przenośne aplikacje okienkowe

LGPL nie straszy :) tylko czytanie i rozumienie tych licencji to masakra.

Generalnie jak to wygląda dla aplikacji komercyjnych(z tych ważniejszych uwag):

1. Należy linkować się dynamicznie do bibliotek QT.(nie możemy statycznie)
Być może przez to będziesz musiał przebudować cały projekt QT.
(jak coś to wal z pytaniami na ile wiem to pomogę).
Mi kompilacja QT zajęła jakieś 6h :).

2. Jeśli zmienisz coś w źródłach QT,
należy te zmiany udostępnić szerszej publiczności,
oraz poinformować skąd te zmiany będzie sobie można ściągnąć.
Hmm, ale jak Cię o to ktoś nie spyta to chyba nie musisz :D

3. Nie ma supportu ale jest forum :) i naprawdę dobra dokumentacja.

4. Z QT Jambi było tego więcej, ale jak rozumiem raczej chcesz pisać w C++.
Zresztą QT Jambi nie jest juz wspierane przez Nokie. Nie wiem jak wygląda
sprawa z pythonem...

Trochę niedogodności jest, ale kto by zapłacił ok 5tys $ za jedna licencję ?

Jak będziesz miał jakieś pytania to śmiało.

P.S. Tak ja zrozumiałem licencję LGPL dla QT.
Kamil Szalewski

Kamil Szalewski myślę, projektuję i
staram się tworzyć

Temat: Przenośne aplikacje okienkowe

Okej, dzięki wielkie ;) Póki co jestem na etapie zbierania materiałów i tworzenia specyfikacji programu. W międzyczasie będę tworzył składowe aplikacje i testował Qt, więc pomoc będzie potrzebna, jednak na prawdziwe pytania przyjdzie pora jak zacznę to wszystko składać w całość. W razie czego wiem gdzie się zwrócić ;-)

Jeszcze raz dzięki wielkie za niedocenioną pomoc i uprzejmość,
Kamil

Następna dyskusja:

Pomoc przy nauce C++ (aplik...




Wyślij zaproszenie do