C# 为什么公司仍然使用Windows窗体和WPF应用程序而不是web应用程序?
为什么公司仍在使用和应用程序而不是web应用程序C# 为什么公司仍然使用Windows窗体和WPF应用程序而不是web应用程序?,c#,asp.net,wpf,desktop-application,C#,Asp.net,Wpf,Desktop Application,为什么公司仍在使用和应用程序而不是web应用程序 我不想讨论。我只想知道原因,因为在过去的几天里,我对我的工作(Windows窗体/WPF)缺乏信心,我认为这是改变技术/工作的好方法。公司仍在使用Windows窗体,因为它允许在低于web应用程序的级别上与Windows进行通信 WPF还允许更大的数据绑定,并有更简单的工具来处理复杂的任务。Windows应用程序具有最佳的用户界面和功能,但可供最小的用户使用,而web应用程序的用户界面功能最有限,但是,它们是最广泛的受众 这取决于公司在web应用
我不想讨论。我只想知道原因,因为在过去的几天里,我对我的工作(Windows窗体/WPF)缺乏信心,我认为这是改变技术/工作的好方法。公司仍在使用Windows窗体,因为它允许在低于web应用程序的级别上与Windows进行通信
WPF还允许更大的数据绑定,并有更简单的工具来处理复杂的任务。Windows应用程序具有最佳的用户界面和功能,但可供最小的用户使用,而web应用程序的用户界面功能最有限,但是,它们是最广泛的受众 这取决于公司在web应用程序和Windows应用程序之间做出选择,它们必须开发这些应用程序以实现增长…一些可能的原因:
我们仍然使用WinForms和WPF,因为我们需要处理大量数据并需要快速的性能。还有一件事:我们不想将数据存储在web服务器(或云中) Windows应用程序与外部世界的联系更加安全。在我的例子中,我开发桌面应用程序是因为我需要访问本地资源。 它可以是文件系统、数据库、本机应用程序API、COM组件等 唯一的web解决方案是运行内部web服务器,但我的大多数客户没有IT人员来维护它。只向客户发送EXE文件要容易得多(例如通过)
我希望使用Silverlight进行分发。Silverlight 4增加了对本地COM资源的访问,但对本机代码的访问似乎很遥远。好吧,Windows或WPF应用程序在许多方面都更强大,开发更丰富、响应更迅速的应用程序的速度也更快。Web应用程序只需要从几乎任何地方登录,但您通常会发现它更笨重,功能更有限。那么,您想要一个功能强大、易于使用的web连接的Windows应用程序吗?简单,只需创建onw。我们做到了,并且我们可以部署一个功能全面的基于Windows的应用程序(以及WPF,它具有惊人的图形和功能),我们的客户可以从任何地方以web应用程序的速度登录,但不需要任何瘦客户端或昂贵的网络。在我的投票中,坚持使用windows应用程序,而放弃一个对那些想在这项技术上开发的人几乎没有帮助的web解决方案。已经说过,web是唯一的方式,这取决于您正在尝试做什么,但如果您正在交付商业产品,请不要再说了。WPF和Windows窗体在许多用例中开始失去相关性。只有在Windows/Windows服务器生态系统的深处,它们仍然是引人注目的存在。例如,如果不使用WPF或WinForms,您仍然无法编写专业级的Office插件 在一个更一般的用例中,比如一个经典的CRUD应用程序,你可以使用Angular或React编写的应用程序。如果您需要操作系统级别的权限,那么很容易转换为Ionic、React Native或Electron,并获得深入的功能。有时,功能确实超过了您从WPF或WinForms“开箱即用”获得的功能(例如,电子烤面包机更具功能,因为它利用了下一代HTML5通知)。编码体验更多的是REPL,您必须编写的实际代码比WPF或WinForms少很多礼仪性(IMHO),所以这是一个很大的吸引力
有趣的是,VS代码是用电子写成的。事实上,主流电子应用的数量正在显著增加 没有银弹语言/部署-否则我们都会这么做。不同的业务问题需要不同的实现机制来解决。我们还要补充一点,Windows应用程序在使用的工具方面要强大得多。要制作一个同样出色的web应用程序,您需要设置大量AJAX内容来模拟桌面客户端上免费提供的内容。(如验证的即时反馈等)我曾经决定向一家需要解决问题的小公司交付win应用程序,而不是web应用程序。他们以前有一个web应用程序,并且喜欢新系统,该系统允许他们使用快捷方式和多文档窗口进行拖放。。尝试使用web应用程序做任何事情就像在圆孔中装一个方形的盒子。不要告诉我你正在本地桌面上存储所有数据!你不使用数据库吗?我们将数据存储在本地数据库中,而不是云中。但是数据库必须在本地机器上,否则你无法在路上或向客户提供数据。每个工具都有它的用途。我的公司也使用本地数据库,但对我们来说,这是一个错误的决定。它使许多事情变得过于复杂,而它所提供的好处寥寥无几。