The march toward UWP/Core ?
-
I've been following with interest the evolution of ,NET Core, and was interested to read the latest from MS in the article cited by Kent yesterday: [^] which included the following:
Quote:
t a recent Visual Studio Live! conference, Microsoft's Beth Massi indicated that .NET Core is definitely the future -- even for those Windows desktop applications -- and it was time for developers to get onboard. Specifically, the message was that future .NET Core versions would support those desktop apps, obviating the earlier advice about which applications should be ported. "As we move forward into the future, with .NET Core 3, we're going to see some more workloads that we're going to be working on here, mainly Windows desktop," Massi said. "We're bringing Windows desktop workloads to .NET Core 3, as well as AI and IoT scenarios. "The big deal here is now that if you're a WinForms or WPF developer you can actually utilize the .NET Core runtime."
Okay, what puzzles me is that I never seem to hear anything about what a developer who creates apps with rich visual interfaces involving complex controls ... does. I assume (wrongly ?) that the quirky set of WinForm controls (wrappers around COM based cores) we've had since the late neolithic cannot be used since they depend on low-level Win API stuff. So, where's the TreeView, the ListView, the DateTimePicker ? What if I need a grid, a useful grid, not something like that abomination called 'DataGridView ? I gotta pony-up mega-bucks to Telerik, SyncFusion, etc. ? If there is a "march" going on here, I hope it's not a "death march," like the WPF, or SilverLight, or "Modern UI" disasters. cheers, old fossil, Bill
«Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?» T. S. Elliot
I don't trust Microsoft's DEC-era architects (except Herb Sutter) and anything they have concocted. Especially software tools or languages that either are dependent on MS or any kind of runtime. I simply don't trust them. Today, I only program in MFC (I never left it) and await eagerly each time a new modern C++ idiom pops off the ISO C++ press. Modules is next in C++20 which should make my code even more compact and efficient and maintainable. VS C++ is an excellent compiler. Why it is free, I'll never know. As far as complex UI controls, I subscribe to BCGSoft's MFC libraries. These guys are the ones that delivered the technology to MS in 2007. I think they are still delivering new features to them which seem to end up in both Office as well as VS apps, although I can't prove it. I fully expect to be able to compile my code on all platforms without lifting a coding finger thanks to their All Platforms etc mantra. If the architects did this, I owe them an apology, but I rather suspect that it had to do with losing in the developer market place more than great insight. Anyway, I never have any anxiety about being scooped by a runtime or the next big technical-debt-filled programming language because I chose to trust ISO's 116 C++ professors around the world. The only group more lost architecturally than MS is Network IT. Ok, the GUI libs cost some money ($800, then $400/yr support), but I think you should pay for quality, and they are not only ever-evolving, but their support team is top notch with 48 hours promised response time. It's great coding huge decentralized apps and not having to worry about programming language or versioning. Again, I am probably the last MFC holdout, but I'm loving it.
-
In tech, you have 2 types of evolutions. The slow paced evolutions that move at a glacial pace and but also effect the entire industry. The fast paced novelty gimmicks mostly used to distract us, so we don't get bored waiting for the glacial shifts to produce results. .NET Core is the glacially slow type. Initially, around 2008 I think(?), it's purpose was to get embedded devices to run C# and compete directly with embedded Java platforms. Shifts in the embedded market (raspberry PI for low-cost and the crushing dominance of Java for anything else) altered those plans over time, and Core was eventually repurposed as a cross platform CLR. After waiting what seemed like an eternity, we eventually got a useable version with the release of 2.0. The upcoming WinForms and WPF support is hype / a pitch designed to increase enterprise adoption rate; it's mostly a distraction. Once the Mono team gets Core running on WASM, we'll probably get an alternative UI stack that will eventually end up dominating the market. Probably HTML based? Maybe XAML? We'll have to wait and see. I personally hope for XAML, but anything XML based is fine really.
.Net core and the current shift of Microsoft (from what I can tell) is to decouple their software platforms from the MS OS hosting. Core is an environment that can be hosted on non-iis servers. Shifting WPF to Core is part of that. Everything MS is doing makes sense from this perspective, including their recent announcement that they are winding down operating system development - dropping Windows. The problem I have had personally with Core is that its not easy to lift and shift an existing code library to the platform. Some dependencies, both in the API and 3rd party, are just not there. Hopefully they get it all sorted out, would love to have a tool that converts a code base at the click of a button some day.
-
I don't trust Microsoft's DEC-era architects (except Herb Sutter) and anything they have concocted. Especially software tools or languages that either are dependent on MS or any kind of runtime. I simply don't trust them. Today, I only program in MFC (I never left it) and await eagerly each time a new modern C++ idiom pops off the ISO C++ press. Modules is next in C++20 which should make my code even more compact and efficient and maintainable. VS C++ is an excellent compiler. Why it is free, I'll never know. As far as complex UI controls, I subscribe to BCGSoft's MFC libraries. These guys are the ones that delivered the technology to MS in 2007. I think they are still delivering new features to them which seem to end up in both Office as well as VS apps, although I can't prove it. I fully expect to be able to compile my code on all platforms without lifting a coding finger thanks to their All Platforms etc mantra. If the architects did this, I owe them an apology, but I rather suspect that it had to do with losing in the developer market place more than great insight. Anyway, I never have any anxiety about being scooped by a runtime or the next big technical-debt-filled programming language because I chose to trust ISO's 116 C++ professors around the world. The only group more lost architecturally than MS is Network IT. Ok, the GUI libs cost some money ($800, then $400/yr support), but I think you should pay for quality, and they are not only ever-evolving, but their support team is top notch with 48 hours promised response time. It's great coding huge decentralized apps and not having to worry about programming language or versioning. Again, I am probably the last MFC holdout, but I'm loving it.
Mad props for maintaining MFC, the most OS respectful way of making software for Windows up until the late 2000's. To be honest, I don't miss the clustefudge of files and declarations for UI construction, but when it worked, oh boy did it work!