linux - programas - wine vs winehq
Cómo un desarrollador de Windows puede hacer que su software funcione mejor en Wine (8)
Muchos de mis usuarios me han estado diciendo que les gustaría ejecutar mi software en sus máquinas Linux bajo Wine.
Pero soy un desarrollador de Windows que prácticamente no tiene experiencia con Linux.
Ahora podría pasar un mes o dos instalando Linux, aprendiendo Linux, instalando Wine, aprendiendo Wine, y asegurándome completamente de que mi aplicación funcione bien en Wine. Pero todavía estoy desarrollando para Windows, así que no quiero tomar tanto tiempo lejos del desarrollo en este momento.
Entonces, ¿qué puedo hacer sin demasiado esfuerzo para que mi programa se ejecute lo mejor posible en Wine?
Encontré esta ayuda general para ejecutar aplicaciones en Wine .
¡No use demasiado de la API de Windows! No use nada nuevo de Microsoft;)
¿Con qué idioma / plataforma desarrollas? Dependiendo de cuál sea, no debería ser ningún problema hacerlo funcionar nativo. Por ejemplo, si usa Java o Python, ambos funcionan muy limpiamente en Linux. Del mismo modo, si eres un desarrollador de .NET, deberías poder, con cierto dolor, hacer que tu aplicación se ejecute en Mono.
Descargue VMWare y una máquina virtual Ubuntu (Ubuntu es una distribución popular de Linux) desde el sitio VMWare. Esto le proporcionará un O / S Linux dentro de su entorno Windows sin necesidad de instalar Linux manualmente.
A continuación, puede usar las instrucciones aquí para instalar Wine, esa página Wiki también le proporciona algunas instrucciones sobre cómo usarlo.
Si sigue lo que sugirió Adam Rosenfield y simplemente intenta ejecutar su aplicación en Wine sin modificaciones, podrá determinar rápidamente si hay problemas. Supongo que hay algunos, de lo contrario tus usuarios no te habrían contactado al respecto :)
Hay muchas maneras de obtener ayuda con las aplicaciones de depuración en Wine, consultar el sitio web para conocer las opciones y elegir algunas de las formas que más le convengan. Como siempre, es mejor no confiar en un solo canal para la comunicación.
Además, si está más cómodo desarrollando en Windows, el enfoque de usar una máquina virtual le permitirá compilar su código como es habitual en Windows y copiar el binario en la máquina virtual para probarlo (Ubuntu admite la navegación / montaje de recursos compartidos de Windows).
Evitar el uso de WPF es la sugerencia n. ° 1.
Pero realmente no te mataría probar tu aplicación en Wine. No es tan difícil de probar; ciertamente no llevará meses. Por ejemplo:
Use http://www.ubuntu.com/getubuntu/downloadmirrors#wubi para instalar Ubuntu en un archivo en su equipo Windows, luego inicie ubuntu e instale el último Wine desde http://winehq.org/download/deb Luego intente ejecutar el instalador de tu aplicación Si no funciona, consulte las Preguntas frecuentes sobre vinos, solicite ayuda en uno de los foros de vinos y / o bugs en el registro de errores de Wine.
Debes tomar aproximadamente tres horas desde un punto muerto para probar tu instalador.
Siempre que no esté haciendo algo inusual, como jugar con el hardware o hurgando en las llamadas de la API y estructuras de datos no documentadas, debería poder ejecutar su código en Wine con pocas o ninguna modificación. Wine tiene una implementación bastante completa de las API públicas de Windows, por lo que si tu programa funciona bien y no se arruina, debería funcionar.
Encuentra probadores beta de Linux. Puede informar un error a los desarrolladores de WINE o encontrar un error en su aplicación.
Me sorprendió bastante cuando una de mis aplicaciones Delphi5 salió del zip.
La única forma real en que esto va a funcionar es hacerlo usted mismo, es decir, instalar vmware y una distribución de Linux como Sean sugirió. Linux no es realmente tan difícil, y todos estamos aquí para ayudarlo.
Después de hacer una prueba rápida, puedo confirmar que funciona en gran medida. Hay un ACCVIO que lee 0x34 durante el inicio, se puede ignorar el diálogo de error y se ejecuta la aplicación, abrí el Steve McCarthy GEDCOM.
Esto fue utilizando Wine 1.1.12 bajo MEPIS 7.9.94-rc1_32 bajo VMWare. Recomiendo encarecidamente usar VMWare para este tipo de cosas.
Wine es más sensible a los errores que Windows. Por ejemplo, Wine bloqueará los identificadores de ventana NULL y no podrá crear ventanas si la clase no es válida, mientras que Windows es más robusto y evitará el error.
Es una oportunidad para limpiar tu código.
Me sorprendió lo bien que Wine ejecutó mi aplicación la primera vez que lo intenté. Sin embargo, tuve que deshacerme de un componente de terceros basado en controladores.