lunes, mayo 28, 2007

¡Hola Lina!
Linux apps on Windows & Mac OS

El mundo de la dependencia de la plataforma para la ejecución de programas cada vez se hace más estrecho. Hoy en día es posible, siempre con algunas limitaciones, correr aplicaciones Windows sobre plataformas Linux usando Wine, o correr aplicaciones .NET usando Mono en Linux o Mac OS X; también es posible correr aplicaciones de 16 bits escritas para WIN16 sobre Win32 o aplicaciones Win32 en Win64 con el famoso WOW (no, no es el World of Warcraft, es Windows On Windows) y con Softgrid es posible correr cualquier aplicación Windows sobre cualquier plataforma Windows sin instalar dlls mediante la virtualización de aplicaciones.

Para el tema de las aplicaciones Linux/UNIX empezamos corriendo terminales sobre Windows, luego las X gráficas para Windows con un montón de soluciones hoy en día, incluso gratuitas, como Exceed o WinAxe; continuando con esta gama de productos aparecieron los Services For UNIX (SFU) dónde ya venía un UNIX, hasta que en Windows Server R2 se incluye un UNIX nativo en el kernel, es decir, en Windows Server 2003 R2 puedes correr las aplicaciones nativamente sobre WIN32 o sobre UNIX. El Unix que trae se llama Interix y es Posix completo.

Cuando corres una aplicación sobre Interix, esta se va a ejecutar nativamente, sin emulación, sobre la plataforma, pero para realizar esto hay que compilar los códigos fuente del programa y en el mundo veloz de hoy en día se intentan minimizar los riesgos. Si empieza a dar problemas de librerías o de compatibilidades de versiones deja de ser funcional.

El mes que viene una nueva empresa, una “Startup” planea lanzar al mercado Lina, una aplicación similar a Wine, pero para Windows y Mac OS X. La idea es sencilla, compila en Linux/UNIX y virtualiza la aplicación para que pueda correr sobre Windows y Mac OS X como hace Softgrid. La empresa se llama OpenLina y tiene unos videos para que veas como funciona:


Un problema menos.

Saludos!

7 comentarios:

  1. La putada de estas aplicaciones suelen ser tonterías triviales como rutas puestas "a cañón" ( fopen("/etc/miaplicacion/algo.cfg","r"), ~/Desktop/, "MI\\RUTA" en win), nombres de ficheros en mayúsculas y minúsculas, etc. Recuerdo Novell tenía una presentación para portar aplicaciones .NET a Mono (la estoy buscando y no la encuentro), y la mayoría de puntos eran cosas así de triviales.

    Sin embargo, a pesar de ser tan triviales, son errores tan frecuentes que Mono ha incluido mecanismos para evitar los problemas que dan dentro de su propia API. Desde la versión 1.1.18, si pones la variable de entorno MONO_IOMAP a "all", cuando la aplicación intenta acceder a una archivo llamado "leeme.txt", si no lo encuentra, sí encontrará ficheros llamados, por ejemplo "LeeMe.txt", "LEEME.txt", "LEEME.TXT", etc.

    Una dudilla de SFU/Interix: ¿está realmente disponible "out of the box" en Vista o sólo en ediciones para servers? La gente que va a la tienda a comprar portatil y le viene con windows vista puede compilar aplicaciones que tiran de pthread y demás?

    ResponderEliminar
  2. Lo de Lina ya lo había leído, y me parece un poco feo que hayan lanzado las campanas al vuelo cuando no tienen una versión 1.0 que descargar aún.

    Interesante el repaso que has dado, aunque olvidaste una de las últimas "promesas": Adobe Apollo.

    No vemo pronto

    ResponderEliminar
  3. A lo de "...correr aplicaciones .NET usando Mono en Linux o Mac OS X" deberías ponerle un asterisco (*) de los grandes.

    Aunque Mono es un bonito intento, la falta de funcionalidades en comparación con el framework de Windows es de risa. Y además, todos los controles gráficos de terceros que conozco funcionan exclusivamente en Windows (GDI+).

    Espero que con lo bien que parecen se llevan ahora Novell y Microsoft, surja una alternativa seria del framework tanto para linux como para los mac.

    ResponderEliminar
  4. maligno o los demas os quiero proponer un reto haver si sois capaces de entrar o hackear la web de www.monlau.es venga saludos

    ResponderEliminar
  5. Anónimo,

    no seas malo, ¿eres de monlau? Vamos a hacer allí los Hands On Lab, no seas malo.

    ;)

    ResponderEliminar
  6. Acabo de pulsar uno de los enlaces de www.monlau.es (en concreto en http://www.monlaumototest.com)y obtengo esto:

    "Fatal error: Cannot instantiate non-existent class: sql_db in /var/www/mototest/db/db.php on line 86"

    ...sin comentarios.

    ResponderEliminar
  7. El anónimo del primer comentario dijo:
    «Una dudilla de SFU/Interix: ¿está realmente disponible "out of the box" en Vista o sólo en ediciones para servers? La gente que va a la tienda a comprar portatil y le viene con windows vista puede compilar aplicaciones que tiran de pthread y demás?»

    El subsistema para aplicaciones basadas en Unix sólo está disponible en Windows Vista Enterprise y Windows Vista Ultimate. Esta descarga proporciona las herramientas:

    Utilities and SDK for Subsystem for UNIX-based Applications in Microsoft Windows Vista/Windows Server Code Name "Longhorn" Beta 3

    ResponderEliminar