I suggest you ...

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!

11,273 votes
Vote
Sign in
Check!
(thinking…)
Reset
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 →

    499 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • Roger J. Wilco commented  ·   ·  Flag as inappropriate

        Yes it is interesting to say the least that this idea was only marked as Under Review without a single comment from our Visual Studio overlords. Did someone accidentally hit the wrong button when they were drunk or something? What say you Visual Studio team? It's been over 6 months now without a peep. Please tell us you are working on something good!

      • Anonymous commented  ·   ·  Flag as inappropriate

        Xamarin is a great solution but without Windows 7/8 support it is impossible to accept. This has to be a minor amount of effort to address the legacy platforms!

      • Chad Pesterwick commented  ·   ·  Flag as inappropriate

        As a business owner this makes so much sense. Currently we have to build two codebases for every solution: one in javascript for the web page and one in .NET for everything else. That is twice the code and bugs to develop and maintain, all because .NET doesn't work in the browser. By only using .NET everywhere we can reduce our development costs and efforts by half. Please do this Microsoft!!!

      • Mike-EEE commented  ·   ·  Flag as inappropriate

        Over 4,000 votes as of today! Thank you so much to everyone that has supported this.

        @Anonymous I was like you and was getting concerned that I haven't heard anything in a while in WebAssembly, so I contacted my Google contact who has been working with this. This is very much in play, and the Git repo is pretty active:
        https://github.com/WebAssembly/

        MSFT Edge has already declared support for it so in SOME fashion we should ultimately see SOMETHING... SOMEWHERE. LOL. Of course the end result remains the key here.

        It does appear the IL efforts in the Git repo have waned. That doesn't mean that MSFT isn't working on their own efforts. The fact that this vote is Under Review, along with Miguel's Reddit comments below make me cautiously optimistic here.

        MSFT makes announcements every November (connect(); ) and Mayish (//build). So I am looking forward this November for the first signs of anything, if anything. :P

      • Eric Bl commented  ·   ·  Flag as inappropriate

        completely approve the necessity of such an ubiquitous .NET platform.

        We want a .NET Core which really becomes the common core of all .NET variants!

        Main goal is consistency: ensure that the same code will always have the same behavior. The current situation with separate implementations might lead to different behavior of the same shared code…

        MS bought Xamarin in February 2016: what about a real merge on Xamarin and .NET Core? Or better said, where are we in the merge of Mono and .NET Core? Wasn’t it the goal of buying Xamarin? Xamarin is based on Mono, all efforts on mono should be put in .NET Core to gain a better visibility and understanding among the developer.
        Currently (VS2015), one developer targeting a cross platform app should go on Xamarin for iOS and Android, and deal with .NET Core/UWP for Windows 10 (Desktop/Mobile/Xbox). These branches should become one!

        An even bigger merge would be to have the full .NET Framework becoming another layer on top of .NET Core.
        Thus, we could develop our main class library / code logic targeting .NET Core 2.0/3,0 and then, having different project referencing the very same dll: on one side Windows full app (e.g. WPF/ .NET 4.x, cmd line tool, on other side mobile/cross platform dev (iOS/Android/ Windows Mobile if it still goes somewhere…)
        The current situation (VS2015) with “shared project” and maybe precompiler stuff is not that clear to build this kind of multi platform apps (even if quite possible with interfaces and dependency injection).

        (cross comment from the .NET Core Roadmap)
        https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/

      • Anonymous commented  ·   ·  Flag as inappropriate

        Beside code sharing between client/server, HTML/Javascript is also slow and lack of rich designer and components. HTML/Javascript is fine for designers to create a website but not for LOB real applications.

        MSFT should embrace a .NET browser client solution with rich UI designer ( like winforms, WPF, Silverlight, etc had ), controls and allow 3rd party control from telerik,devexpress,etc. And you will see how much adoption you get from net developers versus that UWP fiasco and javascript for UWP that nobody is using, apache cordova integration, and all those things .net developers are not interested in , etc.

        I dont know how MSFT doesnt realize how many developers want the silverlight model back instead of that javascript failure. Just invest in a silverlight model without browser plugin.

      • Anonymous commented  ·   ·  Flag as inappropriate

        Its amazing how MSFT fails to see the need for sharing code between client and server. Javascript creaps into server applications just for this reason.

        .Net Core is a great thing. But if there is no way for easy code sharing with browser clients, iOS and Droid Apps, it will have a hard stand.

      • Anonee commented  ·   ·  Flag as inappropriate

        Why Microsoft not put Silverlight Runtime (or another .Net Rumtime) into the Edge browser at the beginning? if they did, the world may different, we could run UWP applications directly in the browser.

      • Anonee commented  ·   ·  Flag as inappropriate

        +1 @Roger good point!
        Yes, we need single codebase that can run everywhere (or as many as it can).

      • Anonymous commented  ·   ·  Flag as inappropriate

        Microsoft was famous years ago with Visual Basic that allowed any person to create applications very fast. Later winforms, wpf, silverlight etc.. We need same simple and fast approach to create Web UI applications in C# using designer and mark-up for advanced usage.

        My wishlist for creating web applications:
        1) C# Client and server
        2) Excellent UI designer ( layout, docking, click events, drag&drop, 3rd party controls, etc )

      • Roger J. Wilco commented  ·   ·  Flag as inappropriate

        @Hakan, what's the problem? The problem with TypeScript is that it is incompatible with .NET. You basically have to write (and manage/maintain) two different code bases: one in .NET and one in TypeScript (JavaScript). This is very expensive for developers and organizations because they are solving the same sort of problems in both codebases but cannot easily share/leverage the knowledge between the two. With Silverlight you could use the same code between client and server and it saved a lot of time (and money).

      • Håkan commented  ·   ·  Flag as inappropriate

        Just implement SilverLight in TypeScript and it would go a long way. Everything you have is there! HTML canvas, websockets, hardware accelerated graphics. What is the problem? Just do it!

      • Marc Roussel commented  ·   ·  Flag as inappropriate

        Can't wait :)

        1) C# Client and server
        2) UI DESIGNER not just mark-up writing.
        3) Superb BINDING system like Silverlight
        4) A conversion tool for existing Silverlight APP is absolutely necessary (if possible)

        We need to do beautiful interface these days and I find it very hard labor to do interface in Razor
        I'm actually redoing a HUGE Silverlight app and it's painful believe me.

      • Anonymous commented  ·   ·  Flag as inappropriate

        +1 WPF XAML, integrate Xamarin.Forms and UWP and run on WebAssembly! Will be a dream to create web applications UX/UI in .NET again.

        For websites we can use html/bootstrap etc but for large LOB webapps we need .NET back to UI/client side!

      • Anonee commented  ·   ·  Flag as inappropriate

        Windows Phone failed as Satya Nadella admits (http://www.deccanchronicle.com/technology/in-other-news/180616/microsoft-ceo-satya-nadella-admits-windows-phone-a-failure.html ), so *may* ***'s time for MS to do their plan B, create their own Android brand, something like Microsoft Android, the MS android is based on Android open source OS, and has a windows API layer that can run all UWP applications and support download apps from android and windows app stores.

        I know MS is design their Surface Phone, but if they insist target for business users with high price, obviously Surface Phone cannot save windows 10 mobile.
        I'm in China, mainstream Android Devices in price range of 1000-3000 RMB (about 160$ - 500$), and the 160$ phones has very high hardware equipped and can run any business apps, who will buy a 600-900$ surface phone with less apps ready to run?
        The world is change quickly, many people do not use PCs anymore and take a smart phone for daily works instead. If MS lost mobile OS, it will become a new SUN after 10 years.

      Feedback and Knowledge Base