¿Es Xamarin una buena opción para crear software para PC / Mac de tamaño mediano y una aplicación móvil (multiplataforma) que reutilice una gran parte del código de PC / Mac?

.net (.net = C # || F #) se ha convertido con la tecnología multiplataforma de Xamarin y será aún mejor en pocos años.

Hoy .net no es solo tecnología xplat horizontalmente:

  • móvil (Android, iOS, Windows *)
  • Escritorio (WPF, WindowsForms, GTK # en Linux / mac y AppKit en Mac)

pero la tecnología vertical xplat donde los usuarios pueden compartir el código C # / F # a través de ASP.net móvil, de escritorio y servidor

Por lo tanto, es una buena opción para

  • Desarrolladores .net para extender sus aplicaciones en otras plataformas
  • Cualquier desarrollador que no sea de mente estrecha (Java, Swift y Objective-C) que desee extender sus aplicaciones a otras plataformas.
    Hay un número cada vez mayor de desarrolladores de java / objc / swift que aceptan cada vez más a Xamarin, pero aún hay muchos fanáticos.
    Lea los comentarios en esta publicación de blog de iOS (no es necesario decir quién es Ray:
    Creación de aplicaciones iOS con Xamarin y Visual Studio

EDITAR:
Para tener una respuesta completa, deberá verificar otras opciones como Qt, alguna tecnología híbrida. java …

Según mi experiencia, puedo decir que Xamarin Mac tiene muchos problemas en este momento y necesita muchas mejoras. Entonces mi respuesta es ahora. En esta condición de Xamarin Mac, es mejor crear una aplicación mac nativa.

Pero hay que tener en cuenta que la situación opuesta es el desarrollo de aplicaciones móviles Xamarin. Está bien desarrollado y madurado y vale la pena intentarlo.

Buena suerte y buen desarrollo.

Sí, el mayor inconveniente en este momento:

  • La creación de la aplicación Mac solo es compatible con Xamarin Studio en Mac y también debe usar XCode para editar archivos UI. En general, muy por debajo de Visual Studio para todos los demás proyectos.
  • No hay soporte no beta para Apple Watch

Ambas cosas están en progreso, por lo que probablemente en algún momento cambiará.