如何在考虑网络和移动应用的情况下实现桌面应用程序开发?

我的任务是制作一个具有’性感’**外观的桌面应用程序。 我打算用WPF来实现这个目标。 其中一个要求是桌面应用程序稍后将扩展为ASP.NET MVC Web应用程序,然后扩展到移动(可能是Android第一)应用程序,同时保持相同的外观和感觉。

**在这种情况下,“性感”意味着滑动菜单,以及一般的现代外观和感觉

考虑到这一点,如果我想重用组件(和/或)样式,在开始桌面UI设计时最好的方法是什么?

例如,在创建桌面应用程序时,我将使用XAML作为UI,但考虑到应该看起来与桌面相同的应用程序的Web版本,我应该/可以使用HTML / CSS吗? 即使这么想也是荒谬的吗?

在我看来,“一次到处写”的概念是一个无法获得的乌托邦。 一般而言,如果您希望用户获得最佳体验,则更具体。

一方面,您可以确定使用适用于所有桌面平台的嵌入式Web浏览器下载HTML / CSS路线,可能是Windows或Mac。 拥有熟练的设计师和良好的用户体验编程技能,您可以获得出色的成果。 其中一些部分可能还可以作为移动版本重新使用,适用于所有主流移动操作系统,iOS,Android和Windows Phone的PhoneGap / jQuery Mobile / Kendo UI Mobile解决方案。 潜在的缺点是应用程序不会在任何一个平台上看起来像本机应用程序。 适用于Android的 Xamarin Mono Touch或Mono也可以用来观看 。

另一方面,您可以将应用程序逻辑放在Web上的ASP.NET Web API解决方案之后,通过Azure ACS或OAuth进行授权(如果需要)。 在WPF中为桌面开发本机应用程序,为Android开发Java,您甚至可以重用一些用于Windows Phone的XAML。

就个人而言,后一种解决方案最适合我的纯粹主义者,但正如您所提到的,如果品牌和外观非常重要(以原生外观为代价),第一种选择可能更适合您的需求。

像往常一样,“这取决于”,因为答案仍然很强劲。

JavaScript正在运行以解决上述所有问题。使用JavaScript,创建桌面应用程序(Electron),移动应用程序(reactnative),Web也是React更好的技术