将Windows WPF桌面应用程序移动到Windows应用商店应用程序有哪些以触摸为中心的开发优势?

时间:2014-07-31 19:52:45

标签: c# wpf mvvm windows-8 windows-7

我在Windows 7上运行了一个WPF / MVVM应用程序。我的大多数用户都有Windows 7机器,但我想为Windows 8开发一个增强的触控版本,但需要保持Windows 7版本的最新版本。该应用程序目前在Windows 8上工作,触摸作为点击。不包括在rt平板电脑上运行的能力,我从这次重写中获得了什么好处?扩展的目的是对应用程序进行大量重复点击,使其更有效,减少对长期用户的压力。该应用程序可能永远不需要在平板电脑上运行,因为它需要大量的屏幕空间和多个图像的视觉检查。

例如,是否存在像pinch和zoom这样的特定手势,这些手势在Windows应用商店应用中比WPF更容易实现?

我一直在努力思考如何提出这个问题,所以如果我错过了相关的标题,我会很乐意为了清晰而改变它。

2 个答案:

答案 0 :(得分:3)

我的2c

WinRT / XAML的好处

  1. 您可以获得专为触控设计的控件 - 它们看起来更友好,更好地响应触控,其中一些是WinRT独有的。这可以在很多时间内为您节省时间,否则您可能需要重复使用WPF控件。
  2. 您可以通过触摸轻松平移和缩放ScrollViewer。你可以使用Surface SDK来获取WPF,但我不确定它是否可能没有响应。
    Surface SDK也有点旧(VS 2012,WPF 4.0),我不确定它是否适用于桌面。我从大面积时间回忆起的一个例子是你可以同时按下多个按钮,这可能并不理想。
  3. 您将获得使用ScrollViewer的所有列表控件,并像ListViewGridViewFlipView一样平移和虚拟化。
  4. 您获得AppBar和边缘手势。
  5. 您可以与浏览器控件(WebView),最新的DirectX和Media Foundation(麦克风,相机,视频,音频)进行良好的集成。
  6. 你得到一个与虚拟键盘很好地集成的TextBox,允许选择触摸等。
  7. 许多其他较小的控件。
  8. 体面的高DPI支持。
  9. 公开销售应用程序更容易。
  10. 您将获得新的响应式异步API并学习可能成为未来的新框架。
  11. 您可以重复使用学习WPF所获得的大部分技能。
  12. WPF的好处

    1. 企业部署可能更简单(取决于您为WPF应用程序提供的规模和现有基础架构)。
    2. 您不必重写代码或连接两个可能与某些开发工具不兼容的非常不同的框架。重写通常比早期估计花费的时间更多,并且经常带来许多旧版软件没有的错误和限制。
    3. 您可以继续使用和提升现有技能。
    4. 您可以使用大量遗留框架和库。
    5. 没有Windows应用商店应用沙箱限制。
    6. 平台和第三方库中的许多强大控件可能不一定适用于触控,但对鼠标和键盘非常强大。特别是各种DataGrids和可能的图表和其他。还托管Office文档视图和任何其他ActiveX事物。
    7. WPF仍然具有桌面的未来,并且可能获得目前仅WinRT / XAML的一些功能或控件。在Build 2014中观看Windows Desktop Development: A Panel DiscussionXAML, WPF and Other Fairy Tales
    8. 更成熟的工具(Snoop!)
    9. 整体上比较成熟的平台,不像在热门和新的平台上那样改变你的脚步。

答案 1 :(得分:1)

您提到您正在使用MVVM,如果将视图模型逻辑移动到单独的程序集,您将减少支持两个应用程序所需的工作量。实际上,您将拥有两个应用程序,但具有通用逻辑层。你可以写一个win 8版本,强调触摸,并保持你的点击聚焦win 7版本。

你真的需要决定是否需要触摸。您可以访问旋转和捏合等操作以及潜在的多点触控手势。如果您的应用只需要点击并滚动,那么不要浪费您的时间。此外,您的用户中有多少人实际拥有触摸屏?我在一个由30个开发者组成的团队中运行win 8.1,我们只有两个触摸屏用户。