:NET/C# GUI portability to Linux

A

Abra

I need to write a Windows application with GUI, that should be able to
run also on Linux. I have already a .NET application (written in C#)
that uses (among others) Windows.Forms, ADO.NET, and TCP/IP (sockets).
Which is the best way to get it running under Linux ?
I read about Mono, would this be a reliable way ? Is Mono already
"production-ready", or still beta ? Are the .NET parts that I mentioned
above already completely implemented in Mono ? Does anyone has some
practical experience about this ?
On the other hand, I read also about the Qt graphical package, that is
available for Windows and also for Linux. If I choose this way, it would
mean that I have to rewrite my actual Windows application. I would take
this in account, if this would be the most reliable solution. Is Qt also
available for C#, or only for C/C++ ?
Can somebody help me with some advice ? Which way would be better
supported in the future ? Which way would allow easier software
development/test on both platforms ?
I mention that I dont have practical experience with Linux.
Thanks in advance for your help.
Abra
 
M

My4thPersonality

Abra said:
I need to write a Windows application with GUI, that should be able to
run also on Linux. I have already a .NET application (written in C#)

I got the same question about a C++ program written in MSVC. I've looked in
google and there seems to be a sort of windows api written for linux by
microsoft. But I don't know if that works for the .NET applications.
 
I

Ignacio Machin \( .NET/ C# MVP \)

Hi ,

If you need a good, stable interoperatibility between win & *nix you better
go the web way, that is the best way.

there is no managed interface of Qt AFAIK at least.

cheers,
 
S

Stephan Steiner

Hi
I need to write a Windows application with GUI, that should be able to
run also on Linux. I have already a .NET application (written in C#)
that uses (among others) Windows.Forms, ADO.NET, and TCP/IP (sockets).
Which is the best way to get it running under Linux ?
I read about Mono, would this be a reliable way ? Is Mono already
"production-ready", or still beta ? Are the .NET parts that I mentioned
above already completely implemented in Mono ? Does anyone has some
practical experience about this ?

Status of ADO.NET in Mono: http://www.mono-project.com/ADO.NET
Status of Windows.Forms in Mono: http://www.mono-project.com/Windows_Forms

and this will get you to the class library with a status on each class:
http://www.go-mono.com/docs/

Neither of these 3 is feature complete, but depending on what classes and
methods you use, you'll be fine. It is production ready, as long as you
don't use any class that's not ready yet.
On the other hand, I read also about the Qt graphical package, that is
available for Windows and also for Linux. If I choose this way, it would
mean that I have to rewrite my actual Windows application. I would take
this in account, if this would be the most reliable solution. Is Qt also
available for C#, or only for C/C++ ?

Qt is native code, not managed. Using QT3 you'd have a stable and trusted
class library, but I'm not sure about IDEs that support it on Windows
(there's bound to be a bunch for Linux).

Personally I find the prospect of running C# on Linux intrigueing and with
Novell behind Mono I'd expect that the platform has a good future, but at
this moment, you cannot rely on every of your used classes to be 100%
complete in Mono.

Regards
Stephan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top