我正在开发WinForms应用程序。到目前为止,我已经完成了大约50%的比例。
无论如何我可以将其转换为Web应用程序而无需重写整个GUI吗?
如果有非,我应该在什么平台上使用(重写我的项目)以便轻松拥有Web和Windows UI?
过去3年中这个主题有什么新内容吗?
我当然知道WPF和Silverlight非常相似,但我不确定这是解决方案。
答案 0 :(得分:4)
这取决于您构建架构的方式。 WPF和Silverlight可互换的主要原因是因为它们倾向于使用MVVM模式和架构(也像PRISM这样的东西)
http://msdn.microsoft.com/en-us/library/ff921075(v=pandp.20).aspx
理论上,如果您遵循这种模式,您可以随时放下前面,并使用完全不同的东西进行设计。这被称为:
让您的UI松散耦合。
如果您想将前端显示切换到Web应用程序,您显然必须更改UI层以使用HTML
,理论上如果您已为应用程序提供了合适的体系结构,那么您的业务逻辑应该能够保持不变,但是如果你有很多逻辑与多个Windows Forms
相关联,我担心你会遇到漫长而痛苦的迁移过程,并伴随着许多错误。
将您的应用想象成一个房子 - 您有房子的主要基础(保温材料,砖块等),您可能需要不时更改以使结构更新,但基本的基础通常会保持不变。然而,你可以根据自己的意愿装饰房子,而不会影响基本面(对于一个糟糕的比喻感到抱歉)。
希望这有所帮助。
编辑:
我刚刚注意到你想知道一个项目使用的最佳架构,我个人认为我会使用PRISM,WPF和MVVM - 你可以Build WPF and Silverlight Applications with a Single Code Base Using Prism