No hay una respuesta fácil para esto.
Lo que hacemos:
- Cuidadosamente haga los casos de uso para el software desde el punto de vista del cliente. No continúe hasta que haya validado los casos de uso “IS” y los casos de uso “DEBERÍA”.
- Itere el diseño de los casos de uso “DEBERÍA” frente a su diseño de interfaz de usuario.
- Desarrolle cuidadosamente la arquitectura MVC correcta para la aplicación: pase más tiempo en esto que lo que gasta en la codificación y NUNCA comience con la codificación antes de que se resuelva el MVC.
- Hacer UI para Mac en Xcode y ObjC o Swift
- Hacer interfaz de usuario para Linux / Windows en Qt y C ++
- Hacer el modelo de fondo en C ++; es trivial envolver C ++ como ObjC
La razón para usar diferentes interfaces de usuario es porque la interfaz de usuario de Apple está muy bien desarrollada y funciona mejor con las herramientas de Xcode. Qt es bueno para multiplataforma entre Linux y Windows: técnicamente puede usarlo incluso para Mac, pero no es tan flexible o bonito, y si se lanza en la tienda de aplicaciones de Apple, Xcode es el único camino a seguir.
- ¿Cuál es una buena manera de estimar el valor de una aplicación?
- Creo que WhatsApp es basura. ¿Estás de acuerdo? ¿Por qué?
- ¿Son los programas portátiles mejores que los instalados?
- ¿En qué medida se usa Cadence Virtuoso en la industria? ¿Qué complejos circuitos puedes hacer usando ese software?
- ¿Cuál es la función del software de tiempo y asistencia?
La parte del modelo depende menos de la plataforma en la que se encuentre, por lo que siempre que haya diseñado bien los componentes MVC, el entorno no importa tanto y se reduce principalmente al lenguaje.