Stories
Slash Boxes
Comments

SoylentNews is people

posted by takyon on Wednesday December 05 2018, @09:10PM   Printer-friendly
from the underworld-refrigeration dept.

In a surprise move at the Build 2018 conference, Microsoft have announced that three key components of the Windows user interface are now open-sourced. Kevin Gallo, MS VP for the Windows Developer Platform sums it up in a blog entry.

Announcing Open Source of WPF, Windows Forms, and WinUI at Microsoft Connect(); 2018

The newly opened-up components are critical for writing desktop applications and have so far been Windows-only. Based on C# and the .NET framework, especially WPF is generally considered to be reasonably good. Interest from beyond the Windows ecosystem might appear: when will we see ports to the Linux and Mac platforms, and what would it mean to their platform-specific toolkits GTK and Cocoa?

WPF = Windows Presentation Foundation


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by jb on Thursday December 06 2018, @03:04AM (5 children)

    by jb (338) on Thursday December 06 2018, @03:04AM (#770453)

    and what would it mean to their platform-specific toolkits GTK and Cocoa?

    Since when has GTK been platform-specific?

    Last I checked it built just fine on all manner of platforms (yes, including some which lack X11).

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by aiwarrior on Thursday December 06 2018, @08:25AM (3 children)

    by aiwarrior (1812) on Thursday December 06 2018, @08:25AM (#770556) Journal

    Have you ever used GTK?
    Have you ever seen the sheer amount of crazy boiler plate that Glib and GTK requires. It is not pretty. I would say that it is the ugliest framework i ever worked with. And believe me i have done a lot
    If only they would accept the para-object oriented model of the linux kernel C it would be a better world. Hell just use C++ and stop pretending. But no...GTK exists and it is a cancer that makes open source eco system almost impenetrable because gnome is the default WM and GTK is the default framework of gnome. Do not even get me started on the javascript shit of gnome shell stuff.

    /Rant over, i am smiling after writing this comment. Bad mouthing sometimes feels good :)

    • (Score: 2) by jb on Thursday December 06 2018, @11:18AM

      by jb (338) on Thursday December 06 2018, @11:18AM (#770599)

      Have you ever seen the sheer amount of crazy boiler plate that Glib and GTK requires

      Hey, I never said that GTK was pretty -- only that it is, quite obviously, not platform-specific.

      Portability & usability are mostly orthogonal.

    • (Score: 1, Informative) by Anonymous Coward on Thursday December 06 2018, @02:38PM (1 child)

      by Anonymous Coward on Thursday December 06 2018, @02:38PM (#770651)

      Have you ever seen the sheer amount of crazy boiler plate that Glib and GTK requires. It is not pretty. I would say that it is the ugliest framework i ever worked with. And believe me i have done a lot

      GTK+ is a bit special in the GUI toolkit world because it is one of very few toolkits with a C API. Like if you want to write a modern GUI widgety application in C[*] it's pretty much your only choice, because basically nobody sane writes GUI toolkit bindings for C. You can't compare writing a GTK+ application in C with, say, a Qt application in C because you can't write a Qt application in C.

      If you want to compare it with other toolkits you should be compare bindings for the different toolkits in the same language. For example, you can compare C++ bindings of GTK+ (gtkmm) with a native C++ toolkit like Qt. Or compare python bindings for both toolkits (e.g,., PyGOobect versus PyQt). Basically all the GTK+ boilerplate goes away when you use any language other than C.

      [*] one might want to write such an application because they are a masochist.

      • (Score: 2) by aiwarrior on Friday December 07 2018, @08:25AM

        by aiwarrior (1812) on Friday December 07 2018, @08:25AM (#771077) Journal

        > If you want to write a modern GUI widgety application in C
        This is the point. Nobody wants to write a gui application in C. If they want C*ish* and baremetal go with C++ and write C there. No performance impact. For all the flaws of C++ you can really mostly take what you want from the language and it's not wrong.

        gtkmm is very nice until you do anything serious, at which point you will find: Missing documentation, missing implementation. This is terrible because the risk of starting a project in such an enviroment makes the whole platform useless even for toy stuff. Yep i failed in toy stuff with gtkmm and stuck with pure C GTK. For PyGObject i do not know but i dread, absolutely dread GTK interfaces(Gdk, Cairo, Gstreamer) incompleteness.

        I think the point of the other poster, where Compatibility is orthogonal to Usability, is a bit more to the point except it has been proven wrong and the weights should not 50-50. What about QT? What about now the .NET

        It is true that C is the only language where you can have easy management of ABI for other languages to hook into. But the keyword is easy. Designing/implementing bindings is supposed to be something very few users do. So, if it was harder to do in favor for easiness to use normal usage i think this would be an acceptable trade off.

        Thanks for the argument anon :)

  • (Score: 3, Informative) by Rich on Thursday December 06 2018, @03:20PM

    by Rich (945) on Thursday December 06 2018, @03:20PM (#770677) Journal

    Last I checked it built just fine on all manner of platforms (yes, including some which lack X11).

    Building fine and working fine are different things. Once Macs come into the picture, GTK is throughly out and done. Which leaves you the choice of Qt, wxWidgets (the KiCad people seem to be struggling with that), and SWT for the Java folks. Proper cross-platform also means at least using native widgets, which GTK doesn't do. Ideally, platform specifics like menu bar position or dialog button order (*) would be considered, too.

    The GTK people have had long enough to sort out their pile, but they didn't. They mobbed out the original author of Glade, but still haven't got it anywhere nice. They got a native IDE made for their platform (Anjuta) and ignored it. The Vala project handed them a modern infrastructure for their weird object system and a language as good as C# on a silver plate, and they ignored it. I have no hope for their "ecosystem", unless maybe the MATE and Elementary people get enough and fork.

    (*) to be done in context: HIG has mouse-centric visual flow (OK at the end of the flow, bottom right), while SAA has keyboard-centric list flow (OK where it is first reached by tabbing). E.g. on Macs, you'd only tab between text fields (unless accessibility is on), while on Windows you tab between all controls.