c# - que - windows forms vs wpf 2017
Hacer una aplicación C#/ Winform multiplataforma: ¿debería usar AIR, Mono u otra cosa? (9)
¿Por qué irías con Air?
Usa GTK # y tienes un motor de formularios multiplataforma y mantienes tu código C #.
Tengo una aplicación que he escrito en C # / WinForms ( mi pequeña aplicación ). Para hacerlo multiplataforma, estoy pensando en rehacerlo en Adobe AIR. ¿Hay algún argumento a favor de WinForms como una aplicación multiplataforma? ¿Existe un futuro multiplataforma para Winforms (p. Ej., Mono, etc.)? Sugerencias para el desarrollo de UI multiplataforma
Por multiplataforma quiero decir, actualmente, Mac OSX, Windows y Linux.
Esta pregunta fue formulada de nuevo y respondida con mayor éxito .
Bueno, creo que la única forma de utilizar plataforma confiable de forma cruzada con C # es Microsoft Silverlight , pero no es realmente WinForms ni está basado en navegador. Aparte de eso, sí Mono es una oportunidad.
En lo que respecta a mi experiencia en Flex / AIR / Flash actionscripting, el entorno de desarrollo de Adobe AIR y los conjuntos de herramientas de codificación / depuración son muy inferiores a los de Visual Studio y .NET SDK a partir de ahora. Sin embargo, los conjuntos de herramientas UI son superiores.
Pero como ya tiene un código C # activo , portarlo a ActionScript podría requerir un rediseño debido a que ActionScript tiene una forma diferente de pensar / programar, usan diferentes tipos de datos primitivos, por ejemplo, usan solo un Number
lugar de int float double
etc. y las herramientas de depuración son silenciosas en comparación con VS IMO.
Y escuché que Mono''s GtkSharp es una plataforma silenciosa y decente.
Pero si no le molestan los problemas de herramientas de codificación / depuración, AIR es una gran plataforma. Me gusta cómo Adobe integra la experiencia de Flash en ella. Por ejemplo, puede iniciar una instalación de la aplicación de AIR con un clic de botón en un clip de película flash, ese tipo de integración.
No creo que haya un futuro para WinForms en absoluto. Dado que parece haber sido una solución provisional, incluso en el mundo de MSFT (una envoltura muy delgada alrededor de Win32). Y prácticamente no se han realizado cambios en System.Windows.Forms en .NET 3.0 y 3.5
</speculation>
Yo usaría Java o Air.
Si desea utilizar .net Framework, Microsoft Silverlight es una buena (¿la única?) Opción. El navegador hace un buen trabajo como shell, pero también puede escribir su propio shell de aplicaciones para él. Por ejemplo, Scott Handelman menciona el NY Times Reader escrito en Silverlight y hostet en Cocoa en una Mac.
WinForms es totalmente compatible con Mono, por lo que son multiplataforma.
Creo que siempre que se asegure de que el código de lógica de negocios que escribe sea multiplataforma (es decir, usar barras diagonales inversas en las rutas solo funciona en Windows - las barras diagonales funcionan en todos los sistemas operativos), Mono no debería tener problemas importantes para ejecutar una versión no modificada Programa WinForms. Solo asegúrate de probar fallas gráficas.
Hice una pregunta similar la semana pasada. He estado usando Mono todo el tiempo, y no he tenido problemas al ejecutar las aplicaciones que compilo en IL para ejecutar en SuSE Linux (normalmente ejecuto KDE) o Windows, sin embargo, no he salido y tengo un Mac aún por probar Encendido. Sin embargo, pronto lo estaré haciendo en un par de semanas. Pero todo el desarrollo en Mono ha sido muy bueno en la creación de aplicaciones que se ejecutarán en múltiples plataformas.
Estoy pensando en rehacerlo en Adobe AIR
Al no haber pasado mucho tiempo con AIR, mi opinión personal es que es mejor llevar una aplicación web al escritorio y proporcionarle un shell o ejecutar su proyecto flash / flex existente en el escritorio.
Por cierto, si no conoces ActionScript, me refiero a sus detalles, peculiaridades, etc., no te olvides de tener en cuenta el tiempo que tardará Google para obtener respuestas.
¿Hay algún argumento a favor de WinForms como una aplicación multiplataforma? ¿Existe un futuro multiplataforma para Winforms (p. Ej., Mono, etc.)?
Siempre es difícil predecir lo que sucederá, pero hay al menos un proyecto (Plastic SCM) que conozco que usa Mono Winforms en Win, Mac y Linux, por lo que es ciertamente factible. Sin embargo, dicen que construyeron la mayoría de sus controles desde cero (y afirman que quieren liberarlos como fuente abierta, pero no están seguros si o cuándo), por lo que necesitarán poner algo de trabajo para que las cosas se vean "bonitas" .
Jugué con Winforms en plataformas que no son Windows y, desafortunadamente, no es exactamente "maduro" (especialmente en Mac). Entonces, lo que obtienes de la caja puede o no ser suficiente para tus necesidades.
Si decide que una aplicación de escritorio no es la mejor manera de proporcionar una solución multiplataforma, siempre puede tomar su lógica comercial escrita en C # y crear una aplicación web completa con ASP.NET o ir con Silverlight, por lo que hay muchas otras opciones. existir con C #.