Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

Microsoft Spooks Windows Desktop Developers By Calling WPF a 'Community Run Project' (devclass.com) 81

A Microsoft .NET Community standup has left Windows desktop developers wondering what kind of future, if any, the company has planned for its older desktop application frameworks, Windows Forms and Windows Presentation Foundation (WPF). From a report: A "what's new" slide for WPF presented by senior program manager Olia Gavrysh last week shows "Community Run Project" as the first bullet point, causing consternation among attendees. "Who's happy that WPF is now a community run project? This is soooo scary," remarked Morten Nielsen, a senior principal engineer at ESRI working on the ArcGIS runtime, for location-based analytics.

The slide was perhaps misinterpreted. It was intended as an update on what is happening with pull requests from the community, rather than meaing that WPF has been handed over to the community. Nevertheless, concerns about the future of the framework are well founded. "It's not dead. we have a team working on WPF and supporting it," said Gavrysh, but added, "we now switch to the model where we accept a lot of PRs [pull requests] from the community because we think of WPF as [a] very mature project so not that much rapid development is happening."

This discussion has been archived. No new comments can be posted.

Microsoft Spooks Windows Desktop Developers By Calling WPF a 'Community Run Project'

Comments Filter:
  • Microsoft changes its GUI engine more often than I change underwear. It's hard to gain traction and support like that. GUI engines take a while to tune right.

    I think it's time to have state-ful GUI markup standard. An open-source browser and/or browser pluggin could be built. I'd rather have somebody besides Microsoft, Oracle, Google, etc. do it, but if big-co's are the only ones with the resources and influence, that's better than what exists now.

    It could be based off the Tk or Qt engines to avoid starting

    • by SoCalChris ( 573049 ) on Tuesday December 20, 2022 @03:08PM (#63145540) Journal

      You haven't changed your underwear since 2006? WPF has been around for a long time. Winforms and MFC have been around even longer.

      • Re: (Score:3, Insightful)

        by caseih ( 160668 )

        Yet in more recent years it was very unclear which way MS wanted you to go. Will WinForms be deprecated? Years ago it seemed that way and that MS wanted developers to use WPF and make mobile-friendly apps. But WPF was more restricted in what it could do API-wise because it was intended to be used with managed code in a sandbox, so most real apps continued to use WinForms and MS stopped pushing WPF on developers, although as near as I can tell it's still used extensively in Windows 10 and 11.

        Then a few yea

        • by caseih ( 160668 )

          No wait I'm mistaken. Windows 10 and 11 extensively use UWP. How that differs from WPF I do not know. Insiders are saying Maui is the future and brings together the best parts of UWP, WPF, and Xarmarin Forms. WinForms is clearly a target for deprecation. But MS's track record isn't good with sticking to a GUI framework, so I don't know.

          Having WinForms as a community project is a great idea I think. I find it kind of funny so many people are panicking about this. Doesn't this benefit them and ensure th

          • Re:Screwy GUI Fooey! (Score:5, Informative)

            by Dutch Gun ( 899105 ) on Tuesday December 20, 2022 @04:46PM (#63145820)

            UWP is a framework for universal applications. Or was, I guess. Deprecated now. WPF is a UI framework. Winforms and WPF may be deprecated at some point, but there's far too many of those apps out there to worry about ever actually removing support for those. It just means there will only be the barest minimum of maintenance going forward. It's the same with native Win32 apps. As you said, I think it would be great if they were opened up as community projects. Really don't see a downside there.

            Anyhow, I'm pretty much done relying on MS for a UI framework, especially since last I heard, MAUI isn't bothering to support Linux. My next personal project will probably use AvaloniaUI. They call it a "spiritual successor" to WPF, with a few improvements here and there). It's completely open source and cross-platform: Windows, Mac, Linux, Android, iOS. Unlike Qt, it's built on C#/.NET, which is a lot easier to use than C++. From my perspective, very little not to love about it, now that it seems to have stabilized a bit.

            • by caseih ( 160668 )

              Yeah no support for Linux with Maui. MS is leaving that to the community to provide an implementation for Linux. MS loves Linux, but only on Azure really. Or under WSL2. I'm sure we'll see a Maui implementation on Linux at some point. Would it ever attract Linux developers to C# and dot Net core? Not sure. Some maybe.

              Good to hear AvaloniaUI is a good option. I think if I was doing a C# app I'd lean heavily toward it. There's a WinForms application that is open source that I'd love to have ported to

              • WPF, and hence, AvaloniaUI definitely has a fairly steep learning curve. It's an insanely powerful paradigm, but it's so ridiculously flexible that sometimes things you'd think should be simple end up being harder than I'd like. Of course, a lot of other things you'd assume to be really difficult end up being trivial, so there's definitely a tradeoff there. As you said, you need to get a handle on it's XAML markup language, and for larger apps, you' really want to learn how to use the MVVM (Model-View-Vi

              • The problem is the UI space is heavily fragmented on Linux. Do you use x11 or Wayland? GTK, Qt, or xfce? Now which window manager?

                • Most GUI frameworks, especially cross-platform frameworks, don't make you worry about such low-level details. Just pick a framework that has a proper level of abstraction.

                • Hence why targeting the browser for the UI layer makes perfect sense to me. It's not the only option, but it seems like the best one for now, in most cases. No matter what your flavor of Linux, desktop environment, Wayland vs. X, etc., it is going to have a well-supported and reasonably standards-compliant Web browser.
            • Qt has QML and Javascript, but the integration with C++ is trivial, when you need to interface with native code.
              • That's very common on Linux, but, IMO, a memory-managed language makes far more sense than C or C++ for code interfacing with a GUI. There are now many to choose from, and most also have Qt bindings, although knowing basic C++ is still useful since many of those bindings are poorly documented compared to Qt itself.

                For our stuff that needs to run on Linux, Chrome OS (also Linux) or Android (also Linux, but older), I'm going with mostly Web technologies for the front end. As we have a lot of legacy code tha

                • If you need a memory-managed language, then use the memory-managed parts of C++. There is absolutely no need to manage your own memory in C++.
              • by Tablizer ( 95088 )

                > Qt has QML

                Isn't QML proprietary? I couldn't make heads or tails of its legal stance, as it would be nice to have a standard state-ful GUI markup/command language so we can get GUI's over HTTP instead of deal with bloated buggy JS GUI libraries with 4 year learning curves (mostly to understand/prevent myriad gotcha's).

                You'd fire up your Gui Browser and put in a URL, and a server would send you wonderful GUI screens requiring little if any JavaScript.

                The X Window system sort of has the right idea, but it

            • Aside from database, back-end and middleware, I did mostly rich-client development targeting Windows for almost 30 years. WPF was my bread and butter for at least the past decade. But it's one of the few parts of the modern Microsoft stack that isn't portable to Linux, Chrome OS, Android, etc., which some of our products now need to be.

              Avalonia and Uno Platform looked promising to me, but, nevertheless, I decided to switch from WPF to HTML/CSS/JS for as much of my front end UI work as possible. I'm prett

        • Welcome to software development. You seem to be comparing Microsoft, who actually provides a long lifetime of support for their tools and SDKs, to..whom exactly? Some magical entity that doesn't exist that does it 10X better than Microsoft and just supports one single product they develop perfectly for all future cases and never deprecate?
          • Delphi/Lazarus mostly stayed the same. I can understand relatively minor changes for upgrades that may require app code changes. So did the Tk and Qt family. (Lazarus is based on Tk, as I understand it.)

            > Some magical entity that doesn't exist that does it 10X better than Microsoft

            They don't have to be 10x better; just stick with, document, and incrementally improve what you got. GUI's are complex sub-systems, and thus can't be flushed-and-redone all the time without making a mess.

            Chasing mobile and sup

        • If I were starting out building a windows App today I would have no idea what to use.

          How about CreateWindow()? What a concept.

        • > Yet in more recent years it was very unclear which way MS wanted you to go.

          Exactly! Even when they don't change they still re-point developers all over the place in terms of where MS's GUI future is.

          If there are stretches of stability for MS GUI's, it's because their NewThings failed, not because MS was rational.

          For example, I remember when Siverlight was sold as the magic merging of web and desktop, and everyone was flocking to get into it. Then all the security holes became public and MS had to back

      • Tabilzer - free balling since 2006.

      • Comment removed based on user account deletion
    • Re: (Score:3, Interesting)

      by Darinbob ( 1142669 )

      To me, Microsoft seems overly inept at making frameworks. It seems like they want to be fast rather than have quality or waste time on an actual design. And this applies to their GUIs. MFC was atrociously bad, if it had been a studen project I'd have given it a C (because if I failed it then parents would have been bitching at me). It's like Microsoft heard about Object Oriented Stuff and decided to create something of their own, *before* knowing anything about Object Oriented Stuff. Just pitiful. So ma

      • MFC was atrociously bad, if it had been a student project I'd have given it a C

        What else was out there? Motif? Programmers were either hobbyists or electrical engineers in 1992...

        • Most importantly, they did not have agile development and daily stand ups.

        • It's kind of old now and the memory is going, but it felt like it was very difficult to subclass off of their classes and other odd stuff. Ie, their string class was lacking important stuff. This was before C++ went and standardized on the templated strings instead of having a class. I wasn't really a Windows programmer I just had to deal with it in a few ways when someone tried to adapt it to an embedded system. It felt like they just wanted a compiled variant of the jumbled mess they had in visual bas

        • wxWidget goes back almost that far, and even Microsoft's Visual Basic, though awful by modern standards, was in many respects better than MFC, at least for small to moderately-sized Windows apps. GTK, Qt, and the Web came around a few years later, as did Java, though Java's UI story was itself a bit fragmented from the very start.
      • MFC was atrociously bad

        What year is it? MFC was a simple wrapper around the Winapi/GDI and COM/ActiveX. ATL came around as an alternative if you love using templates instead of classes and inheritance/overloading. Only the nutcases that felt it was "bloated" thing it was a turd. Those same people wrote their GUIs with straight GDI code and burned effort and time instead of using the development tools available.

        the misunderstood Hungarian notion for example

        Dude, you are clea

        • the misunderstood Hungarian notion for example

          Dude, you are clearly living in the stone age. Hungarian Notation wasn't a Microsoft thing, but it *was* prevalent with Windows developers as a means to appropriately sort the objects/functions in the IDE. More specifically, Visual Basic

          Hungarian Notation was invented or at the very least popularized by Microsoft (in particular a Hungarian named Charles Simonyi). (According to wikipedia the origins were probably Xerox PARC - where Simonyi had previously worked.) I don't think it was much used outside of the Microsoft world but you are right, it isn't unique to that world.

          It really is/was misunderstood. The original use was much more useful than its use in the Windows API (which MFC inherited). It is meant to be a type system in the broad s

          • Hungarian used pragmatically with your own problem's types makes code much clearer.

            Ignore the naysayers who don't get it.

      • This post reads like someone who is asked to describe a cat's flaws, but has actually never seen a cat and read about them. "Well, they were poorly designed. Only 4 legs? Pfft. And the tail, seems wasteful like someone designed a cat without considering just beefing up its leg strength and balance."
    • Re:Screwy GUI Fooey! (Score:4, Interesting)

      by im_thatoneguy ( 819432 ) on Tuesday December 20, 2022 @05:54PM (#63145970)

      Microsoft changes its GUI engine more often than I change underwear

      MFC: 1992 onward
      WinForms: 2002 onward

      WPF: 2006 onward
      UWP\WinUI: 2015 onward (but was essentially WPF)

      If you ignore the short space between Winforms and WPF there's about a decade between releases... you can still make MFC applications.

      Arguably Microsoft's biggest issue is that they don't "change" GUI engines often enough. Apple just flat out kills its old UX system periodically and forces you to upgrade to one that properly supports high DPI screens, HDR, resizable screens, etc. So almost all apple applications work well on a 4k modern monitor. You launch a winforms app and it technically runs but it's probably a horrible experience on most modern computers.

      The same is true of Linux. Lots of applications have dependencies on specific versions of Qt. Do you want Qt to stop releasing new backward compatibility breaking versions or do you want zero progress to take advantage of pens, touchscreens, HDR displays, 4k etc.

      • by Tablizer ( 95088 )

        > You launch a winforms app and it technically runs but it's probably a horrible experience on most modern computers

        They could have rewrote the render engine to be vector-based instead of pixel-based. You'd have to recompile and make certain spot adjustments for the vector version, but otherwise most the API would remain the same. They'd didn't have to flush the entire thing to solve the resolution problem.

        • by Dwedit ( 232252 )

          Winforms is literally a wrapper around classic Win32 programming, so it does not support anything fancy like vector rendering.

          If you wanted vector rendering, there's Silverlight. Remember that?

          • by Tablizer ( 95088 )

            > Winforms is literally a wrapper around classic Win32 programming, so it does not support anything fancy like vector rendering.

            They could rewrite the API to use vectors underneath such that most API calls still work. Most WinForms methods are at a high-enough level that pixels vs. vectors won't require rewriting most your app. Yes, there are edge cases that have to be dealt with, but roughly 98% would be the same.

            > If you wanted vector rendering, there's Silverlight. Remember that?

            Silverlight failed

    • Lol, no they don't and the rest of your post is somehow even sillier.
  • You could draw complex UIs and link them to C code and rebuild on the fly ( IIRC ).

    Why didn't MS just keep updating it instead of making another and another another ?
    • If you think of APIs in terms of capabilities and usability, then yes, MFC was great in terms of capabilities. It was kind of a pain to use, though.

      Microsoft in that era wrote a lot of APIs with excellent APIs but horrible capabilities. COM comes to mind, great capability but hard to figure out how to usew. They kept on writing extra layers on top of it in attempts to make it more usable. And of course, the Win32 API is certainly functional, but as for usability:
      http://www.johndcook.com/blog/... [johndcook.com]

      Also WPF is

      • by AmiMoJo ( 196126 )

        I like WPF. I'm an embedded guy so the desktop stuff I write is mostly stuff like automated test systems and programming tools, but WPF is great for that.

        The XAML stuff is easy and let's to build a nice, scalable GUI fast. It's a bit of a pain to manage background worker threads at first, but once you get used to it it works very well.

        The only real issue I have is that it's not cross platform.

      • by Dwedit ( 232252 )

        COM does a great job of solving the problem of being able to clean up objects created by another DLL file.

        Reference counted objects where the objects themselves provide the cleanup makes it so it doesn't matter what method of memory allocation was used to allocate the object.

        "malloc" is one of those functions that does not work across DLLs because you might get HeapAlloc from one DLL, but then get VirtualAlloc + manually allocated from pages in another DLL.

        • It took me several years to understand COM, but once I understood it, I thought it was a really nice design.

          However, in terms of usability, it was verbose and the function names weren't memorable, and some things took way too many lines of code.

  • Microsoft bought FoxPro database and just discontinued it. They didn't release it as open source, if you were a customer, you were just screwed.

    I know this because I had to help someone extract their data from the database after the software was discontinued. What a pain.

    • by Tablizer ( 95088 )

      > Microsoft bought FoxPro database and just discontinued it.

      To be fair they didn't outright discontinue it. It's allegedly still purchasable (in a round-about way), but it hasn't been updated in more than a decade.

      For ad-hac data diddling I loved FoxPro/XBase. It was much easier to reuse code than MS-Access. I wish it were open-sourced because I have music sequencing scripts I wish to resurrect.

      • You can try using this:
        https://github.com/infused/dbf [github.com]

        • by Tablizer ( 95088 )

          That seems more of a data converter/reader API. Running xBase scripts (programming files) is another matter. But thanks for the suggestion.

          • You might be able to get a copy of the actual software that still runs on eBay.

            • by Tablizer ( 95088 )

              MS should just open-source VB 6 and FoxPro. They took a lot of heat for discontinuing the Pre-Net VB line, as it left a lot of companies high and dry. They could make up some of that ill-will by open-sourcing so others can modernize the products. (Their conversion tools from VB6-to-Net didn't work very well because the inherent architecture is too different.)

              FoxPro does use a patented "Rush-More" indexing technology, but it probably can be removed and replaced with the pro-Rushmore engine or some other B-tr

    • Microsoft bought FoxPro database and just discontinued it.

      To be fair, they released five major versions before they discontinued it.

      They didn't release it as open source, if you were a customer, you were just screwed.

      I support and maintain a Visual FoxPro application from 1996, most of it running under version 5, also from 1996. It still works under Windows 10. Incredibly reliably. I'm kind of happy MS is leaving it alone and not screwing it up. Hopefully it won't stop running before I do.

    • FoxPro isn't sold anymore, but it's still available as part of the Visual Studio Pro annual subscription. $1200 is kind of expensive just for that, though.

    • I hated that. Fought once with a contractor who wanted to replace our VFP codebase with VB plus very early SQL Server. I lost, but in hindsight, they made the better decision, knowing that Microsoft was not likely to keep Visual FoxPro supported for long.
  • Windows 7 users are being forced to use community made patches and extended kernels because Microsoft would rather you run TPMware instead. For the industrial users of MSDOS we’ve been community run for 30 years.
  • GTK is the most widely used gui toolkit on Linux, but it is a moving target so something that was written ten years ago may or may not work the same way when it's compiled on a newer system.

    For anyone who wants a stable gui toolkit for Linux, look at http://xforms-toolkit.org/ [xforms-toolkit.org]

    It looks good, works on pretty much everything, and hasn't changed in decades so stuff you wrote twenty years ago will still look and work the same.

    • by caseih ( 160668 )

      It's been pretty easy to keep up with Qt over the years. The migration from Qt 4 to 5 was pretty easy, and the transition to 6 looks to be pretty smooth. Qt is my go-to choice for desktop application design.

      For mobile/touch screen, I'm warming to QtQuick. QtQuick is also usable from a variety of languages other than C++, thanks to its simplified object model and API.

      • I stopped using Qt after the horribly botched transition from 3.3 to 4. I had been writing Qt programs for a few years until then, but the tools provided to transition between 3.x and 4 didn't work. It took me a year to rewrite just one of my dozens of Qt programs, so I went back to Java for all my desktop software.

        I consider Qt to be a dead-end toolkit.

        • It would take me a year to be able to run again one of our attempt using Java. You're a Java coder, I'm a C/C++ coder. That doesn't mix very well.
          I've been bothered by some Qt transition, especially by regex from v 5 to 6. But it's manageable. And I can't even remember a problem between 3 and 4, or 4 and 5 !
          Is it the right place to tell how Java can be a pain in the ass when going a little bit low level ? It was so fun, you can't imagine, to communicate with devices through I2C buses from a language that do

          • Java was designed to interoperate with C or C++ when necessary, via JNI (Java Native Interface). C# has similar capabilities, as do Python, Node, PHP, and pretty much everything else out there.

            I've long believed that using higher-level, memory-safe languages for most application development (not systems), dropping down to C or C++ only when necessary, makes the most sense 95% of the time.

    • The most stable language/GUI system ever created is Java. I have Java programs I wrote in 1997 that still run, unmodified, today. This was back when AWT was the dominant Java GUI system. I haven't had a need for any of those old Java programs for a long time now, but they are still there and still fully functional.

      Every Java program I have ever written still runs, unmodified, on Linux (which was always my primary target) and Windows. Even my old applets still run on appletviewer (not that I've used them for

      • Some folks call Java "the new COBOL." That isn't always a bad thing. There are things I don't like about it, but there also are reasons why banking, finance, insurance, and many other industries have been using it for most new code for decades, and very likely still will for decades to come.
  • Surprising, as Microsoft can "open source" WPF and call it "Windows Package Flop" or some other Jim Dandy acronym...

    JoshK.

    • It is open source actually, but still not portable, because it's largely a wrapper around DirectX, which is not portable outside of Windows.

      There are similar technologies including Xamarin Forms, MAUI, Avalonia, and the UNO Platform, which are a great deal more portable.

      • Open source, but coupled in software...again yet another surprise (please note my sarcasm...)

        And agreed, there are similar technologies, I did not know specifics, so thank-you for sharing about the specific technologies.

        Reminds me of organizations sharing a library, but it is coupled to a proprietary package and/or framework...

        JoshK.

  • Comment removed based on user account deletion
  • The link i read and I didn't find anything like the quote for ESRI:

    "Who's happy that WPF is now a community run project? This is soooo scary," remarked Morten Nielsen, a senior principal engineer at ESRI working on the ArcGIS runtime, for location-based analytics.

    Was it removed?

    • by Veretax ( 872660 )
      wish I could edit the post, the article didn't say what company he worked for when I read it. Either it was removed because ESRI didn't want their name associated with it, or the poster here added that text. Maybe its nothing (feel free to mod this thread down)

Good day to avoid cops. Crawl to work.

Working...