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

6,555 votes
Vote
Sign in
Check!
(thinking…)
Reset
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!Developers Win! shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    266 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Mike-EEEMike-EEE commented  ·   ·  Flag as inappropriate

        Happy Holidays and Happy New Year to all out there -- especially to all those who have supported this idea. ;)

        26 votes were cast for this idea last week, bringing the total to 44,634 combined votes across 10 similar ideas asking for a ubiquitous .NET. Please feel free to like and/or retweet to show your support to the "Big Three" here:
        https://twitter.com/DevelopersWin/status/814819575955161089

        Thank you all who have shown and continue to show your support!

      • AnonymousAnonymous commented  ·   ·  Flag as inappropriate

        I still create some winforms app from time to time and it is so much productive/faster than JS/HTML web development.

      • AnonymousAnonymous commented  ·   ·  Flag as inappropriate

        I agree with Marc. We should only need this for creating great web apps:

        .NET
        EF
        XAML (Great Visual Editor with binding to models)

      • Marc RousselMarc Roussel commented  ·   ·  Flag as inappropriate

        This is what you have to know to make a web application these days

        .NET
        EF
        HTML
        CSS
        JavaScript
        JQuery
        JQuery UI
        Bootstrap
        Razor
        MVC Pattern
        SQL

        What is needed is just this :

        .NET
        EF
        XAML (Great Visual Editor with binding to models)
        SQL

        ;)

      • Aaron HuangAaron Huang commented  ·   ·  Flag as inappropriate

        Sciter, (yet) another HTML/CSS+Javascrip solution for cross-platform.
        The more solutions exists, the more indicates that software developers are eager to have an unified framework for develop apps for *every* possible platform. Microsoft should not miss the boat.

        More info:
        http://sciter.com/
        Sciter brings a stack of web technologies to desktop UI development. Web designers, and developers, can reuse their experience and expertise in creating modern looking desktop applications.

      • Philippe MonteilPhilippe Monteil commented  ·   ·  Flag as inappropriate

        Regarding the idea of an 'Ubiquitous .NET Client Application Development Model', how about considering things from a different angle?

        A number of key technologies are available separately today:

        - 3D APIs: DX, OpenGL, OpenGL ES, WebGL, WebGL/WASM
        - 3D advanced APIs: DX12, Vulkan, Metal
        - WASM: create core components in C++, make them usable inside web pages
        - a more and more multiplatform .Net
        - Roslyn: the ability to produce transpilers able to turn modules based on a subset of C# into C++ / Java / Android ones
        - C++: the availability of Qt, a powerful and multiplatform, UI and graphics engine
        - ...

        How about using those technologies to develop an open source, platform agnostic, UI/Graphics engine making possible to create UI components to be embedded
        into the various UI forms/pages of WPF / W10 UWP / OSX / iOS / Android / HTML / QT ...

        The UI/Graphics engine would:
        - be vector based, like WPF..., exploiting the underlying 3D API, whatever it is
        - be accompanied by an XAML-like description language
        - be multithreaded: give the ability to create multiple UI threads, but also to create UI elements in any non UI thread and then anchor them in any UI
        thread ...
        - extend the mechanism of dependency property to make it multithreaded, extensible, based on a React-like architecture ...
        - offer a mechanism to plug external custom 2D/3D renderers able to produce 2D/3D fragments to be composed with the 3D enabled UI elements and with other custom 3D fragments
        to produce composite and interactive 2D/3D scenes
        - make those composite and interactive 2D/3D scenes visible and exploitable using VR, AR devices
        - provide hooks to simplify the synchronization of the GPU operations required by the UI with those performed by external, custom 2D§3D renderers
        in charge of rendering specific 2D/3D scene fragments, merged by the UI/Graphics engine
        - exploit, when available, the improved capabilities offered by DX12 / Metal / Vulkan
        - ...

        It would be initially written in C# in a way making easy for Roslyn-based transpilers to produce its C++ / Java / Swift
        versions automatically, except for a clearly identifed set of platform specific low-level classes, like those wrapping the underlying 3D API
        of a given plateform.

        Philippe

      • AnonymousAnonymous commented  ·   ·  Flag as inappropriate

        Microsoft can you please respond?

        I think it's extremely unprofessional to leave this under review for so long. It also shows a complete lack of regard for your developer network.

        We need to know if you have plans to make C#/ XAML/ UWP available cross platform (Android, Apple etc)? Or if you have alternative, open source SL etc

        I think I speak for everybody on this forum when I ask you to do the dignified thing and let us know please? We're fed up coming to you with a begging bowl and being told to go starve to death.

      • Marc RousselMarc Roussel commented  ·   ·  Flag as inappropriate

        Well, In just a few words regardless of JS, C#, .NET and whatever other things we can think of, we simply want Silverlight back for Cross-Platform, Cross-Browser and Cross-whatever in the future. That's about all.

      • Mike-EEEMike-EEE commented  ·   ·  Flag as inappropriate

        Indeed Marc, it may be impossible to drop all server codes *now* but that is the direction we're heading. I am in agreement with your passionate hate towards JavaScript, of which it is unadulterated. :P

        FWIW, I dropped HTML/JS/Perl back in 2001 to pick up Visual Studio and learn .NET. I dropped JS with the intent of never having to deal with its ugly face again. However, since it does work in more places than .NET now, it by essence more valuable and is why companies are gravitating towards it.

        I have seen this with my own clients and there is chatter along the web. The best example (and corresponding diaglogue) can be found here, if you can wade through the discussion:
        http://forums.dotnetfoundation.org/t/cross-platform-wpf/421

      • Marc RousselMarc Roussel commented  ·   ·  Flag as inappropriate

        Yeah however the drop of .NET is less likely considering all server codes are written in that language and not JavaScript. It's impossible to drop .NET entirely. Now JavaScript on the client side is because it's an old technology that people are Hanged on since a long time and is becoming clumsy and fat with lots of problems for developer that embrace beautiful classes, lamba and exception handling the right way.

        So many people going nuts with frameworks of all kind just in hope to be purchased by Microsoft. JavaScript is a very poor language which absolutely need to be replaced gradually with .NET. I just hope MS will be the pioner of such technology

      • Mike-EEEMike-EEE commented  ·   ·  Flag as inappropriate

        I agree Marc, it doesn't make sense, but if you excuse the pun, it makes cents. :p

        Companies are tired of hiring two types of developers for two different code bases in JavaScript *and* .NET, as it is expensive not only in time but money. Since JavaScript works in the client browser process and .NET does not, they are dropping .NET altogether and going strictly with JavaScript everywhere. This not only means a simpler development paradigm, but means yielding nearly half the TCO (total cost of ownership) of their projects while putting the savings back into their pockets.

        ---

        Now, onto our regular scheduled programming... :)

        ---

        53 votes were cast for this idea last week, bringing the total to 44,414 combined votes across 10 similar ideas asking for a ubiquitous .NET. Please feel free to like and/or retweet to show your support to the "Big Three" here:
        https://twitter.com/DevelopersWin/status/804662238510534656

      • Marc RousselMarc Roussel commented  ·   ·  Flag as inappropriate

        Pitié, pas un autre framework, je suis pu capable.

        Leaving .NET ? What are you talking about ! JavaScript and all those framework over it which I'm using since 2 years are making my apps FAT and slow. We need .NET ASAP !

      • Josh McFaddenJosh McFadden commented  ·   ·  Flag as inappropriate

        @Anonee, Electron sounds like it can go in with Reactive Native and NativeScript, which have been shared here earlier as possible threats to .NET. With each of these frameworks you can write a solution in a single language (dreaded JavaScript) and reach all known desired development scenarios: server, native devices, and web pages. Since .NET still cannot work on the web or in web pages, it is cheaper to go with JavaScript which is why you see people leaving .NET these days.

        How long does it take the Visual Studio team to review this? It's been nearly 10 months since marked as review and this idea sits on top of its most wanted list by far.

      • AnoneeAnonee commented  ·   ·  Flag as inappropriate

        More Info:
        Electron is an open source library developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime and apps can be packaged for Mac, Windows, and Linux.

      • AnonymousAnonymous commented  ·   ·  Flag as inappropriate

        +1
        +1 I would love to see:

        rapid application development LOB for web based on webassembly.
        Winforms/Delphi drag&drop/events/layout style designer experience.
        WPF/XAML based expierence to edit UI code directly independant of the designer and flexibility.
        Share .net objects and class lib between UI / backend.

      Feedback and Knowledge Base