netcore net gui asp wpf user-interface osx frameworks

wpf - net - Rich GUI OS X Frameworks?



net core 3 release date (8)

Además de Interface Builder que se incluye como parte de las herramientas de Xcode, también puedes usar QT, GTK +, AWT & SWING (para tu fondo de Java), Tk, Squeak (para tu fondo de Smalltalk), Shoes (pequeño kit de herramientas Ruby GUI muy genial) ), FXRuby (más Ruby), wxWidgets, XULRunner y otros, estoy seguro de que lo he olvidado. Sin embargo, para las aplicaciones más nativas, Interface Builder es tu mejor opción.

¿Qué recomendaría para el desarrollo de OS X de una aplicación gráfica como las posibles en WPF?

Mi experiencia específica está en Smalltalk y Java, pero actualmente trabajo principalmente en DHTML / .NET (ASP.NET/C#).


Cacao. Considerado por muchos como el mejor marco de aplicación de la historia. El lenguaje es Objective-C, un lenguaje similar a SmallTalk que inspiró a los creadores de Java.

En realidad, no existe una alternativa razonable a Cocoa para el desarrollo de OS X, a menos que tenga necesidades específicas como querer ser multiplataforma.


Cocoa es el marco principal para usar en Mac OS X. Es lo que Apple usa, es lo que usa la mayoría de los nuevos desarrollos, y es donde las nuevas características se agregan principalmente.

Si vienes de WPF, creo que podrías encontrar algunos de los conceptos en Cocoa familiar. (A pesar de que Cocoa es solo un poco más viejo.) Está construido completamente en torno a MVC, hay notificaciones y enlaces de cambio de propiedad, hay soporte de animación, persistencia y marco de gestión de gráficos de objetos, y más.

(Además, es posible que desee agregar "mac" a las etiquetas).


Con su fondo de Java, no se desvíe del puente Cocoa-Java ahora en desuso. Al principio de la historia de OS X, Apple proporcionó una interfaz Java (laboriosamente mantenida a mano) para las bibliotecas de Cocoa. Debido a las diferencias semánticas entre Java y Objective-C, muchas de las funciones más potentes de Cocoa, incluida la vinculación de clave-valor (sobre la que se crean muchas otras características) es muy difícil, lo que lleva a la divergencia de capacidades de Objective-C y Java y la eventual desaprobación del puente. Todo el desarrollo de Cocoa se realiza mejor con Objective-C o uno de los muchos (automáticamente generados) puentes a lenguajes dinámicos como Python o Ruby.

Con tu formación en Smalltalk, esperaría que pudieras elegir Objective-C en uno o dos días.


No estoy seguro de qué es WPF, pero la mayor parte del desarrollo para la plataforma OSX se realiza en Objective-C con Cocoa. Puede utilizar las API de Carbon en desuso con otros lenguajes como Java, pero las aplicaciones nuevas para OSX realmente deberían desarrollarse en Objective-C. Puede comenzar con la guía de Apple con XCode como su IDE.


Para decirlo de una manera diferente a los carteles anteriores: si no estás diseñando tu interfaz en InterfaceBuilder y manipulándola con Objective-C, entonces vas a terminar con una aplicación que no se ve, no se siente, no actúa, ni funciona de la manera una aplicación de Macintosh debería, y se destacará como una molestia para los usuarios. Será una experiencia desagradable para el usuario en comparación con otras aplicaciones, y es probable que desee una aplicación diferente debido a eso.

Los kits de herramientas como QT son aceptables si su aplicación ya usa QT y desea portarla rápidamente, pero si está escribiendo una nueva aplicación (o una GUI separada), escríbala en Cocoa usando ObjC u ObjC ++.


Puede echar un vistazo a PyObjc, que es un puente entre el lenguaje de programación Python y Objective-C, incluidos los enlaces para los componentes de Mac OS X, incluido Cocoa.


Con un fondo Smalltalk, recomendaría directamente Cocoa y Objective-C. Sin embargo, si te estás inclinando por un lenguaje dinámico, RubyCocoa te permitirá usar Ruby, que creo que será más fácil de aprender que Python.