C# 如何在开发桌面应用程序时考虑web和移动应用程序?
我的任务是制作一个具有“性感”外观的桌面应用程序。我打算使用WPF来实现这一点。其中一个要求是桌面应用程序稍后将扩展为ASP.NET MVC web应用程序,然后是移动应用程序(可能首先是Android),同时保持相同的外观 **在这种情况下,“性感”意味着滑动菜单,以及总体上现代的外观和感觉 考虑到这一点,如果我想重用组件(和/或)样式,那么在开始桌面UI设计时,最好的方法是什么C# 如何在开发桌面应用程序时考虑web和移动应用程序?,c#,wpf,user-interface,desktop-application,C#,Wpf,User Interface,Desktop Application,我的任务是制作一个具有“性感”外观的桌面应用程序。我打算使用WPF来实现这一点。其中一个要求是桌面应用程序稍后将扩展为ASP.NET MVC web应用程序,然后是移动应用程序(可能首先是Android),同时保持相同的外观 **在这种情况下,“性感”意味着滑动菜单,以及总体上现代的外观和感觉 考虑到这一点,如果我想重用组件(和/或)样式,那么在开始桌面UI设计时,最好的方法是什么 例如,在创建桌面应用程序时,我会使用XAML作为UI,但考虑到应用程序的web版本应该与桌面相同,我是否应该/可以
例如,在创建桌面应用程序时,我会使用XAML作为UI,但考虑到应用程序的web版本应该与桌面相同,我是否应该/可以使用HTML/CSS?甚至这样想都是荒谬的吗?在我看来,“一次编写,随处可见”的概念是一个无法实现的乌托邦。 无论是一般意义上的,还是更具体地说,如果您希望用户拥有尽可能最好的体验 一方面,您可以肯定地沿着HTML/CSS路线前进,在所有桌面平台上使用嵌入式web浏览器,可能是Windows或Mac。有了熟练的设计师和良好的用户体验编程技能,您可能会取得优异的效果。 其中的一些部分可能还可以作为一个移动版本,以//解决方案的形式重新用于所有主要的移动操作系统、iOS、Android和Windows Phone。 潜在的缺点是,在这两种平台上,应用程序看起来都不是本地应用程序。Xamarin或Xamarin也可能是一种值得信赖的东西 另一方面,您可以将您的应用程序或应用程序逻辑放在web上的ASP.NET解决方案后面,通过Azure ACS或进行授权(如果需要)。在WPF中为桌面开发本机应用程序,在Java中为Android开发本机应用程序,甚至可以在Windows Phone中重复使用一些XAML 就个人而言,后一种解决方案最适合我的纯粹主义者,但正如您所提到的,如果品牌和外观非常重要(以本地外观为代价),那么第一种方案可能更适合您的需要
像往常一样,“视情况而定”,因为答案仍然很强。这个问题你会得到1000个答案,但是的,我认为这是不可能的。我将尝试解释原因(仅考虑用户界面) 为什么? 对我来说,重点不是你能重用什么,而是你应该重用什么 桌面应用程序、web应用程序和移动应用程序是不同的。不同的目标,不同的用户界面,不同的标准。例如,您使用最喜爱的文字处理器的方式适合于桌面应用程序(菜单、功能区、上下文菜单和其他任何内容),但它不是web应用程序的正确外观。在您导航的web应用程序中,可能并没有很多对话框,用户可以在页面之间来回移动。现在想象一下同样的手机应用程序!它必须被设计成与手指一起使用,按钮必须很大,而且根本不应该有对话框(我过于简化了主题) 对于这些平台,应用程序甚至不应该是类似的,每个平台都有自己的特点和指导原则。如果你不遵循它们,你的用户将不会对你的应用感到满意,即使它的UI真的很性感。如果您想为web编写一个好的应用程序,那么请确保它与桌面版本不同(有时,但取决于应用程序的类型,完全不同),而移动版本则更不同(即使不考虑语言和开发环境)。
您是否想象StackOverflow站点的桌面版本?你认为它的外观和行为应该是一样的吗?我猜你们的答案是“不”,即使我们都很欣赏网络是如何运作的 看看这个:
不要忘记,可以从移动设备使用web应用程序。您可能需要使用适当的CSS优化应用程序(也可能需要使用您最喜欢的JavaScript框架的移动版本),但这不是一项(这么)大的工作。JavaScript正在针对上述所有问题运行。使用JavaScript,创建桌面应用程序(Electron)、移动应用程序(reactnative),网络也反应更好的技术谢谢你的回答(虽然差不多4年后!)-我最近一直在与Cordova合作,这似乎是我需要的“灵丹妙药”。我希望我在4年前就采取这种方法!!