12/27/2023 0 Comments Gui toolkit mono for mac![]() So language bindings are hard to build and (compared with Gtk) working with C++/Qt is not so painful. Unfortunately Qt is C++ and it's not even standard C++. The only cross-platform GUI toolkit that I loved working with and that does a much better job than Swing is Qt. It may be over-engineered, but it's easily available, at hand, when you need it. But it was the only way I could see to go to get a reasonable experience on Linux. Gtk programming itself is extremely clunky compared to Winforms, which itself is quite clunky - albeit in different dimensions - compared either with Delphi's VCL or WPF. Having a separate UI layer for each platform gets you a much better experience. ![]() Writing a cross-platform app in Mono? I wouldn't really try that. But again, once the right assemblies were referenced on the command line, it mostly just worked. But again, it mostly just worked.Ĭompiling using Mono took a little bit of figuring out - mainly, finding out I had to use dmcs rather than mcs or gmcs to enable the right language features. Running it on Linux - specifically, Ubuntu 12.04 LTS - was a little trickier, as Ubuntu has split out many of the different assemblies into separate packages, and you have to grovel around a bit to get what you want, if you don't want everything. Once all the DLLs were in the right places, it mostly just worked. I then ran the app using Mono on Windows. I could write this in Visual Studio and run using Gtk on Windows to test Mono itself wasn't actually needed here. That was mostly a matter of translating existing Gtk documentation to the OO API presented by the C# wrapper. There are a lot of little incompatibilities, like differences in how keystrokes are translated, and very buggy text boxes. I've ported an app from Winforms to Gtk-Sharp.Īt first, I ran with the Mono reimplementation of Winforms on Linux. (All the Java GUI libs used to suck, but maybe the situation's improved now that Clojure is popular.) Would Clojure work well for writing native GUI apps? It's based on the JVM, so it seems like it could leverage existing GUI libraries. ![]() What toolset would you use to get the job done?ĮDIT: Hmm, just thought of another idea. Although anything that lets you quickly and easily write powerful GUI apps that run on all three platforms would be pretty fantastic. Plus I'm not sure how easy it is to write custom webapp GUI objects compared to the fantastic ease of writing custom. ![]() (Has localstorage progressed to the point where people can start up a browser "app" without an internet connection? I haven't looked into it for awhile.) And my Qt knowledge is somewhat dated, so maybe there's a better solution nowadays.ĭoes anyone have any recommendations for the easiest way to write cross-platform GUI apps that can run without an internet connection? I was thinking maybe making it a webapp, but the offline requirement seems to rule that out. But I haven't actually tried python+qt yet on all three platforms, so maybe it isn't as easy as it seems. Maybe I was going about it the wrong way, but it seemed like Python + Qt bindings would be a more effective approach, even though you lose out Visual Studio's awesome GUI designer. So it seems like there aren't very many good tutorials written specifically to teach Windows C# devs how to quickly get up to speed with Mono.Īfter spending some time researching the idea of writing GUI apps using C# and Mono, I gave up because it just didn't seem straightforward. It seems like most Mono newcomers will find it difficult to get up and running, especially if you've been developing your app with Visual Studio 2010 or later. In short, there don't seem to be very many "Here's how to write cross-platform C# code that runs on all three platforms without much effort" type resources. I did a writeup a month ago about my first impressions of Mono: Speaking of Mono, does anyone know of a good resource for C#/.NET devs to learn how to port their Windows apps to Linux/Mac relatively easily? This vastly reduces the number of things you can do with it (yeah, I know about Mono).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |