c# - mac - Desarrollando con Xamarin para Linux
xamarin gtk (5)
¿Es posible desarrollar y construir aplicaciones Linux con Xamarin con la misma base de código?
Después de algunos años con Ubuntu, mi sistema operativo principal ahora es Windows nuevamente.
Pero no es imposible que pueda cambiar a Mac.
Ahora tengo un poco de experiencia con Qt y ninguna experiencia con Xamarin. Con Qt puedes desarrollar bajo Windows, Linux y Mac y para Windows, Linux, Mac, iOS, Android, Windows Mobile, ... Son bastante claros al respecto. Dado que Xamarin es gratis y de código abierto ahora y todavía no tengo mucha experiencia en Qt, estoy considerando probar Xamarin para el desarrollo de plataformas cruzadas en lugar de Qt.
No poder lanzar mi software para Linux sería un factor decisivo para mí. Ser capaz de desarrollar bajo Linux sería bueno, pero es opcional. Pero después de toda mi investigación en Google, solo pude encontrar información y personas que solicitaban apoyo para desarrollar bajo Linux y no para Linux.
Hasta donde sé, esto no debería ser un problema solo con Mono. Pero hasta donde sé Xamarin> Mono y no obtengo todo en Mono, podría obtenerlo en Xamarin. Tampoco estoy seguro de qué tan bien apoyado estará Mono en el futuro. Para mí, parece que Xamarin es mucho más importante para Microsoft que Mono. No estoy seguro de si es posible, ya que Xamarin se basa en Mono, pero ¿es posible que Microsoft en algún momento decida no admitir Mono con compatibilidad .NET de la misma manera que Xamarin o incluso cancelar Mono como completamente independiente?
Así que estoy buscando un marco único para todas las plataformas de escritorio y móviles en las que puedo confiar y quiero saber si Xamarin y / o Mono y / o Xamarin + Mono podrían ser una alternativa a Qt antes de profundizar en cualquiera de Esas dos soluciones.
En caso de que alguien más se encuentre con esto q / a: la situación ha cambiado. Con Xamarin.Forms 3.0, Gtk # es compatible (como vista previa, en este momento). Por lo tanto, el soporte completo de la GUI de Linux está habilitado.
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/gtk?tabs=vswin
Entonces, Xamarin ahora cubre:
- Androide
- iOS
- Windows Mobile
- Aplicaciones de escritorio de Windows
- Aplicaciones de escritorio Linux Gtk
Lo único que queda por desear: la plataforma de destino de la aplicación web JS / HTML5, como parte de Xamarin :)
No, Xamarin no está disponible para Linux. Esta fue una decisión consciente tomada por el equipo de Xamarin hace varios años:
Miguel de Icaza 2011-08-04 11:52:37 UTC
Nos enfrentamos a un problema de control de calidad aquí.
El problema con el soporte de Linux es que necesitaríamos crear un paquete Mono autónomo para todos los bits que enviamos, ya que la mayoría de las distribuciones de Linux están ligeramente apagadas cuando se trata de Mono.
También significa que si publicitamos "Linux" tendremos que aplicar QA a una docena de combinaciones diferentes debido a diferentes distribuciones de Linux y diferentes ediciones de cada distribución.
Quizás admitiríamos solo una distribución única y una versión única, que está más cerca de lo que tenemos que hacer en Windows / Mac hoy.
Para aclarar, la gama de productos Xamarin no está disponible en Linux (Xamarin Studio, Xamarin.iOS y Xamarin.Android), pero MonoDevelop, la base de Xamarin Studio, y Mono, el tiempo de ejecución multiplataforma .NET definitivamente lo está.
Puede crear software de escritorio con MonoDevelop. El sitio MonoDevelop tiene muchas instrucciones para comenzar:
Parece que existe la posibilidad de que Xamarin Forms funcione en distribuciones de Linux. En este hilo de reddit, Miguel de Icaza dice:
Algunos de los miembros de nuestro equipo realmente se desarrollan en Linux. La razón por la que nunca lanzamos las herramientas de Linux es porque estábamos cobrando mucho dinero y la gente esperaría legítimamente que el software sea totalmente compatible. Teníamos suficiente para mantener contentos a nuestros usuarios de Mac y Windows, y agregar un número desconocido de distribuciones de Linux sonaba como una tarea difícil. Ahora que estamos comprando los SDK y ya no me sentiré mal si algo no funciona bajo una configuración particular de Linux, estaré feliz de lanzar las compilaciones de Linux.
Es decir: el hecho de que Forms es una herramienta de código abierto actualmente abre esta posibilidad.
Sí, a partir de mediados de 2018, es posible desarrollar aplicaciones GUI multiplataforma que apunten a windows / mac / linux / android / ios utilizando la biblioteca "Xamarin.Forms". Básicamente, tiene un proyecto de biblioteca compartida de código multiplataforma (UI y otras cosas multiplataforma) y un proyecto por plataforma para código específico de plataforma (Xamarin. Los formularios tienen una implementación de back-end para cada plataforma. En Linux, esto está usando GTK )
Sin embargo, con MonoDevelop solo puede desarrollar / construir el proyecto multiplataforma y el proyecto específico de Linux de la aplicación. Aún necesitará usar Visual Studio o Rider para desarrollar / construir para las otras plataformas.
Consulte la siguiente respuesta: https://.com/a/53317021/298005
https://github.com/0xFireball/xamarin-android-linux
Como dijo matthewrdev, Xamarin.Studio, Xamarin.iOS y Xamarin.Android no son compatibles "oficialmente"; sin embargo, Xamarin.iOS usa un emulador virtual de todos modos (y no creo que haya una solución para que Xamarin.iOS se ejecute en Linux), pero para Xamarin Studio (MonoDevelop en Linux o Jetbrain''s Riders (cómo ejecutarlo en Linux) sin soporte oficial también se proporciona en el enlace) Puede ejecutarse en Linux como una alternativa para Xamarin.Studio, y ese enlace que compartí explica cómo instalar Xamarin.Android en Linux, así que solo para Xamarin.iOS necesitará migrar o arranque dual o algo, ¡espero que ayude! (¡Dejé de usar Xamarin yo mismo, sin embargo, este entorno ayuda a desarrollar para Xamarin en Linux!)