Create a Ubiquitous .NET Client Application Development Model
This suggestion is migrated to Developer Community. Please use below link to view the current status.
https://developercommunity.visualstudio.com/content/idea/351412/create-a-ubiquitous-net-client-application-develop.html
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:
http://i0.wp.com/blog.developers.win/wp-content/uploads/2015/09/Vision.png
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)
4) Droid
5) iOS
6) Macintosh
7) HTML5
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)
2) HTML5-Compliant - For web-hosted scenarios, via .NET-to-JavaScript transpilation
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:
http://blog.developers.win/series/bridge-to-dotnet-ubiquity/
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!

499 comments
-
shilpichawla421 commented
Delhi Call Girls offer amenities in a fine manner to all the depravers who are too sensuous in nature. The babes are too exclusive love makers and gladly offer services which take away your sadness. The females offer services which are daring as well as too sensual for all the guys residing in Delhi city. Thus, you can have an excellent time with the **** gals who are splendid in their amenities.
http://www.shilpichawla.com/
http://www.delhicallgirls.club/
http://www.poonamdas.com/
https://www.manvikakkar.com/
http://www.dilkaur.com/
http://www.shiplichawla.com
http://www.diljotkaur.com/
http://www.shreyasehgal.com/ -
Aaron Huang commented
This suggestion already migrated to Visual Studio Community, please add your points in that thread:
https://developercommunity.visualstudio.com/content/idea/351412/create-a-ubiquitous-net-client-application-develop.html -
birbilis commented
At last, UserVoice was problematic, especially that it casted one vote automatically when you sent some feedback and then you couldn't sent more when you run out of votes. Had to go back and remove your votes. Totally boring, was making you decide sometimes to skip that suggestion and go on with your work instead
btw, regarding migration that article states: "Over the coming months, we’ll be migrating many existing UserVoice items from UserVoice, starting with a few hundred, although tems with relatively lower vote counts and items that are exceptionally old may not move over. Please see these frequently asked questions for more details on how UserVoice votes and comments are being handled. "
what is really sad is that all our feedback on Visual Studio etc. at Microsoft Connect has been lost when Microsoft decided to shut it down. When one sees such things, they wonder if it was worth the time they spent to send it in. Or when they see older items being closed just because time passed without them being handled
-
This suggestion has been migrated (please see the top of the description for where to find it
-
Mike-EEE commented
lulz... visual studio is trying to shake UserVoice... and this vote/idea? ;)
-
Marc Roussel commented
C# and UI builder interface. Drag and Drop, DataGrid, nice controls and animation all made simple in a UI like Blend for Silverlight for which everything runs in the browser. Nothing else please, no JavaScream, no HTML, no Razor, No external libraries.
Thank you very much and see you in 20 years !
-
Anonymous commented
Also do this for VB6 programming
-
@dsghi commented
It blows my mind how much React/Electron Microsoft ships...
-
Also Disillusioned commented
Interesting that the top languages for Enterprise development in 2018 are:
Java ................58%
JavaScript ........57%
C++ ................ 46%
C# ...................26%
Python ............ 25%
PHP ................22%
VB.NET............17%
C .....................16%
Visual Basic 6 ..16%
VBA .................15%https://www.cloudfoundry.org/wp-content/uploads/Developer-Language-Report_FINAL.pdf
-
birbilis commented
Not sure if Eto.Forms has been mentioned in this thread, just came across an article on it by Scott Hanselman:
https://www.hanselman.com/blog/CrossplatformGUIsWithOpenSourceNETUsingEtoForms.aspx
-
Ian commented
I hate to say this, but this something Microsoft should have done at the start. Unfortunately, the last two decades of language development might be best characterized by the word, "Squirrel!"
Chase after the latest thing. Focus on the trivial ('Looking at you, WPF). Ignore the basics. Ignore the investment in time and money that developers have made in MS technologies by allowing one, and only one ugrade path. Recode.
There's a reason Java is everywhere and Javascript is ubiquitous.
Frankly, I just wish they'd make a clear decision. Either developers aren't worth their trouble and they admit it and stop bothering themselves and us. Or they commit to a unified platform.
**** or get off the pot, Microsoft.
-
Hilmar Gústafsson commented
This seems kind of similar to what the developers of Avalonia UI are doing: http://avaloniaui.net/
-
Anonymous commented
https://blogs.msdn.microsoft.com/webdev/2018/07/25/blazor-0-5-0-experimental-release-now-available/
Blazor 0.5 is ready to go.
-
Mike-EEE commented
Thanks @disillusioned developer... I appreciate that. :) I wouldn't say it's time to move on just yet, however. I am still holding out hope for a little bit longer.
BTW, getting into it with the comments found here:
https://blogs.msdn.microsoft.com/devops/2018/07/18/protecting-our-users-from-the-npm-eslint-package-breach/ -
disillusioned developer commented
'Under review since February 23, 2016' ... *sigh*
Sadly symptomatic for the new Microsoft that seems determined to abandon all of its 'legacy developers' for some new cool. It's very revealing to regularly visit Microsoft's own .NET Blog. Based on the number of comments there's low to zero excitement about their .NET Core initiative which seems to get 99.9% of all internal development ressources, while everything remotely WPF-related easily draws 100+ comments. Don't get me wrong, I like .NET Core, although I doubt it will have an impact on the thriving node.js-stack, since MS is - as always - late to the game and fails to offer the 'one language on client and server'-approach. But throwing the whole 'classic' developer base under the bus by leaving them with a 12 year old windows-only UI-Framework WPF that never got any substantial updates for years and by ignoring the plea for a cross platform client application framework is massively frustrating (Yes, I'm ignoring UWP, just like everybody else). Are we really supposed to turn to abominations like electron because Microsoft stopped caring? Where are the alternatives? The 'It's purely experimental and will probably get dumped anyway so don't use it'-Blazor project?
Thanks a bunch for all your efforts, Mike-EEE. But I doubt there will be any positive reaction from Microsoft. Time to move on.
-
Marc Roussel commented
If Elon Musk can send a car in space, Microsoft can send a cow to Mars and back I'm pretty sure of that.
-
Anonymous commented
That is an extremely unrealistic suggestion. The .NET Run-Time is specifically designed to work with the Windows API... and has been in-development for over 15 years! Expecting Microsoft to be able to make it "ubiquitous" like suggested is like asking a scientist to make a cow fly to Mars and back.
-
Mike-EEE commented
Yeah @Scott it's great to see the experimentation/exploration. I for one am very appreciative to see MSFT take the efforts to try out and see things. You see this with GOOG and AMZN especially. It's good to see MSFT in that fold now and I really hope they continue.
The two issues with Razor's approach is that it is tied to HTML5 in a way that is not very elegant when composed with .NET IMO. It is basically a hybrid templating system between .NET and HTML5. So you have some symbols (.NET) that are PascalCase and then others (HTML5) that are all lowercase. Aesthetically, this disruptive to read and parse from a human-readable perspective. Or at least the one that is typing the words that you are now reading LOL!
The other issue is that now you have WebAssembly Blazor which requires a significant download and then there's another for desktop. Will they each be able to use the same codebase and will it work on iOS/Droid?
For a little bit where my head has been at lately, I encourage everyone to check out Hugo:
https://gohugo.io/I have been truly blown away by how simple and elegant its approach is to website design. Totally nothing to do (or compatible) with .NET but really worth a look into how they go about building (or rather "compiling") web sites.
-
Scott Holodak commented
This could be interesting...
https://github.com/SteveSandersonMS/BlazorElectronExperiment.Sample/blob/dev/README.md -
mgbrown commented
My general opinion of Java apps which tried this is that they are all terrible. The more platforms you support the more compromised your app becomes.