8 ms·
Replace ".NET" with "Windows" maybe? AS a longtime original VB/Winforms developer - MS lost their mind on desktop development and didn't look back. They chase
by slownews45 5y ago
Replace ".NET" with "Windows" maybe?
AS a longtime original VB/Winforms developer - MS lost their mind on desktop development and didn't look back.
They chased EVERY fad that could be chased. Silverlight, UPF, XAML, WPF, Islands, MAUI. This is one of those things - imagine if they'd focused on building an amazing and cross platform (ultimately) toolkit with just a basic drag and drop designer? Who cares about "styling" your app and all the rest of the garbage.
How many lost years and peoplehours?
- FpUser 5y ago>"They chased EVERY fad that could be chased. Silverlight, UPF, XAML, WPF, Islands, MAUI" Being a wise man I spared myself from this madness long time ago;) When I need Windows Desktop App I use Delphi or lately Lazarus that can do both Windows and Linux GUI from a single source and produce native standalone executables.
- int_19h 5y agoWinForms is still around, and works as well as it always did. That or WPF are still the sanest choices for desktop apps in .NET, IMO, so long as you're only targeting Windows. And WinForms specifically resembles VCL a lot.
- FpUser 5y agoI skipped .NET bandwagon for desktop completely. Comparatively to Delphi there were exactly zero business reasons for me to move my code or use .NET for new apps. On a technical side there were no gains and numerous limitations.
- int_19h 5y agoOn the technical side, the biggest productivity gain is from having a garbage collector. Beyond that, language features: while C# 1.0 started in a spot very similar to Delphi (+GC), it evolved much faster - e.g. getting generics in 2005. But, yes, if you looked at it in 1.x days, it really looked a lot like Delphi libraries with Java-like syntax. So if you were already using Delphi, there wasn't much point.
- FpUser 5y ago>"On the technical side, the biggest productivity gain is from having a garbage collector." 1) I use leak detection tool so no productivity gain in that area. Besides it is burned into my brain to always write deallocation code first before doing any allocations. That is when my classes are not using interfaces that are reference counted. In reality I could hardly remember any instances when memory / resource leak tool showed any. Also I did not have to dance around IDisposable, Weak and object caches shenanigans. 2) Generics - this is great feature but in my opinion it is mostly geared towards libraries writers. Being more of a product / application oriented bar few exceptions I personally do not use it much neither in C++ nor in Delphi (Delphi has generics since 2009).
- naasking 5y ago> 1) I use leak detection tool so no productivity gain in that area. These are never as good as garbage collection. In some cases, not even close.
- FpUser 5y agoI consider this statement false
- naasking 5y agoConsider it false all you like, the proof is in the pudding: https://www.forbes.com/sites/gordonkelly/2021/11/16/google-chrome-hack-new-attacks-exploits-upgrade-chrome-now/?sh=7531f3bd34d0 https://www.forbes.com/sites/gordonkelly/2021/11/16/google-c...
- TillE 5y agoAlso if you still need to support XP (even back when it was still getting patches), forget it, Microsoft has no interest in supporting you. Even if you want to use the latest and greatest UI, your customers need to keep up too. Completely unworkable.
- ClumsyPilot 5y agoXP is 20 years old, its older than invasion of Afganistan.
- andai 5y agoI recently ran XP in a VM inside Windows 10 and was amazed at how much faster everything ran, how quickly programs start, and how responsive they are. Feels like we lost something along the way...
- TYPE_FASTER 5y agoNot only lost productivity, but getting executive buy in to invest in WPF was difficult after Silverlight. Kinda joking, kinda serious, but all the Microsoft UI changes in the last 10-15 years have definitely helped enterprise IT adopt internal web applications. :)
- spaetzleesser 5y agoVery true. I used to be a desktop dev but since Windows 8 MS has convinced me it’s better to do web stuff.
- cudgy 5y ago<sarcasm> True. Frameworks to build web applications only come out every few months.
- tonyedgecombe 5y agoThis has been their modus operandi forever. I've got to the point where I don't trust them on any of this stuff. I target WinForms and if they ever decide to kill that then I'll abandon the platform completely. >Who cares about "styling" your app and all the rest of the garbage. One of the problems with WPF is the lack of styling of the standard controls. It takes a lot of work to ensure your app doesn't look like a turd.
- int_19h 5y agoWhy would you want to style standard controls in a desktop app? They should look the way they look everywhere else in the OS.
- azinman2 5y agoWindows has multiple competing standards in the same OS, even from their own software distributed with the OS. It’s embarrassing.
- int_19h 5y agoIt is, but there's still a standard system style that the majority of the apps are expected to use. Which is exactly what WPF uses - it's fairly easy to see if you take a WPF app and observe the differences on Win7/8/10. In any case, surely, adding yet another different style only makes the problem worse.
- spaetzleesser 5y agoAnd the crazy thing is that all these frameworks were basically incompatible variations of the same thing. Since WPF nothing has really gotten better. Just different for no good reason. I will never bet on any new MS desktop development framework anymore . It’s either WPF or preferably web (even Electron) for me.
- orra 5y agoTo be fair to UWP XAML, it's more efficient than WPF. I don't mean because it's written in C++ instead of C#. The render pipeline of WinUI is more efficient. It's really interesting, but unfortunately I can't find the technical blog I was thinking on.
- n8cpdx 5y agoIt’s more efficient but much less reliable. Like if you change from light to dark mode, there’s a 20% chance all UWP apps that are open crash. And as efficient as it is, it still can’t resize windows without flickering. It’s worse than WPF or Win32. And there still aren’t proper APIs for configuring the titlebar area. I wish they focused on getting their vendor partners to make efficient processors, rather than try to get all windows developers to rebuild software to run on hobbled ARM hardware.
- spaetzleesser 5y agoThat doesn’t explain why they had to roll a new framework instead of improving WPF. It may have been ok if they provided an upgrade path but since Winforms they haven’t bothered with that either.
- pjmlp 5y agoPolitcs, driven by the same group that botched Longhorn in name of C++ and COM. https://arstechnica.com/features/2012/10/windows-8-and-winrt-everything-old-is-new-again/ https://arstechnica.com/features/2012/10/windows-8-and-winrt...
- vb6sp6 5y agoare you still doing desktop work? if so, what are you using?
- slownews45 5y agoI actually moved away from desktop. Lightweight web apps mostly in python (Flask). Slack apps / bots with a bunch of commands (backend does lookups, generates PDFs) People don't fully realize what we gave up dumping desktop development, you used to be able to build our nice biz specific crud apps (customers, projects, scheduling etc) using a bunch of tools. These things were usually darn fast if you were careful and you could make them very keyboard driven (ie, put the keyboard shortcuts on button labels etc).
- bmitc 5y ago> Replace ".NET" with "Windows" maybe? There's Uno, Avalonia, Xamarin Forms, and MAUI, all cross-platform. I think it's a mess no matter what.
- to11mtm 5y agoIn all fairness, at one point you could actually make sense of things. Unless I'm misremembering, until recently Avalonia was still being touted as primarily a replacement for Desktop WPF. I was shocked to see they're talking about mobile now too. I guess it's somewhat expected. Uno basically does what MAUI does. The main difference being, Uno has been around for a while longer and something you've been able to use for some time. I'm pretty sure they had usable versions for well over a year before MAUI was even announced. In any case... Microsoft's UI story is a non-starter until they get back to the point that a user can: - Click new project - Fill out the form - Get a Design window, - Drag a 'Textbox' into the design window, - Drag a 'Button' into the design window, - Double click on the button, get taken into a generated event handler, and the user can intuitively put in the right code (i.e. updating the viewmodel with 'hello world'.) - Click 'run' That's the Story that got an untold number of new developers -enamored- with VB6, a language that got so entrenched Microsoft had a hard time killing it. It brought a number of developers into the world of C#, making it easy for to write applications used at work that a whole team could use. That's actually how I 'eased' into programming at my first workplace; I wrote an app with a big ugly panel and a bunch of big buttons with labels that would automate tasks. Need a variation on a theme? Drag a new button over, maybe do some light refactoring, test, publish, tell the guys to restart the app. 10-15 minutes tops. Sure, Eventually I had to go through a spaghetti mess of callbacks and crappy generated code, but it was good refactoring practice ;). And when I left the company, someone else took over the code and now they are a software developer too.
- slownews45 5y agoAnd you could really evolve it. Databinding was surprisingly good and easy and fast - still beats web in my view - autocomplete, panels / options groups / tabbed windows etc all worked well (and were fast).
- 5y ago
- moogly 5y agoIMO they need to realize the common denominator of all these failed and deprecated frameworks is the very thing they've desperately clung onto over all these false starts... and that is XAML. Get rid of it.
- tasogare 5y agoXAML is good. It's very easy to build interface by nesting components then styling it if needed, and doing data binding. All the web alternatives are harder to use and came 10-20 years later.
- hizanberg 5y agoXAML is why I’ll never write a Desktop App with .NET, who’s been unable to rid themselves from it. React, Vue, Svelte as well as Flutter & SwiftUI all implement different but vastly more productive reactive dev models. MAUI will not be resurrecting .NET Desktop Apps which have been on decline since WPF. Blazor Desktop Apps might, anything XAML won’t.
- fpig 5y agoXAML is the only thing I was ever able to write a complex layout in, run the app, and see it look exactly as what I intended on the first attempt. That would meet my definition of productivity. For example, my experience with CSS has been the opposite of that. F5 a million times before the layout works the way I want it to. Sometimes even googling how to do create some type of layout because I can't think of it on my own.
- Angius 5y agoXAML is good for structure, same way HTML is. But by god is styling it a major PITA of boilerplate nesting hell
- ChicagoDave 5y agoWPF compiling to WebAssembly would be ideal.