I’m a C# dev, and I’m also one of those who invested long time in Silverlight and XAML, and shipped gorgeous apps with it. Mostly LoB applications.
As the plugin era is over, and with the death of Silverlight, JS got great glory back again.
Silverlight and RIA services and controls (can you believe that trend is gone!?), and the app development in C#-XAML (will refer to it as CX), cross-platform apps we had in WPF, WinRT, and especially Silverlight (OOB, RIA services), is now all history, and developing cross-platform apps is not out-the-box at all, if you wanna use CX (yeah, Xamarin ain’t outa box at all).
HTML, CSS and JS are hard-coded languages by nature. They will always suck. Nothing will ever make it even close to the CX match.
But now, that .NET core was open-sourced, a .NET core version for JS-enabled systems, i.e. web-browsers is now really an option, with the aid of TypeScript.
And there are two parts to it.
- The availability of the .NET Core (at least the client-library that
was supplied with SL - as a beginning).
- An engine that compiles XAML
to appropriate HTML5+CSS3, and that’s on top and works with the JS
BCL (About that I doubt whether this should work on top of the .NET Core with underlying C#, or directly via TS).
Both these tools have been worked on, in many projects, but no project target this goal: Make CX available for web applications.
- In the JS to .NET field, there is NetJs (See CLR code) among others. Native features can be achieved with projects like Apache-Cordova or the like.
- About the XAML, there is the awesome Fayde project, that converts XAML to HTML5 and CSS3, but in the other hand uses TS as the backing language.
I think that as a first stage, we have to figure out what’s the proper way to port .NET Core to TS (and in turn, to JS).
Obviously it would be best to have the coreclr and corefx repos compiled to TS directly, and this is even easier to achieve on the fx project. About the coreclr, I believe that a TS mirror will have to be built from scratch, and as soon as we have it, we will be able to compile the fx project on top of that.
Please share your ideas and help figuring out the proper way to achieve this goal.
And let’s not forget about Roslyn, I believe we can build a compiler that compiles C#/VB code against our TS library.
If we accomplish this goal it could then be taken forward to support Mac and Linux OOB apps using Apache Cordova.
I do hope MS open sources XAML’s libraries which will then enable us to have native support for Mac/Linux.