Having had quite a lot of success with Linux and open source replacements for my most common applications, I'm left with one big problem. How do I get the TV guide application to work under Linux?
One idea would be to rewrite or extend it to present a web interface rather than a Windows one. That would easily make it cross-platform. The problem with that is with the level of interactivity that it provides, the web site would be quite a challenge to write. I know it's been done before, I've seen many other web based guides which do the job - the question is do I have the time to rewrite my app?
The other option would be to look at Mono on Linux. The mono project is a set of open source libraries which (in theory) allow you to run .NET applications natively on Linux. Now call me a sceptic, but that sounds too good to be true. I wouldn't have to rewrite the application at all..
Recently I actually got around to trying to run my application using Mono. Fortunately you can test mono under Windows first to speed up the process. What I found was amazing - it basically works!
I needed to make some trivial changes to my application, such as converting path separators from "\" to "/" and, given that the application is heavily graphical, remove the double-buffering I'd put on to smooth the scrolling in the Windows version. Other than that, I can quite happily run the guide under Mono. It reads the XML data and displays it in its full graphical glory(!)
Seeing as the graphical side is probably the most complicated part of the application, it's unlikely that there are going to be any other issues. Ok so maybe there will be a few, but I'm sure a little alteration will be able to fix that.
Best of all, one application code base and binary runs on both Windows and Linux. Mono will even run on MacOS should I ever go that route..
Wednesday, 6 June 2007
Subscribe to:
Post Comments (Atom)
1 comment:
Now I am definitely interested in this! Would be interested in testing this on OS X (which is obviously much better than Windows of Linux ;-) Cheers, Mike
Post a Comment