I have also posted something similar for SQL Server Management Studio at https://feedback.azure.com/forums/908035-sql-server/suggestions/34239007-implement-sql-server-management-studio-as-a-uwp-apOlumide shared this idea ·
By the way, the Web Assembly aspect of my previous comments on Xamarin.Forms is possibly not accurate for Microsoft. Specifically, it should rather be about developers not Microsoft implementing Web Assembly support for Xamarin.Forms/UWP, e.g. Ooui (https://github.com/praeclarum/Ooui) and Uno Platform (platform.uno).
I appreciate your efforts, sir. I will also make effort to involve in the other location you pointed to.
So, in response to your latest feedbacks. I do think Xamarin.Forms supporting WebAssembly is enough. Rendering to the same usual HTML, CSS & JS, the other obvious option, is not actually a plus, cos it forfeits the essence of the native approach in the first place, even though I support that Xamarin.Forms should support the Web. WebAssembly is just enough to make things complete. A perfect cross-platform solution will not be easy to achieve. OK, what if we had more than Android and iOS to deal with? Wouldn't there be more platforms to target? Of course, yes.
For UWP, I do think that with the current amount of investment that has gone into it, if Microsoft should try to start over again with something else, it might finally make people forget about Windows development for good. It would likely be a disastrous move for Microsoft. I bet Microsoft will not try that but to simply keep enhancing UWP to become better.
I have used WPF (few years after it was released and got more stable and accepted) and UWP. Being that I do appreciate UX and UI responsive design, the first thing I instantly noticed about WPF is the flexibility of XAML in achieving a great UI design. But then, I noticed the serious absence of responsive design capabilities. Then came UWP eventually to take care of those areas. Business logic didn't change much. UWP XAML, even though differently intentioned, is still better at doing modern UI design than WPF XAML.
Btw, making WPF to run on mobile devices was going to be harder than UWP. Because if Microsoft hadn't done something about a unified Windows development, people would have complained too.
What makes the Web better today is with the introduction of true responsive design and adaptive design capabilities. Much of the development in the Web arena have been about the UI in a long time and much less about JS until more recently.
UWP vs WPF is a tough one. UWP can only become problematic when things get really complex, and if examined carefully, bad application-wide design approach is mostly to be blamed. These days, there are various ways to implement application design in a more modern way and things don't have to be done in old ways.
One other issue I had with UWP was not being able to easily use SQL Server with it, and that has now been taken care of, even though SQL Server data could be accessed over APIs or over a network. But if examined critically, it wasn't a real problem if one could only think in a more modern way. SQLite was just OK for the client in the more connected world of today, unlike when computers were more independent like in the early days of WPF era. Most times, it's an app design/architecture issue.
I recommend that we should all help UWP to succeed. And ensure that we contribute towards Xamarin.Forms achieving WebAssembly capabilities.
I guess we do care about Microsoft.
@Mike-EEE @Marc Roussel
Thanks for the feedback.
I still have the following to say..
Xamarin.Forms is still the right candidate I suggest for whatever cross-platform endeavour that Microsoft does. Even now that CSS is a part of the tooling for Xamarin.Forms, it's closer to the Web than ever. In the end, it's essentially all about UI and backing business logic.
UWP must stay unique so that it can evolve even if other platforms happen to not evolve or evolve in different directions.
Also, the Web should not be helped by any native platform. All that have tried it essentially failed (e.g. Silverlight and Flash). TypeScript is still the wisest of them all because it's very compliant with the present and future plans of web standards. UWP will fail if it tries to satisfy the Web. WPF's XBAP essentially failed. Enough lessons learned there. Even Java failed to reinvent the Web. All of them who didn't abide by web standards failed.
So, my recommendation is that Xamarin.Forms should be Microsoft's cross-platform effort. It's not uniquely about sacrificing Xamarin.Forms for that course. Xamarin.Forms should simply maintain compliance with the current state of the technologies it's rendering to. It shouldn't move faster than them, especially the Web.
Also, Microsoft should implement Visual Studio in UWP and forget WPF. They should create new ways for UWP to be as ubiquitous as WPF have been. Now, there's an upcoming feature that will enable multi-instance running of UWP apps on Windows. Things are happening, but until Microsoft implements their own serious apps, especially Visual Studio in UWP, people will find it difficult to take them seriously. It is doable. In the end, it's basically about the UI and the backing business logic.
So, Xamarin.Forms is the best logical bet if Web development is also to be in Microsoft's unified cross-platform effort. No need for a new drastic change.
Also, for people who hate to design the UI, i.e. people who honestly but wrongfully think UI designers are irrelevant, Microsoft should make more effort to make the Windows Community Toolkit more featured so that UI designers can have a new place for creating customizable UI controls for people who hate to do UI design, and Xamarin.Forms should have something similar for it too. Google is already doing something similar with the much acclaimed Material platform (which I actually had thought would eventually become more like the CSS Bootstrap that web designers use), because they realized that every app began to look the same.
This issue is not that complicated.
First off, I appreciate your work here and everywhere, sir.
I checked the link. But no matter how productive and efficient it can be to satisfy the Web by compelling native platforms, a truth is that the front-end Web will keep being the one to slow others down. Against my deepest wishes, I see a future where the front-end Web, albeit advanced enough too, would only keep being a common ground and/or interface between various proprietary and public technologies but where no one will be willing to wait for the front-end Web to match up.
If we examine things critically, so far, the front-end Web has slowed down innovations. With time, other platforms are going to be evolving really faster than the front-end Web can catch up. There are many features on native platforms now that the browser and Operating Systems (OS) built on the front-end Web will not match in a long time, or that it will struggle to match.
Web Assembly will do a lot but it will possibly not catch up with native platforms because of the limitations of the browser, even though it can be made to run elsewhere.
In the end, a way forward I see here is to see the outcome of the XAML standard, and also let Blazor and ASP.NET Core keep doing their thing to satisfy the Web. With Blazor, .NET developers won't need much of all the complicated front-end Web framework fragmentations (i.e. Angular, React, etc.).
We have to let Xamarin.Forms keep trying its best with being cross-platform. And let the precious UWP keep evolving to great extents, even beyond Xamarin, which brings me to why I sometimes think that the XAML standard is not necessary because it's unlike how HTML emulates XML and its predecessor(s) by simply respecting their syntax and stuff but not like the XAML standard is intended to be a word-for-word unification of XAML for both UWP and Xamarin.Forms, which I think is going to hinder the growth and evolution of UWP.
I believe that Microsoft cannot afford to comform their native platforms to the limitations of the Web. It's dangerous for innovation. So, we should try to live with having Blazor & ASP.NET Core, Xamarin.Forms and UWP if we want to give room for great innovations to happen.
Xamarin can be and is already being used for this. Microsoft cannot/will not/should not do this using the main proprietary platforms, e.g. Windows UWP, for example, which is bound to evolve in a direction that other non-Microsoft platform may not.
Xamarin is enough to sacrifice for the cross-platform course.