Developing applications for multiple platforms
The guys at Lina are promising write once – run everywhere, using the native look-and-feel of the host operating system. This was also the promise of Java, which also uses a virtual machine to run the binary code.
It certainly looks interesting, but the FAQ on the site says there will be a 2x performance hit (i.e. applications will run at half the speed of a native version). Other solutions, like using a VMWare, VirtualPC and Parallels for the Macintosh provide alternative approaches to running applications from one platform on another. These tools work best when the host operating system is running on an x86 processor, meaning that virtualisation speed is around 80% of the host processor – which is a very good level of performance. This occurs because the virtualised processor is the same as the processor and there is limited need to translate the instructions.
However, their disadvantage is that you need to buy the host operating system (e.g. running Parallels on the Macintosh requires that you buy MS Windows to run a windows application inside the virtual machine). This can be an unecessary overhead and cost on the end user.
There are also alternative to Lina, such as Wine, which allows a lot of compiled / binary Windows applications (including Office 2000) to run on Linux. If you’re writing your application in .Net, then you can also use Mono, which works essentially in the same way as Wine but is restricted to running .Net applications. Mono is a cross platform simulation of the .Net framework.
There are many different solutions available to creating an application and running it on multiple platforms – until there is a unified platform for computing where developers can write once and run everywhere – with the same version, no emulation and no virtualisation.
This is as close or as far away as the major players choose to make it, or until some truly disruptive technology platform comes along and reshapes the playing field. I have some ideas about this that are well into development…