Slashdot Mirror


VM Enables 'Write-Once, Run Anywhere' Linux Apps

An anonymous reader writes "A startup will soon launch 'a kind of holy software grail,' according to an article at LinuxDevices. The dual-licensed technology is claimed to enable more or less normal Linux applications to run — without requiring recompilation — under Windows, Mac, or Linux, with a look and feel native to each. 'As with Java, Lina users will first install a VM specific to their platform, after which they can run binaries compiled not for their particular OS, but for the VM, which aims to hide OS-specific characteristics from the application. Lina comprises a platform-specific application that virtualizes the host PC's x86 processor... A lightly modified Linux kernel (2.6.19, for now) runs on top of the VM. Under the Linux kernel is a filesystem with standard Linux libraries modified to map resources such as library, filesystem, and system calls to analogous resources on the host platform.' Further details, including an entertaining video or two are at OpenLina.com"

3 of 482 comments (clear)

  1. Re:Huh? by hey! · · Score: 5, Informative

    Well, recompiling an application doesn't port it to a different OS.

    The work needed to abstract the fact that you are running on Windows or MacOS instead of Linux is highly repetitive, and therefore a good target for factoring out into some common -- thing.

    The most accepted way for this is to develop a framework with WxWidgets. But what if you don't like the framework? What if you need a different framework? What if your language is not supported by the framework? Integrating a VM to the underlying OS is an alternative.

    Another thing that I think is useful in this approach is potentially dealing with coupling of unrelated applications via common library dependencies. If one application requires a later version of a library than another is compatible with, you can't run them both easily on the same machine. Anybody who used non-Ubuntu repositories on Ubuntu has run into this.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  2. Re:Native Look and Feel by Mike+McTernan · · Score: 4, Informative

    Trick maybe the wrong word - changing the L&F is by design with code such as:

    try
    {
        UIManager.setLookAndFeel(UIManager.getSystemLookAn dFeelClassName());
    }
    catch (UnsupportedLookAndFeelException ex) {}

    While not perfect, it is pretty good. There are screen shots and some of the deficiencies laid out here: http://today.java.net/pub/a/today/2003/12/08/swing .html

    --
    -- Mike
  3. Re:Huh? by FishWithAHammer · · Score: 4, Informative

    I'll say it very simply.

    Do not force end-users to the command line.

    --
    "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."