Create a Ubiquitous .NET Client Application Development Model
This suggestion is migrated to Developer Community. Please use below link to view the current status.
This vote is for developers who wish to see the idea of a ubiquitous .NET client application development model created by Microsoft and the Visual Studio team.
A ubiquitous .NET client application development model is a model that is defined in .NET-based technologies and is able to run in a multitude of runtime environments -- both native-compiled (store-hosted) and web-hosted.
A *very* rough image of the vision can be found here:
The goal is to enable *one* .NET Client Application Project to build deliverables for the following platforms:
1) Windows 10
2) Legacy Windows
3) *nix (Unix/Linux)
8) ??? (Extendible to different, future platforms)
In order to achieve the above, a ubiquitous .NET client application development model should strive to possess the following qualities:
1) Native Cross-Platform Capable - For native-compiled/store-hosted scenarios (iOS/Droid/Windows Store)
3) Consistent User Experience - For brand recognition, reinforcement, and optimal usability across all known scenarios
4) Cross-Boundary Accessibility - For shared code/assemblies between server and client boundaries
5) Xaml-Powered - Harnessing one of the greatest inventions in Microsoft's great history
6) Object Serialization Congruence - Markup used to describe serialized objects is what is created in memory
7) Holistic Development Consistency - The same guidelines and conventions are used in both client and server scenarios
For more information around this idea and the qualities above, a series of articles has been created to discuss the notion of a ubiquitous .NET client application development model at length. You can view that series here:
Finally, this is intended to be a starting point for discussion, and not a final solution. THAT is meant for the experts there at Microsoft. :) Thank you for any support, dialogue, and feedback around this idea!
Suddenly we're only 300 votes away from 10,000... did something happen or something? An event or something? ;)
exactly what standard do you have in mind? please don't tell me Java, we've seen what Google did with Android, they're still fighting on this with Oracle in courts
Takenomiya Kate commented
If you want compatibility, there's .Net for that. Muddling with .NET Core cross-platformness will just taint its reputation. Younger programmer might not know what Microsoft did in 1990s but I remember when they lie to us about "embracing" such standard just to muddle with it later on.
on the contrary, it's very good news: the power of Microsoft was all these years that they'd strive for backwards compatibility and interop with older tech (can still run Win16 in 32-bit Windows for example and would hope they also had it in x64 since there are some nice older 16-bit educational apps that need a VM to run), not ditch a technology for the latest trendy stuff and tell you to write all your stuff from scratch
btw, interesting reading on what happens at the world of trendy that's called web development currently:
Takenomiya Kate commented
I feel pessimistic after their most recent announcement on .NET Core 3 and Support for Windows Desktop Applications. Seems like Microsoft is reverting back to their old embrace-extend-extinguish behavior...
FWIW we're discussing the dumpster fire of Xaml Standard and //build 2018 here (skipping to an interesting post, if I do say so myself):
Worth an investigation: http://platform.uno/
Microsoft, you haven't yet lost the mobile space if you make this happen. You will have a LOT of usage if you created a cross-platform XAML implementation. Developers will pay for it and are asking for it. All you need to do is listen to your customers. As you used to realize, being the middle man is very lucrative. It's also not too difficult either. Just write a rendering backend in OpenGL and call it a day. There are a handful of projects already trying to do this in one form or another. Give Miguel de Icaza a ***** at it if no one else is going to step up to the plate.
Jack Bond commented
Hey Microsoft. It's been three days since your last poll. Quick, do another, maybe this time the top request won't be exactly the same as the last 100 polls.
Whoop Dee Doo. You can now run WPF on top of .netcore, but only on Windows.
The level of incompetence is staggering.
Lots of mention of "ubiquitous" in //build currently, but meaning all the wrong things. ;)
WebAssembly + Xaml is here:
Paul Sinclair commented
A QT like GUI/Form designer for C# please... that can just work on all platforms.
MS used to provide good tooling for windows that all went down hill after windows 8.. time to get back to good tooling no?
With .net core stuff and multi platform support and proper tooling for GUI layouts they could surely do alot better than half dozen JS libraries built on poor foundations.
I agree GUI for rapid development is needed for web (blazor) and mobile (xamarin.forms), it has been asked thousend of times in xamarin.forms forums. A GUI is why visual basic/winforms/etc were so succesful years ago because any one could create UI so easy and fast, if you had to create windows UI using code, MFC, etc it would not have been succesful.
Coding UI is so boring and slow and is not where innovation for business is. MS has always provided great tooling for UI (vb,winforms,wpf, silverlight,etc) not sure why they are not doing nowdays for web and mobile and they want us to go back 20 years ago to code everything.
If they could provide great GUI tooling for web/mobile it would be a big differentiation from other techonologies like angular, react, etc and lot of people would move to use it as learning curve is so much faster.
@Marc 100% agree... there was actually a discussion around this lately on Xamarin's forums. Well it actually started on Twitter and had to do with Xaml Standard, but was never on Xaml Standard's repo... GO FIGURE. Anyways, there is actually a movement to make code more UI-ish, and I'll just skip to the good part where I put in my $.02. ;)
Marc Roussel commented
Any GUI to develop ? Because having a button this way is hard to know where it is.
// Create the UI
var button = new Button("Click me!");
This makes me laugh a little. Imagine I have a very complex form to build. I don't think I see myself building a UI that way.
Markus Schaber commented
A good base for this could be Xamarin.Forms, which already supports the mobile platforms, and work is in progress to support the desktop platforms.
For the web, see https://github.com/praeclarum/Ooui for one possible way to implement...
Marc Roussel commented
@Anonymous LOL - Microsoft isn't going to bring about some white horse frontend technology that everyone will use
Why not ?
“You cannot escape the responsibility of tomorrow by evading it today.” ~ Abraham Lincoln