Rozwijam oprogramowanie dla bogatych klientów na Mac OS X i Linux. Chciałbym przenieść aplikację do systemu Windows i nie być użytkownikiem produktów Microsoft, nie jestem zaznajomiony z systemem Windows.Co wybrać interfejs API systemu Windows dla bogatej aplikacji klienckiej?
Co ja znam:
W systemie Mac OS X, mam możliwość Kakao i Objective C lub węgiel i C/C++. W Linuksie mam opcję GTK + i C/C++ lub Qt i C++. Wolę Cocoa na Mac OS X i GTK + na Linuksie. Generator interfejsów dla kakao i polany dla GTK + ułatwia życie. To fun umożliwia tworzenie bogatych klientów w tych systemach operacyjnych.
Moje główne klasy lub "model" w MVC są napisane w wieloplatformowym C++. Klasy interfejsu użytkownika lub "widok i kontroler" w MVC są napisane w "preferowanym" języku i GUI API dla każdej odpowiedniej platformy.
C++ jest językiem, który najbardziej mi się podobał. Używam obszernie bibliotek Boost. Szczególnie inteligentne wskaźniki, wątki i biblioteki sieciowe Asio. W przypadku Unicode, lokalizacji itp. Używam International Components dla Unicode (ICU).
Pytanie 1: Jaki jest preferowany język i interfejs API GUI dla platformy Windows, która jest zgodna z moimi klasami modeli międzyplatformowych?
Pytanie 2: W jaki sposób uzyskać dostęp do moich klas modeli międzyplatformowych?
Na przykład w systemie Mac OS X uzyskuję dostęp do moich klas modeli za pomocą klas kontrolerów. Klasy kontrolerów są implementowane w Objective-C++. Objective-C++ to połączenie C++ i Objective-C. Zobacz obiekty "rozmawiaj z" obiektami kontrolera w Objective-C, podczas gdy kontroler obiektów "rozmawia" z obiektami modelu w C++.
W systemie Linux wszystkie klasy są zaimplementowane w C++.
racja, nie ma sensu pisać kodu tylko w systemie Windows, kiedy można zachować format krzyżowy. oczywiście wolałbym Qt od GTK + (brak narzutu wydajnościowego, lub mistmatch GUI!), ale wspomniane już pytanie lubiło GTK +, więc po prostu zatrzymaj to. – Javier