Web与桌面开发(在线与智能客户端)

Kai*_*sor 4 desktop smartclient design-decisions

我在一家拥有大量SAP投资的公司工作,我们还拥有数十个大型.Net系统(主要是内部用于工程系统)和Java平台(主要用于外部Web应用程序).因此,我们在ABAP,C#和Java EE上拥有大型开发工作室.

我们在哪个域中使用哪个平台都有不错的标准,但是我们对何时使用Web UI以及何时使用桌面UI没有太多的清晰度.

我过去曾经看过一些关于这个主题的优秀研究(比如这个),但我想要一些更有条理的东西

我想根据最佳实践构建一个决策树来帮助解决这个问题.

我过去看到的一些标准包括:

  • 应用程序是否针对具有不同操作系统配置的用户?
  • 应用程序是否需要OS类型功能来分类和编辑数据?(我知道AJAX /异步JS为Web应用程序提供了更丰富的类似桌面的功能,但有些人认为桌面仍然是这方面的王者)
  • Web应用程序是否能够提供桌面应用程序可以提供的可用性,响应性,清晰度和实用性?

cdo*_*ner 5

我认为我们看到Web和桌面应用程序之间的分离已经相当缓和了.丰富的互联网应用程序(使用Flex,Silverlight,Ajax)开始了这一趋势,而使用XBAP的WPF将基于浏览器的应用程序的用户体验提升到了另一个层次.这个论点变得越来越复杂,因为现在Web和桌面应用程序之间存在更多风格.

还有一些问题要问:

  • 该应用程序的主要目标是什么 - 数据操作或数据查看?
  • 在一个屏幕上需要一起查看/编辑的数据点/记录的数量是多少?
  • 组织的IT基础架构是什么样的?他们能够容纳新的部署模型吗?
  • 用户是否可以使用远程位置的中央数据库?
  • 组织是否具有非现场用户的VPN基础结构,以及用户如何进行身份验证?
  • 是否存在同一用户组正在使用的现有应用程序,以及如何部署这些应用程序?
  • 应用程序是否需要脱机功能?
  • 鉴于它们如此不同,Web和桌面API开发团队的技能是什么?