Gtk in Visual C#, tried everything. Am I going to be unable to develop cross platform applications?
I want to develop software using a cross platform User Interface so i'm not constricted by Windows.
I have tried Monodevelop, but this program is severely bugged and is rendered useless. It hangs on startup, never heals and I must reboot due to invulnerable "mono.exe"开发者_JAVA百科 processes that eats my computers life and makes it unusable.
I have tried manually adding in the Gtk-Sharp libraries and I am lead to an error "libgtk-win32-2.0-0.dll" could not be found. Now, I have GTK installed, latest version, I even tried placing all gtk related dll's in my system's folder and my assemblies directory.
Help is appreciated greatly
If you are seriously consider developing cross-platform applications, leave C# behind! Give a chance to C and C++.
IMHO, your best option is Qt. Here's why:
- It's easy to learn and use and very intuitive.
- It's crossplatform - not only will it work on Big Trio (Windows, Mac OSX, Linux), but with Qt Embedded you can deploy it on various mobile devices (various being the key word here).
- It has a really wide area of abilities: GUI (of course), 2D graphics, printers, databases, network access (from sockets to SSL and HTTP), internationalization and a lot more. Generally, if you are using Qt, you don't need anything else.
- It's written in C++ and so compiled to machine code, thus it's waay faster than java and C#.
- It's LGPL-licensed, so you can develop both opensource or proprietary applications with it.
Just give it a try, here's a link for you:
Qt homepage
Also, I urge you to launch demos that are provided with SDK, they are impressive :)
C# is going to be tough to use cross-platform, unless you're willing to ditch Linux. You can run Silverlight projects just fine (even as desktop apps) on Windows and Mac, provided you use Siverlight 3 or 4 (both runtimes/SDKs free). It's actually a great language to code in that lets you do a lot of fun UI really easily. The Mono port to Linux tends to hang out a version or two behind on Silverlight, though, so you're not going to have a lot of luck there.
If you prefer memory managed languages, and there are plenty of reasons why you might, Java has plenty of ways to develop across platforms.
Qt is nice - I'm currently using it for a mobile-linux & windows app, but it's not perfect. There are memory leaks in versions 4.5 and before related to displaying icons, and the syntax can be frustrating at times if you're not used to C++. Even if you are, it's sometimes a fun guessing game as to when Qt cleans up for you (and gets mad if you delete things first) and when you're on your own. The rules are theoretically simple on that (widgets delete their children), but I've found it to be less than reliable.
精彩评论