user2139538
user2139538

Reputation:

Advises for cross platform GUI programming on .NET languages?

I'm a university student and I'm planning to start an open-source UML drawing project in this summer, and here seeking advises about the .NET platform.

First of all I have no any programming experiences on Windows (I have done a Hello World in Visual Basic several years ago..), but I know quite many languages in Linux (Python, Ruby, Erlang, Lisps, C, Java) etc. I have also some experiences on Linux opensource project.

.NET programming is a requirement in many government jobs here in Macau, and this project aims both to make a usable open-source UML drawing project and to give myself a try on .NET (and Windows) programming.

Although I have a purpose on learning Windows programming, I still wish my program be able to run on Linux (which is the environment I use most). So I want some advise on programming platform:

  1. Will it be so difficult to develop cross-platform GUI programs in C# and run it in Mono under Linux? (in this UML-drawing case)
  2. What is the GUI library I can use? Should I use QT or GTK+? Or something else in Microsoft world? (I have little knowledge about Microsoft things)
  3. In linux, I use Emacs, Glade, command line to write programs. Do Windows programmers (generally) type 'javac' or 'gcc' in command-line? And what IDE can I use to develop .NET GUI programs on Windows?

Thanks.

Upvotes: 1

Views: 365

Answers (1)

Lex Li
Lex Li

Reputation: 63143

Based on your knowledge set, probably GTK# is your best option. It is cross platform and based on GTK+. Install MonoDevelop/Xamarin Studio and create an GTK# project. Then you can explore what GTK# offers. It is recommended as Mono guys create a visual designer for GTK#, so that you don't need any other IDE/tools to create UI.

Mono also supports WinForms as another cross platform option. But because WinForms originates from Microsoft, you probably need to use Windows + Visual Studio to design WinForms UI (or use SharpDevelop). A WinForms based UML tool called NClass was ported to Mono, http://www.mono-project.com/Guide:_Porting_Winforms_Applications

Qt is also supported by Mono via Qyoto, but to develop your UI, you need several tools. I am not a Qt expert, so I could not tell much about it.

Edited: For more information, please visit http://www.mono-project.com/Gui_Toolkits

Upvotes: 1

Related Questions