Desarrollo software de cliente enriquecido en Mac OS X y Linux. Deseo portar una aplicación a Windows y no ser usuario de los productos de Microsoft, no estoy muy familiarizado con Windows en general.¿Qué API de Windows elijo para una aplicación de cliente enriquecido?
Lo que estoy familiarizado con:
En Mac OS X, no tengo la opción de Cacao y Objective C o carbono y C/C++. En Linux, tengo la opción de GTK + y C/C++ o Qt y C++. Prefiero Cocoa en Mac OS X y GTK + en Linux. Interface Builder para Cocoa y Glade para GTK + me facilita la vida. Es diversión para crear clientes ricos en estos sistemas operativos.
Mis clases principales, o "modelo" en MVC, están escritas en C++ multiplataforma. Las clases de interfaz de usuario, o "vista y controlador" en MVC, están escritas en el idioma "preferido" y la API GUI para cada plataforma respectiva.
C++ es el lenguaje con el que estoy más familiarizado. Yo uso las bibliotecas de Boost extensivamente. Punteros, hilos y bibliotecas de redes asio especialmente inteligentes. Para Unicode, Localization, etc., uso International Components for Unicode (ICU).
Pregunta 1: ¿Cuál es el idioma "preferido" y la API GUI para la plataforma Windows que es compatible con mis clases de modelos multiplataforma?
Pregunta 2: ¿Cómo accedo a mis clases de modelo multiplataforma?
Por ejemplo, en Mac OS X, puedo acceder a mis clases de modelo a través de clases de controlador. Las clases de controlador se implementan en Objective-C++. Objective-C++ es una combinación de C++ y Objective-C. Ver objetos "hablar con" objetos del controlador en Objective-C mientras el controlador objeta objetos del modelo "hablar con" en C++.
En Linux, todas las clases se implementan en C++.
bien, no sirve de nada escribir código solo de Windows cuando puede mantenerlo en forma de cruz. por supuesto, preferiría Qt sobre GTK + (¡sin sobrecarga de rendimiento, o empate de GUI!), pero la pregunta ya mencionaba que le gustaba GTK +, así que simplemente guárdalo. – Javier