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!

7,545 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 →

    332 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...
      • AnonymousAnonymous commented  ·   ·  Flag as inappropriate

        I dream one day I can utilize the full .Net Framework in C# with XAML/WinForm to build a complete program (frontend and backend) that works on Windows7, iOS, Android, Mac, Web...

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

        Yeah, not too surprising. "Xamarin" is pretty broad though... is it "Xamarin" or "Xamarin.Forms"? Interesting that it is also 48.7% "Loved" vs. its 51.3% "Dreaded."

      • Marc RousselMarc Roussel commented  ·   ·  Flag as inappropriate

        This survey doesn't make any sense C# is the one language so many VB 6 programmers switched over since the last years

      • George BirbilisGeorge Birbilis commented  ·   ·  Flag as inappropriate

        Yep, remix3d looks cool - if you see source code of https://www.remix3d.com web page (where the Paint 3D app in Win10 Creators Update publishes to), it has mentions of some Beihai-web library, so probably it is about Paint 3D or some more general foundation to be used by multiple apps. In fact some time ago, this article was mentioning Beihai in relation to Tsunoda: http://www.zdnet.com/article/beihai-a-new-app-from-microsofts-windows-apps-studio/

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

        Coooool... thanks for the info, George!

        I just upgraded to the Creator Update, which has a new Paint (Paint3D), which is tied to this:
        https://www.remix3d.com

        Bonus points/kudos to anyone who can id the tech involved to make that happen. My guess is WebGL.

        Kind of cool. 3D in a web page... once again. Like Silverlight. Seven years ago. ;)

      • George BirbilisGeorge Birbilis commented  ·   ·  Flag as inappropriate

        ...btw, the demise of Nokia has brought down lots of links to Qt documentation in forums. Luckily there is archive.org, pity the browsers don't offer option to users to redirect to that when a link is broken (and it has cached copy)

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

        FWIW, looks like there are bindings for Qt here: https://github.com/ddobrev/QtSharp

        My money is still on Noesis at this point, however. It is based on Xaml and better Xaml than UWP "Xaml." :P

        ---

        Weekly Friday morning check-in: 31 votes were cast for this idea last week, bringing the total to 45,940 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/855414653526167552

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

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

        @Anonymous, correct the best solution in that regard is http://www.noesisengine.com/

        I've heard Mono/WebAssembly could be as soon as a few months, but I am skeptical. I was also told that this is more for games than for "applications" which is a good starting point (see: Noesis) for my purposes. The concern is that the Mono framework will be a 3-4MB download.

        Which is not as bad as it would have been 5-6 years ago. Doing a quick check, the CSHTML5 control demo is already 2.3MB.

        In any case, if anyone wants more information and wants to further elevate awareness to this, please send a mail to dotnet@microsoft.com and reference this issue. Really from .NET's perspective "no one is talking about WebAssembly" because no one from .NET is reading Visual Studio's UserVoice.

        Not even anyone from Visual Studio is reading Visual Studio's UserVoice. ;)

      • AnonymousAnonymous commented  ·   ·  Flag as inappropriate

        what is the status of mono and webassembly? once is completed is xamarin.forms going to add browser target? what ui components will they use? browser is not like android, ios that have standard controls you can map against. Just running mono on webassembly doesnt solve much without an UI controls/framework.

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

        Weekly Friday morning check-in: 39 votes were cast for this idea last week, bringing the total to 45,897 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/852854044855066624

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

      • AnoneeAnonee commented  ·   ·  Flag as inappropriate

        And, can you give us a clear answer, MS, even you say "NO", so that we can decide to move to phonegap + innoc/React Native, or stay with C#.

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

        @Anonee.... In other words: "Rather than spend time innovating and getting Xamarin to work on the web, we decided to take the easy shortcut and saddle .NET developers with another incompatible codebase for their solutions."

        Truly infuriating. ;)

        Feel free to upvote/add your voice here:
        https://github.com/Microsoft/reactxp/issues/28

      • AnoneeAnonee commented  ·   ·  Flag as inappropriate

        ReactXP is good, that's the js+css cross-platform solution from MS, and so we ask for C# + xaml solution, please, MS.
        Time is urgent, once js+css dominated cross-platform development, there's no opportunity for C#.

      • AnoneeAnonee commented  ·   ·  Flag as inappropriate

        Historically, the UI for each Skype client was written from scratch in the “native” language of each platform (Objective C on iOS, Java on Android, HTML and javascript on the web, etc.). About a year ago, we embarked on an effort to reinvent Skype. We decided that we needed to take a fresh approach to client development - one that would maximize our engineering efficiency and agility. We wanted to move away from implementing each new feature multiple times in different code bases. We wanted to minimize duplication of effort. We explored a number of available options. Web wrappers like Cordova (PhoneGap) didn’t provide the performance or “native feel” we were looking for. Xamarin, which is a great solution for cross-platform mobile development, didn’t help us on the web. We ultimately decided to build our new client on top of React JS and React Native. ReactXP was our attempt to unify the behaviors and interfaces across React JS and the various React Native implementations
        ----------------------------------------------------
        From https://microsoft.github.io/reactxp/blog/

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

        MSFT builds a React framework, known as ReactXP. I do not see any .NET integration points, however. Perhaps that is the goal of WebSharp?

        This still does not solve the "web page" problem of being able to build an app in this technology and push it out as a web page that is accessible by URL (that I can see):

        https://microsoft.github.io/reactxp/

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

        @birbilis, Sounds like I should take a look at what Electron is, first. ;) And yeah, the whole DOM/W3C makes me weary. I guess if they are exposing the host like they do with iOS and Droid, then that makes sense. I just don't want to be building an app where it renders a certain way for iOS/Droid/Windows and then for the "web" it has to be in an HTML5 page, because, well it's the web, duh. ;)

        That sounds pretty ridiculous until you consider that is exactly the quagmire we find ourselves in now as .NET developers.

        --

        Weekly Friday morning check-in: 40 votes were cast for this idea last week, bringing the total to 45,832 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/850309304406167552

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

      • birbilisbirbilis commented  ·   ·  Flag as inappropriate

        Not in a browser process, only in the Electron process, side-by-side with the browser stuff, with two-way communication so that the browser API is exposed to .NET too.

        However they write there that their work on the strongly-typed Typescript-based DOM (W3C) API would be helpful for the work they're doing or planning (no code published yet I guess on that one) on running Mono in the browser via WebAssembly.

        Mostly interesting is that they plan to reuse some code from Moonlight for the Browser API. However, Moonlight was NPAPI-based I think (like Silverlight) and browsers are phasing-off NPAPI plugins in favor of PPAPI etc., so maybe they haven't though of that very well (unless NPAPI has lot of similarity on how it models the browser with PPAPI that is [haven't checked])

      Feedback and Knowledge Base