I suggest you ...

Create a Ubiquitous .NET Client Application Development Model

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)
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:

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!

8,390 votes
Sign in
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Developers Win! shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →


    Sign in
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      • Marc Roussel commented  ·   ·  Flag as inappropriate

        All we need is ONE language and the real .NET one please and ONE WEB APP running everywhere. This is what Silverlight was doing so well. We also need something else along that line. We dislike writing HTML by hand for UI thus a need for a great Blend tool to design our interface and having this nice double click action to go right in the C# event code and write the code. I think you see what I mean!

      • Mike-EEE commented  ·   ·  Flag as inappropriate

        LOL @Marc Roussel! When a UserVoice thread becomes a product's tech support. ;) Marc, that looks like C# to me, albeit terribly formatted. Are you concerned about the [Ready] attribute?

        In any case, I am very appreciative of Bridge.NET supporting this cause and for sharing their project here and for the dialogue that has transpired here. @Philippe Monteil, that link is fantastic. Thank you. Easily the best article I have seen on WebAssembly to date.

        In any case, as the Developers Win! link below outlines, the Xamarin deal should take care of everything but the web. There indeed needs to be a solid pathway or, well, Bridge :) to get .NET into HTML5 browser-hosted scenarios via clever transpilation of JavaScript-to-.NET. It's a complex problem. JSIL.org has been at it for about 4 years now. It might involve multiple teams and technologies (like WebAssembly) to do it.

        The important and key part is to nicely integrate it with all the new stuff that MSFT/Xamarin are doing so that we are all one, big, synchronous, happy .NET family again. :) :) :)

        Once we have this solved it is going to be a golden -- nay, DIAMOND! -- era in Microsoft and .NET history, I dare do say!

      • Marc Roussel commented  ·   ·  Flag as inappropriate

        Bridge ? I just tried this and it's not even close to C# at all. I tried this simple thing and it doesn't even work. I looked at examples and I dislike the syntax not being like C#

        public class App
        public static void Main()
        Person p = new () { Name = "Joe Blow"};

        public class Person
        public string Name {get; set;}
        public List<string> Compagnies {get; set;}

      • Daniil commented  ·   ·  Flag as inappropriate

        Bridge.NET team is working on the .NET-to-JavaScript transpilation and other parts which is going to help a lot with the ultimate goal. The goal that we absolutely support. Being open source Bridge.NET is initially meant to help the .NET Community in those ways. Your feedback on our project is greatly appreciated.

      • Philippe Monteil commented  ·   ·  Flag as inappropriate

        The WebAssembly project:
        will make possible one day or another to run .Net code in a browser, give it access to the same API as JS, including WebGL.

        The combination of WASM and WebGL will then offer the resources to implement an XAML like vector-based UI engine able to inject UI blocks in a web page...

      • Julian commented  ·   ·  Flag as inappropriate

        I always liked the concept and promise shown by the Fayde project (created by Brad Sickles) - "Inspired by Silverlight; XAML engine using Javascript and rendering to the HTML5 Canvas." A

        A lot of it is written in Typescript, so would lend itself to a C#/Typescript transpiler. Importantly, you get XAML vector-based graphics running plug-in free in the browser.

        Repo here --> https://github.com/wsick/Fayde
        Blog here --> http://faydeproject.blogspot.com.au/?view=magazine

        Now if only MS would put their weight behind a project like that. Until then its C# on server, Typescript on web for me.

      • Mike-EEE commented  ·   ·  Flag as inappropriate

        Exactly Scott... this definitely bodes well for our cause here. However, if only iOS and Droid are accounted for, and not browser-hosted scenarios, then NodeJS will still have a competitive, cost-effective advantage. It would be great to see the new Xamarin integration yield a new client application model that is based on a stronger Xaml offering (like WPF, NOT like UWP) and can compile/transpile for the big four: iOS/Droid/Windows and Web. :)

      • Developers Win! commented  ·   ·  Flag as inappropriate

        It seems as if this idea/suggestion has been marked as Under Review. First off, an INCREDIBLE amount of appreciation and respect -- and, well, LOVE -- goes out to the Visual Studio team for recognizing this issue and for their willingness to take a deeper look into it. It really means a lot to your developers who have struggled for so long without a viable .NET client model since the days of Silverlight, and are looking to leverage their countless hours and dollars of investment into .NET by way of a powerful, cross-platform, and ubiquitous solution.

        It is also great to see that you will review a possible counter to combat the market/business/existential threat posed by NodeJS. As you know, NodeJS has started to pull organizations and developers away from .NET, as it can be utilized in a cross-platform fashion, enabling solutions for browser-hosted, native/store-hosted (via Cordova), and server-hosted scenarios.

        Additionally, if anyone is interested, more thoughts around this update have been chronicled here:

        Although this is simply a status change to "Under Review," this has surpassed any expectation held when this vote was created a little over four months ago. Thank you again SO MUCH for your consideration and support to everyone involved!

      • Aaron Huang commented  ·   ·  Flag as inappropriate

        It's time for Microsoft to give us an official and clear answer for all similar topics and open the roadmap so that we can decide to stay with .Net or jump to other boats.

      • RWalrond commented  ·   ·  Flag as inappropriate

        There has been a lot of talk about the new Microsoft. As a developer all I see is the new Microsoft trying to court App developers that don't give 2 sht's about Microsoft. What about your loyal developer who wants to use your tools and develop for your platform. Shouldn't we also have the chance to put our apps on other platforms? I support this movement 1000% and encourage other developers to stop making excuses for the largest software company in the world and call them out on this.

      • Roger J. Wilco commented  ·   ·  Flag as inappropriate

        Too big and far away? Cooments like that are exactly why we are in the mess we are in today. Did they say that with WPF? Or Azure? How about VS online? That took FOREVER to turn around but they have a great product now. Passion and vision is sorely lacking from MS it's probably dissenters are former employees trying to knock down the confidence of the giant trying to get back on its feet.

        Also, Xamarin is good, but as the links below show it doesn't support web like NodeJS. Very important or we all going to be Node developers in a few years and C# will be nothing but a relic.

      • Aaron Huang commented  ·   ·  Flag as inappropriate

        This plan is too big and too far away.
        Build a cross-platform .net CLR for android and iOS firstly, just like what Xamarin did, It looks MS's .Net Core is on the way, but sadly the UI components (WPF) did not listed in their roadmap till now.

      • Mike-EEE commented  ·   ·  Flag as inappropriate

        Excuse me, I used the wrong page in regards to NetMarketshare below. That was for the year of 2015. Here is the latest from last month. Google is actually @ 57%+:

        Additionally, Apple announced 1B active devices today:

        They include Macs in this 1B active, which are technically desktops/workstations, another report provided by Netmarketshare. According to a graph found in this article, Macs comprise about 5% of sales:

        So with some extrapolation (I really should make this a blog post, LOL), we can figure the entire device market at present with the given statistics: 1B (total active devices) - 5% (Macs) / 35.43% (share as of Netmarketshare report December 2015 above).

        That brings the device market (based on my calculations) to 2.6B at present. Again, that does not include desktop/workstation which is its own ball of wax.

        I like to talk about this as it really underscores the market we as developers are living in, and gives us more facts/details about the business problem at hand. Hopefully it helps someone out there and provides a little more context around this problem space. Please also feel free to correct my understanding, as always. :)

      • Mike-EEE commented  ·   ·  Flag as inappropriate

        Hi Johann, thanks for your input. You are correct that Android/iOS has a great deal of marketshare.

        In total, based off Xamarin's 2014 keynote, there are about 3 billion total devices in the marketplace, half of which are devices (phones/tablets). That is about 1.5B iOS/Droid devices. This might be escaping a lot of people, but Google does appear to be winning the device market overall, currently with 51%+ of the total device market:

        Even if Windows 10 reaches 1B installs by 2018 (and it should, Windows 10 is pretty awesome), that still leaves 2-2.5B devices outstanding that a UWP-based application simply will not be able to reach, meaning a developer/organization will have to create additional code bases to reach the remaining market. Here is a graph that really illustrates what this will conceivably look like in 2018:

        Hopefully what stands out in this graphic is that HTML5 reaches everything (all 3-3.5B devices), so its importance is truly critical in this effort. For full market reach that truly, effectively, and efficiently reaches all known, modern devices (or rather, to be truly ubiquitous), an application will need (at least) four code bases for the Big Four platforms: iOS, Droid, Windows, and web.

        Thanks again for your input and support. Please share the news/idea. :)

      • Johann Dirry commented  ·   ·  Flag as inappropriate

        This one is really important for devs and also for Microsoft.

        Currently, Android and iOS has ss much market share, that project managers and developers target only them and skip Windows completely.

        What Microsoft needs is to offer devs a solution that enables developers to develop for Windows first and still be able to sell their stuff to the Android and iOS users.

      Feedback and Knowledge Base