Slashdot Mirror


Mono's WinForms 2.0 Implementation Completed

adrian.henke writes "After four years of development, 115K lines of source code, and 6,434 commits, Jonathan Pobst announces that Mono's WinForms 2.0 implementation is now complete. This announcement has been long awaited by any .NET WinForms developer who has ever tried to get an applications to work on Linux using Mono."

10 of 164 comments (clear)

  1. This will be a big help by Pikoro · · Score: 4, Interesting

    Currently working on a C# implementation of a web based in house CRM system.

    Going to be nice to finally be able to support our Linux desktops as well.

    We'll see how porting goes and if it's really worth the trouble.

    --
    "Freedom in the USA is not the ability to do what you want. It is the ability to stop others from doing what THEY want"
    1. Re:This will be a big help by ushering05401 · · Score: 3, Interesting

      "Particularly one that's practically indistinguishable from Java, which runs perfectly on both Windows and Linux by design."

      Except that Java doesn't run perfectly on Windows and Linux. Many people see C# as a language that set out to be a better Java than Java, and many people feel that on the Windows platform it succeeds. Combine that with the existing Windows install base and you have a pretty compelling reason to develop in C# over Java.

      Ten years down the line, however, I could see C# facing extinction if it does not become truly cross platform.

  2. Re:too little, too late? by revlayle · · Score: 2, Interesting

    Maybe the mono devs can get an implementation of IronPython going? Then you can have Python + a damn good IDE (i was surprised how well Mono Develop is myself)

  3. SWF GUI builder? by IBBoard · · Score: 2, Interesting

    Does this mean we can finally get a SWF GUI builder in MonoDevelop on Linux?

    I've got a couple of apps I wrote while I was using Windows and now I use Fedora Linux. The back-end library code and my newer apps that use GTK# are fine to edit in MonoDevelop, but I've got a VirtualBox install with WinXP and Visual Studio in it for now so that I can update the System.Windows.Forms layouts when I need to.

    Hopefully the "API complete" also means they'll fix some of the odd rendering I've seen at times :)

  4. But why the Win32 style in WinForms? by master_p · · Score: 3, Interesting

    From the blog:

    You can use handles in Winforms, they just do not map to an actual HWND on non-Win32 systems, but you can definitely use them, and you can even override WndProc methods on derived classes from Control and process a pile of WM_ messages that Mono's Winforms actually builds on.

    Why WndProc, HWND and WM_ messages are still there? I understand Microsoft built a software monopoly by mixing Window System management and a GUI toolkit together (and transferring it to .NET ensures that monopoly), but isn't .NET supposed to be one of the most advanced toolkits out there? Having to rely on WndProc, HWND and WM_ messages seems a very bad design for me (I've been developing MFC apps for a decade now and I know of the numerous problems that might come up), and unfortunately Mono WinForms copied that in order to be compatible with .NET.

    Initially I thought 'wow, a contender to Qt/Java for building cross-platform apps', but after reading the blog and being an supporter of anything but Win32 (the ugliest API ever written), I will think twice before using Mono or .NET for cross platform development.

    1. Re:But why the Win32 style in WinForms? by jonwil · · Score: 3, Interesting

      Use GTK# if you want a cross-platform UI toolkit based on .NET.

      This work on WinForms is intended to provide a way to run .NET applications written for Windows on top of Mono. And for doing that, it has to be compatible with the Microsoft implementation of WinForms.

  5. Re:Would be awesome... by Anonymous Coward · · Score: 1, Interesting

    You have been able to do that for many years in Python, and yet Microsoft fanatics act like it's something new and innovative.
    And Python copied the idea from Haskell, yet Python fanatics act like it was something new and innovative. I bet Haskell took the idea from somewhere else too...
  6. Re:too little, too late? by Anonymous Coward · · Score: 2, Interesting

    I'd be interested in knowing what .NET is clunky in comparison to. If you mention Apple's Objective C approach, you probably don't deserve to have an opinion here.

    WinForms as a library is a little old fashioned, but in combination with Visual Studio it's very slick and one of the most productive GUI environments around for building desktop applications. If you want to build fruity super-slick GUIs, you have WPF to do that (but the Visual Studio designer isn't as nice).

    There isn't a better platform on Windows for developing desktop or server applications than .NET around right now. Especially not since Visual Studio 2008 came out.

  7. Re:too little, too late? by Corwn+of+Amber · · Score: 3, Interesting

    Okay.

    "Java might be a great development platform, but the performance of java apps on the desktop is so pitiful they're painful to use."

    More?

    "Sever-side apps written in Java have great perfs, however, which is easily explained since they're meant to be run on a score of UltraSPARC hyperthreaded multicore CPUs that command a ton of RAM."

    Better that way, yes, you're right.

    --
    Making laws based on opinions that stem up from false informations leads to witch hunts.
  8. Re:too little, too late? by Anonymous Coward · · Score: 3, Interesting

    wish there were better alternatives, but C# + Gtk# + MonoDevelop is probably the most elegant development platform right now.

    You'll find that that's because C# was designed with an IDE in mind. Everything is statically typed (for intellisense) and the object oriented nature allows for easy code completion. Even look at the new LINQ (Allows you to query arrays/lists/etc. in memory)

    var result = from dataType in myCollection
                                                                where .....

    Notice how it the IDE will have enough information to offer you code completion the whole way though. Even though it'd be more intuitive to format it more like SQL.

    So in closing, Python can never even hope to have an IDE that matches C# or any language designed for the purpose.