Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在开发web应用程序和桌面应用程序之间做出选择_C#_Php_Wpf_Desktop Application_Web Application Project - Fatal编程技术网

C# 如何在开发web应用程序和桌面应用程序之间做出选择

C# 如何在开发web应用程序和桌面应用程序之间做出选择,c#,php,wpf,desktop-application,web-application-project,C#,Php,Wpf,Desktop Application,Web Application Project,我是一家制造公司的软件工程师实习生,他们希望我为公司开发一个应用程序。他们倾向于web应用程序,但是,我想知道桌面应用程序是否更适合这份工作。因此,我一直在谷歌上搜索stackoverflow,以了解桌面应用程序和web应用程序之间的优缺点。以下是我发现的基本情况: 快速免责声明,我有C#和WPF的背景,所以我有点偏见,因为开发桌面应用程序对我来说比较容易。我没有网络经验,所以在这方面我没有什么可以谈的,这就是为什么我想知道这个应用程序更适合作为web应用程序还是桌面应用程序的原因。我绝对愿意学

我是一家制造公司的软件工程师实习生,他们希望我为公司开发一个应用程序。他们倾向于web应用程序,但是,我想知道桌面应用程序是否更适合这份工作。因此,我一直在谷歌上搜索stackoverflow,以了解桌面应用程序和web应用程序之间的优缺点。以下是我发现的基本情况:

快速免责声明,我有C#和WPF的背景,所以我有点偏见,因为开发桌面应用程序对我来说比较容易。我没有网络经验,所以在这方面我没有什么可以谈的,这就是为什么我想知道这个应用程序更适合作为web应用程序还是桌面应用程序的原因。我绝对愿意学习Php和web开发来扩展我的能力。我已经开始(稍微)研究使用Php7和Laravel框架开发web应用程序

桌面应用程序的优点:

  • 通常比Web应用程序更快(假设Web应用程序将执行复杂的查询、计算等,而不仅仅是显示标记)
  • GUI的开发速度更快
  • 更安全,因为默认情况下桌面应用程序是私有的
  • 有更多的可用控件可以为用户提供更丰富的交互体验(或者至少,与基于web的应用程序相比,在基于桌面的应用程序上实现这些控件更容易/更快)
  • 可以利用用户硬件
  • 桌面应用程序的缺点:

  • 使用/部署受系统限制(但是,这应该不是问题,因为我们所有的系统都是基于Windows的。)
  • 更新和安装必须手动执行
  • 如果每个客户机桌面都有一个数据库连接,则不需要进行扩展 就像数据库承受重负载一样好。(然而,这可能 不会是这样,因为我们不会有超过500个用户)
  • web应用的优点

  • 跨平台(无需处理不同的操作系统),因此易于移植
  • 发展既快又容易
  • 部署很容易,因为更新是自动的,并且是服务器端的
  • 大型社区支持和可用框架
  • web应用程序的缺点

  • 更大的开销(由于需要通过internet传输数据,应用程序往往速度较慢)
  • 需要处理不同的浏览器。Javascript很可能需要在一个web平台(Chrome、Firefox等)上进行调整,使之完美,而在其他平台上则不会完美。(不过,这没什么大不了的)
  • 安全性是一个问题,因为数据将是公开的
  • 请让我知道,如果上述任何是过时的(我发现的大多数职位是从2011年或以前)或错误的。另外,如果有其他的PRO/CON要考虑。< / P> 转到应用程序描述

    公司背景:我们每天制造和加工几十种不同的零件。对于每种类型的零件,在加工X数量的零件后,需要取样进行检查。例如,部件Y每120分钟采集3个样本进行检查(因为机器通常在120分钟内完成X数量的处理)。然后,检查结果(测量数据)存储在数据库(MySQL数据库)中

    申请目的概述:

  • 查看我们设计的所有部件的示意图(我们将所有示意图作为pdf存储在网络驱动器上,因此这只是从驱动器中提取请求的特定pdf并将其显示在应用程序上)
  • 查看/更新公司内所有机器的状态(它们正在处理哪些部件,是否在线/离线等)。某个用户(检查员)将使用此应用程序更新机器状态/信息。然后,另一个用户(操作员)将使用该应用程序查看状态
  • 监督零件检查。因此,对于每台正在加工的机器和零件,都会有一个计时器,让操作员用户知道何时需要提交某个零件进行检查。提交零件后,检查员将收到检查零件的通知,在让应用程序知道他们已完成检查后,计时器将重新启动,以让操作员知道下次何时需要提交零件
  • 该应用程序将根据从检查结果获得的零件测量值计算统计数据(例如,Cpk值),并将统计数据与图形/图表一起显示
  • 我希望我把这一切解释得足够清楚。还有一些需要注意的事情,据我所知,用户不需要远程访问。这个应用程序几乎只在公司网站上使用。此外,该公司想要一个web应用程序的最初原因是,运营商将在该应用程序中使用平板电脑,而他们购买的平板电脑是基于android的。然而,他们决定改用WindowsSurface平板电脑,因此WPF应用程序现在成为可能

    说到这里,我真的在寻找有经验的人会推荐的路线。我还在上大学,所以请原谅我缺乏知识/经验。在决定web应用程序和桌面应用程序时,我还应该考虑什么

    以下是我在思考这个话题时看到的一些页面:

  • 有更多的stackoverflow页面,但上面列出的页面几乎包含了其他页面所述的所有内容


    编辑:目前看来web应用程序正在获胜(我一点也不介意,我真的很兴奋能根据我所听到的开发一个web应用程序)。有人愿意做桌面应用程序吗?如果是,为什么?

    我天生就对网络ap有偏见