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.
(1)
  • (Score: 0) by Anonymous Coward on Wednesday December 05 2018, @09:29PM (9 children)

    by Anonymous Coward on Wednesday December 05 2018, @09:29PM (#770283)

    Motif is good enough for any GUI.

    I'm a crotchety old bigot and I haven't upgraded my rig since XFree86.

    • (Score: 2) by Freeman on Wednesday December 05 2018, @09:38PM (4 children)

      by Freeman (732) on Wednesday December 05 2018, @09:38PM (#770287) Journal

      Highly doubtful, that you're rig (assumed main work computer) is 26 years old. Sure, I've got a few clunkers running around somewhere, but it's definitely not what I would call my "rig." In fact I have a couple of functional, usable Thinkpad A21m Laptops that work with some modern Linux systems. They even provide a decent user experience, but I wouldn't be happy solely relying on them for everything.

      --
      Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
      • (Score: 1, Informative) by Anonymous Coward on Wednesday December 05 2018, @09:47PM (3 children)

        by Anonymous Coward on Wednesday December 05 2018, @09:47PM (#770294)

        The final release of XFree86 was in 2008. No I haven't replaced my main computer in ten years. We have this recession for the past decade and I can't afford a new computer. Money is tight for most and non-existent for computer nerds ever since the jock bros and the purple hairs took over the entire tech industry. Nerds die in the gutter.

        • (Score: 2) by Freeman on Wednesday December 05 2018, @09:58PM

          by Freeman (732) on Wednesday December 05 2018, @09:58PM (#770302) Journal

          I could see that, all of the computers I've built over the same time period are perfectly functional. Well, one of them has an issue with booting from an SSD, but when it stalls on windows boot, I hit reset and it boots up again fine. Been doing that for the last year or two, so I figure if it ain't broke.

          --
          Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
        • (Score: 2) by aim on Thursday December 06 2018, @06:29AM (1 child)

          by aim (6322) on Thursday December 06 2018, @06:29AM (#770517)

          The final release of XFree86 was in 2008. No I haven't replaced my main computer in ten years. We have this recession for the past decade and I can't afford a new computer. Money is tight for most and non-existent for computer nerds ever since the jock bros and the purple hairs took over the entire tech industry. Nerds die in the gutter.

          Frankly, I wonder where you're sited - around here (center of western Europe), there's got to be something seriously wrong with you not to find work in IT. There's a dire need for IT professionals (any level) pretty much anywhere you care to look, and by far not enough people to cover it.

          • (Score: 2) by Dr Spin on Thursday December 06 2018, @07:20AM

            by Dr Spin (5239) on Thursday December 06 2018, @07:20AM (#770532)

            Here in the UK, being over 50 counts as having "something seriously wrong with you"

            --
            Warning: Opening your mouth may invalidate your brain!
    • (Score: 2) by pvanhoof on Wednesday December 05 2018, @09:43PM (3 children)

      by pvanhoof (4638) on Wednesday December 05 2018, @09:43PM (#770292) Homepage

      Just FYI. The vast majority of x.org (Linux, BSD, etc) desktop applications are written in either Gtk+ (with GNOME libs or without) or Qt (with KDE libs or without). Not Motif. Most firms that pay you to write Linux desktop applications will pay you to write Qt (and/with QML) code. Not Motif, not Gtk+ (not anymore, since Nokia once bought Trolltech it's all Qt in the consultancy industry - at least here in EU).

      • (Score: 3, Touché) by Anonymous Coward on Wednesday December 05 2018, @09:50PM (2 children)

        by Anonymous Coward on Wednesday December 05 2018, @09:50PM (#770297)

        Don't tell me shit I already know. What part of "Motif is good enough" don't you understand?

        • (Score: 2) by bzipitidoo on Thursday December 06 2018, @02:57AM (1 child)

          by bzipitidoo (4388) on Thursday December 06 2018, @02:57AM (#770450) Journal

          Motif? You PINO!* Real programmers use Xlib!

          * Programmer In Name Only.

          • (Score: 2) by maxwell demon on Thursday December 06 2018, @07:58PM

            by maxwell demon (1608) on Thursday December 06 2018, @07:58PM (#770819) Journal

            Can we compromise on Athena widgets?

            --
            The Tao of math: The numbers you can count are not the real numbers.
  • (Score: 2) by pvanhoof on Wednesday December 05 2018, @09:33PM (1 child)

    by pvanhoof (4638) on Wednesday December 05 2018, @09:33PM (#770284) Homepage

    Qt with QML is also often programmed as a ViewModel.h/cpp v. View.qml. Similarly as the MVVM architecture technique commonly used in WPF with Prism5. A lot of appliances that need a touchscreen (German automotive, industrial like Siemens, etc) are currently being developed with Qt and QML. With an open source WPF that works well on a Wayland based Linux platform might become a competitor for Qt with QML.

    But while it becomes a reality, there will already have been and be many more years of such user interface projects being developed with Qt and QML.

    • (Score: 2) by Bot on Thursday December 06 2018, @12:09AM

      by Bot (3902) on Thursday December 06 2018, @12:09AM (#770349) Journal

      >build wonderful project under wpf
      >so wonderful MS wants to EEE it
      >"no wai MS, since you open sourced it i own it and do whatever i want HA"
      >get slammed for wpf related patent infringement

      is the smallprint sane?

      --
      Account abandoned.
  • (Score: 0) by Anonymous Coward on Wednesday December 05 2018, @09:57PM (5 children)

    by Anonymous Coward on Wednesday December 05 2018, @09:57PM (#770301)

    So maybe now we'll see Mono with a usable cross-platform GUI

    • (Score: 4, Touché) by DannyB on Wednesday December 05 2018, @10:08PM (4 children)

      by DannyB (5839) Subscriber Badge on Wednesday December 05 2018, @10:08PM (#770308) Journal

      If we did, would it matter?

      --
      The lower I set my standards the more accomplishments I have.
      • (Score: 4, Informative) by Rich on Thursday December 06 2018, @01:07AM (3 children)

        by Rich (945) on Thursday December 06 2018, @01:07AM (#770390) Journal

        Yes, it would.

        Despite having submitted the article, I dislike MS with passion. I was in the unfortunate situation of having to help out a customer with a large .NET/WPF project lately while having no real experience with C#, and precisely zero experience with WPF. I was able to deliver production code within two weeks, it survived stringent regulated market validation and shipped. The basics are that tidy.

        It appeared to me that everything that originated from within the aura of Hejlsberg borders on perfection (with the single flaw that it has garbage collection latency) - while the later bolt-ons like data/database bindings again show the ugly lack of culture within MS. The promoted MVVM concept exceeds the ribbon in sickness-of-thoughts. The Visual Studio view editor is almost as bad as Glade (compare that to InterfaceBuilder). So, as long as you avoid the "modern" features that only seem to be there to hard-sell braindead MS enterprise "solutions", you get an extremely solid desktop application development platform.

        Of all the development platforms, only Qt comes within range. I did quite a bit of development with Qt, and I think it might have a slight performance edge from being native, while .NET/WPF is faster to write and prone to fewer mistakes - but in areas where development time is what matters, that wins. (I might be slightly biased, because QtCreator is sluggish and has broken fonts on my workhorse Mac).

        As the GTK people don't get their presence on Windows and especially Mac right (GIMP 2.10 still doesn't respond to some plain button clicks, and did anyone ever write usable documentation for GTK?), developers, especially corporate ones, will flock to WPF instead, the momentum will grow, and eventually turn GTK into a fringe thing. Which may lead to a Qt/KDE resurgence from the purists, and then Amazon will buy Qt and integrate it into their cloud to compete with MS, or so... interesting times.

        • (Score: 2, Informative) by Anonymous Coward on Thursday December 06 2018, @03:55AM (2 children)

          by Anonymous Coward on Thursday December 06 2018, @03:55AM (#770471)

          Check out the repo. MS says they will NOT accept any patches for making WPF cross platform.

          Not sure why anyone would bother, but you could fork and port if you wanted to.

          • (Score: 2) by Rich on Thursday December 06 2018, @10:29AM (1 child)

            by Rich (945) on Thursday December 06 2018, @10:29AM (#770589) Journal

            MS says they will NOT accept any patches for making WPF cross platform.

            Heh, I didn't see this.

            But with the code out, someone is going to do it. The cat is out of the bag and I wonder how MS will deal with it when it arrives. I always thought the desktop UI was kind of the crown jewels to lock developers to Windows in the end, so the open-sourcing of WPF struck me with surprise. The initial versions of Mono were so throughly developed that I felt they could hardly have been done by a few hippies around Icaza (read: MS helped out massively), but they were sorely lacking key components, namely a debugger, and desktop UI, which would have been no-brainers to do for a team with that throughput - if general development enabling would have been the goal.

            I'm not going to be the someone, though. At the moment, I'm pulling Carbon-dependencies out of a MacApp 3.1 lookalike to make it cross-platform, but that's another story, going on since 25 years, with a million lines of validated application code behind it, which is why I would do such a seemingly futile exercise in the first place.

            • (Score: 2) by DannyB on Thursday December 06 2018, @02:25PM

              by DannyB (5839) Subscriber Badge on Thursday December 06 2018, @02:25PM (#770648) Journal

              Microsoft's strategy tragedy of locking people into the Windows GUI or APIs no longer works because developers have found many other green(er) pastures.

              --
              The lower I set my standards the more accomplishments I have.
  • (Score: 2, Touché) by Anonymous Coward on Wednesday December 05 2018, @10:03PM

    by Anonymous Coward on Wednesday December 05 2018, @10:03PM (#770304)

    It ain't real Windows if it doesn't phone home. Constantly.

  • (Score: 5, Funny) by Gaaark on Wednesday December 05 2018, @10:06PM (2 children)

    by Gaaark (41) on Wednesday December 05 2018, @10:06PM (#770305) Journal

    Microsoft is a CANCER!

    (and now, for your enjoyment....A Ballmer monkey boy dance!)

    Is this open source?
    Is this a biopsy?
    Caught in a fuck up,
    no escape for MS Edge.
    Open your eyes,
    and drop Microsoft right NOW!
    I'm just a monkey boy,
    I need brain surgery
    Because I'm really dumb,
    Really slow,
    Trudeau high,
    Kardashian low,
    Anyway the Windows, doesn't really function no more!

    --
    --- Please remind me if I haven't been civil to you: I'm channeling MDC. ---Gaaark 2.0 ---
    • (Score: 2) by DannyB on Wednesday December 05 2018, @10:08PM (1 child)

      by DannyB (5839) Subscriber Badge on Wednesday December 05 2018, @10:08PM (#770307) Journal

      Didn't know whether to mod funny or insightful. :-)

      --
      The lower I set my standards the more accomplishments I have.
      • (Score: 5, Insightful) by anubi on Wednesday December 05 2018, @10:51PM

        by anubi (2828) on Wednesday December 05 2018, @10:51PM (#770316) Journal

        Great insight is frequently couched in humor.

        Consider Mark Twain...

        --
        "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
  • (Score: 5, Informative) by DannyB on Wednesday December 05 2018, @10:06PM (2 children)

    by DannyB (5839) Subscriber Badge on Wednesday December 05 2018, @10:06PM (#770306) Journal

    First Microsoft had Java envy. So they got Java on their platform. Then in brazenly flagrant violation of the clear contract they signed, they started poisoning Microsoft Java by adding poisonous extra features in the standard APIs. Result: developers would build a Java product on Windows and then too late discover that it was not portable to other platforms.

    But it's cross platform Microsoft protests: It runs on Windows 95, 98, ME, NT, 2000, and XP!

    Sun Microsystems sued and won $1.2 Billion.

    C# / .NET were the response. A new "Java" without Java.

    There came a point where market share made me wonder to choose Java or .NET in the late 2000s. But I went with Java on a major new project. It just seemed right. Everything was open source. And there was an embarrassing amount of open source riches in its ecosystem. In .NET land, there was nothing but vendors with their hands held out for money.

    WinForms (if I'm thinking of the correct one) was always a bad idea. But it was quick and ugly for low-skilled programmers wanting on the web. It took Microsoft a long time to get the MVC architecture. Meanwhile, Java had to respond to WinForms and the abortion (IMO) known as JSF was the result.

    Now modern .NET applications don't (as far as I know) use WinForms. So NOW they want to give it away. And SQL Server. And lots of other goodies.

    Problem is, in my view, only projects already built using this tech would be interested in the open source as a possible avenue to run their server applications on Linux -- which also means Docker and Kubernetes. All of which Microsoft cannot replicate on Windows. And with Azure, I'm sure Microsoft has already seen just how few server applications actually use Windows, let alone .NET.

    If you look at job sites, or sites ranking language popularity by questions asked, source code posted, etc, it is clear today which way the winds are blowing. And it's not toward Redmond.

    Windows Phone and tablets late the the game, a copy of what has already captured the market.
    Surface Tablets, Win 10 S, RT, etc again a copy of what has already captured the market.

    I can understand why they do this. Back in the 1990s, they could arrive very late, build a product, even an inferior one, and it would become the dominant standard. Welcome to the 21st century and the dominance of open source -- and Linux.

    Trying to out-build the rest of the development world with your own internal staff is like trying to hold back the tide with your hands. IMO Docker and Kubernetes are evidence of that. Is there even a Windows server workload big enough to warrant something like Kubernetes? maybe?

    --
    The lower I set my standards the more accomplishments I have.
    • (Score: 2) by c0lo on Thursday December 06 2018, @04:36AM (1 child)

      by c0lo (156) Subscriber Badge on Thursday December 06 2018, @04:36AM (#770487) Journal

      Now modern .NET applications don't (as far as I know) use WinForms. So NOW they want to give it away. And SQL Server. And lots of other goodies.

      Not that I don't like your rant, but Microsoft seems to be opening up WPF (i.e. the modern one) not the WinForms.

      --
      https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
      • (Score: 2) by DannyB on Thursday December 06 2018, @02:35PM

        by DannyB (5839) Subscriber Badge on Thursday December 06 2018, @02:35PM (#770649) Journal

        I expressed some doubt, because by "WinForms" I was not sure if this meant the one where you wrote an HTML-like page, and it did a postback, or if it meant something based on XAML and WPF. (eg, something using Expression Blend, or whatever it is called now) I did have a good look at this back in 2007. Along with Silverlight. I was duly impressed with the technology -- but it was still Microsoft. And I have a strong reluctance to make a major commitment to something Microsoft might just abandon as they had done with Visual Basic and Visual FoxPro developers. And later Windows Phone 6 developers. Then Windows Phone 7 developers. And eventually, finally, Windows Phone 8 developers. Microsoft has a habit of forcing developers to use some new technology at their whim, and then later when the winds change, they don't care about the investments developers have made.

        I have found Java to be very stable, and upward compatible over more than a decade now. And I had dabbled with it for a few years longer than that. When Sun Microsystems made Java open source before they imploded, I knew I had made the right decision.

        Back in the day, the UCSD p-System became abandoned. If I had the source code to it, I would have made my own 32-bit version (back when I had plenty of youth and energy). I could have done the same with VFP for some of our products that used it. But I didn't have the source code to it. Today I have the source code to my entire development stack, including the development tools and the Java runtime. It's a nice place to be.

        The no 3rd party royalties or licensing is just icing on the cake.

        --
        The lower I set my standards the more accomplishments I have.
  • (Score: 2) by Gaaark on Wednesday December 05 2018, @10:09PM (1 child)

    by Gaaark (41) on Wednesday December 05 2018, @10:09PM (#770309) Journal

    Are they looking for help for when they move to MS Linux?

    --
    --- Please remind me if I haven't been civil to you: I'm channeling MDC. ---Gaaark 2.0 ---
    • (Score: 1) by DECbot on Thursday December 06 2018, @09:18PM

      by DECbot (832) on Thursday December 06 2018, @09:18PM (#770858) Journal

      No, MS will likely just buy Canonical or buy Red Hat after IBM ruins the culture, breaks the profit model and needs some quick cash.

      --
      cats~$ sudo chown -R us /home/base
  • (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).

    • (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.

  • (Score: 1, Interesting) by Anonymous Coward on Thursday December 06 2018, @02:46PM

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

    It's not much use if one hand gives while the other hand takes away.

    Remember we're talking about people who describe their own business practices as Embrace, extend, and extinguish. [wikipedia.org]

(1)