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,501 votes
Sign in
or sign in with
  • facebook
  • google
    Password icon
    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
      Signed in as (Sign out)
      • juepiezhongren commented  ·   ·  Flag as inappropriate

        the great philosophy out of WPF is the core energy of our endless dreamings and longings that one day Xaml & C# are to conquer the entire client world!

      • Oliver Shaw commented  ·   ·  Flag as inappropriate

        Thanks Roger, great article!

        I remember when apple where onboard with SL.

        I think I'd feel a whole lot better if MS released a roadmap including plans for GC, C#, XAML in WebAssembly.

        Currently there is only toolchain for C/C++ and JavaScript API on WebAssembly.

        I remember the good old days when developers had some clarity moving forwards. Makes it very difficult to innovate without it.

        I'll remain hopeful that I can once again consider myself an MS fanboy.


      • Roger J. Wilco commented  ·   ·  Flag as inappropriate

        @Oliver, did you read that WebAssembly article below? Apple is on board:

        This doesn't circumvent the App Store anymore than "websites" (which are really just applications hosted in a web page) do. WebAssembly is also 20x faster than JavaScript, meaning if you code anything in JavaScript in the next year (or rather next March, after WebAssembly is released), you will be obsolete and considered a dinosaur.

      • Oliver Shaw commented  ·   ·  Flag as inappropriate

        WebAssembly will be SL all over again. Apple and Google will not want it to happen as it circumvents App Stores. I'm guessing this is why the preview is in Edge because MS want to run games on their devices. Plus, it'll be a long time coming.

        I think the best bet is cross platform desktop apps such as Avalonia, which looks awesome! .NET community should get behind this. CSHTML5 guys are progressing very quickly - but it's not backed by MS and it probably has performance issues.

        I don't like the idea of writing JS and HTML as it's slow and difficult to maintain.

        MS (Apple and Google) will probably f*ck us again because they only do what's in their $$ interest. I think they might be interested in cross platform desktop apps as it doesn't break their model. Maybe Satya Nadella will see the strategic benefit to giving his shrinking community of developers a method of building awesome and fast ubiquitous apps. Meaning rescue his failing App Store by giving 'programmers' the ability to make the best desktop apps in the market.

        We must also remember office 365, Power BI and Dynamics are all asp.net as I know.

        Fingers crossed, but unless something is decided very soon we'll be migrating to plebweb tech.

        Maybe some awesome human that works at MS will make a post here and instantly win back all their die hard developers in one go.

      • Mike commented  ·   ·  Flag as inappropriate

        WebAssembly + WebGL is the target of choice for CIL... Asking for HTML+JS will be soon outdated, we should be getting ahead of the curve... Microsoft... You better not f*ck this up for us... Start working on prototypes internal on this... We do not want to hear head of Microsoft saying again that MS miss the boat on new application model... Like it happens with Mobile Windows phones

      • Marc Roussel commented  ·   ·  Flag as inappropriate

        I just hope we don't have some kind of library needed that resemble C#. We need pure C# both sides client and server. That's all we need and specially a good interface designer.

        That's as simple as that. Nothing more.

        What is interesting is how we, programmers, want to do web application without having all kinds of anonymous objects on client side with no intellisense as it is the case with JavaScript. Developing is so much fun when you have Client-Server understanding each other in the same development environment and same language thus you create your classes on the server side and the client knows about them (PROXY) but please understand that we need to avoid adding a Service Reference and updating it each time when necessary. This was not interesting in Silverlight so to my opinion we need to abstract that work which the futur development environment should do intelligently and silently.

      • Roger J. Wilco commented  ·   ·  Flag as inappropriate

        @Christian, you say this is a confusing request, yet over 5,000 votes seem to understand it well enough. You also immediately say after that it is clear what is needed, so make up your mind! ;)

        Also, food for thought: if WebAssembly is considered HTML5-compliant, then a WebAssembly-based solution or application becomes HTML5-compliant by virtue.

        Otherwise, a MSFT-backed JSIL-type framework would still be perfectly acceptable. A small team out of France has been working on it for a full year now and is constantly making performance improvements. Imagine if a full MSFT division had been working on it since 2011 when Silverlight was put to bed? That's a full five years now, if you aren't keeping track of time:

      • Christian Findlay commented  ·   ·  Flag as inappropriate

        And, a reminder is that Silverlight already achieved this goal. So another option would be for Microsoft to simply Open Source Silverlight so that it can be modified to be deployed upon WebAssembly

      • Christian Findlay commented  ·   ·  Flag as inappropriate

        I think that this request is very confusing and needs to be cleaned up. It's clear what is needed. We need a runtime environment, and a Xaml based graphics library that will run on all platforms. That runtime environment is .NET Core. We just need the graphics library now. That library may be Avalonia. As for HTML5 compliancy - that is just a pipe dream that will never come to fruition. A better idea would be to deploy .NET Core apps via the browser using a wrapper for something like WebAssembly.

      • Mike-EEE commented  ·   ·  Flag as inappropriate

        Couple of links to note:

        Telerik has created a NativeScript that allows you to code in TypeScript/JavaScript native applications. This essentially makes JavaScript the only language you need to know to create ubiquitous applications, meaning you no longer need to know objective-c, java, or even .NET. :P

        Also, Avalonia seems to be picking up steam. Maybe the answer here is to put official, authoritative support (and resources) from MSFT behind this project, which would include implementing 3D and WebAssembly support? By doing so, you will have effectively created a truly ubiquitous .NET client application development model:

      • Anonymous commented  ·   ·  Flag as inappropriate

        winforms has the best UI designer, XAML the best UI text markup editing.. could you make a mix of both, simplicity of dragdop winforms and events and powerful editing of XAML for web?

      • Anonymous commented  ·   ·  Flag as inappropriate

        Don't forget all the Winforms program that are out there. So View.Designer.cs to xaml (or similar) will need to be part of this. I wholly support a uniform Microsoft UI that can work across web and any device.

      Feedback and Knowledge Base