【问题标题】:Windows 8 and LOB AppsWindows 8 和 LOB 应用程序
【发布时间】:2011-09-15 20:15:49
【问题描述】:

为 Windows 8 构建业务线应用程序的推荐方法是什么?例如复杂的定制财务应用程序

它们显然不适合 Metro 风格,因此可能会成为常规桌面应用程序

那么推荐使用 WPF 吗?这个有vNext吗?

我作为开发人员构建的应用类型是桌面风格的应用。它们不适合 Metro 风格。我们没有从\Build 那里听到太多关于这种应用风格的消息。

因此,如果您要在发布 Windows 8 的同时推出一款桌面应用程序,那么首选的技术用途是什么。 (我的印象是 WPF 即将退出)

Win RT 中有什么可以利用的吗?

非常感谢

【问题讨论】:

  • wpf 4.5 中有新功能(如果 Is there a vNext for this? 是这个意思)
  • 具体来说,“WPF 4.5 中的新增功能”:msdn.microsoft.com/en-us/library/bb613588(v=VS.110).aspx。对于更流畅的声明性编码,有很多数据绑定改进。我最喜欢的是绑定到可观察集合 (INotifyCollectionChanged) 现在就像普通属性一样是线程安全的 - 模型中不再有 Dispatcher.Invoke
  • 我也在博客上的一系列帖子中介绍了 WPF 4.5 的新功能:jonathanantoine.com/2011/09/20/…
  • 如果只有 WPF 应用程序可以在基于 ARM 的窗口平板电脑上运行……

标签: wpf windows-8 windows-runtime


【解决方案1】:

WinRT 用于构建 Metro 风格的应用程序。如果您正在构建的应用程序不符合 Metro 风格,那么只需将其构建为传统的桌面应用程序即可。并非所有应用程序都适合 Metro 风格,而且也不是必须的。

【讨论】:

  • 但是arstechnica.com/microsoft/news/2011/06/… 他们甚至在谈论基于 WinRT 的 Office。从愿景来看,我想不出为什么 WinRT 不应该覆盖它——即使它现在不处于 beta 阶段。
  • @Lothar 如果你想生成一个可以在 ARM 机器上运行的应用程序,那么你需要创建一个 WinRT / Metro 应用程序,因此微软创建一个缩减版的专为在基于 ARM 的平板电脑上工作而设计的办公室。 (虽然我看不出它是桌面版的替代品)
  • 是的,我知道所有应用程序都不应该是 Metro,我在我的问题中也说了这么多。我试图找出首选的桌面技术是什么。我的印象是 WPF 即将淘汰。我想知道 Windows 8 执行桌面应用程序的方式是什么。
  • @Roonooir 答案是您对桌面应用程序的 wpf 或 winforms 的偏好,因为 winrt 仅适用于 Metro 应用程序。
  • 想象一下,我想打破规则,在 Metro 中制作一个桌面风格的应用程序。我不能自己写下拉菜单吗?他们肯定不能阻止我吗? (API 必须支持“带文本的矩形”)。
【解决方案2】:

好吧,这个问题现在有点老了,但由于现在情况更加明朗(在 Windows 8 及其平板电脑版本发布后 - 微软推出了一些新硬件的 Windows RT),您可能会重新考虑定位 WinRT 而不是 WPF 用于您的新项目。这将允许您的应用程序在具有 Windows RT 操作系统的平板电脑上运行,此外还可以在“Metro 模式”和可观察的未来在桌面上运行(考虑到 MS 计划统一桌面和移动开发将项目定位到 WinRT)这也可以简化将您的金融应用程序的部分主要桌面功能移植到在 Windows Phone 上运行的移动对应版本,并允许用户即使在旅途中也可以做一些有用的事情.

至于“Metro”设计和概念可以适应多少复杂的金融应用程序 - 您应该查看 Windows 应用商店中的几个现有金融应用程序,并将它们的复杂性与您可能的要求进行比较。

确定 WinRT 是否适合您的桌面应用程序的另一种方法是考虑将应用程序的所有功能分解为多个相对分离的屏幕,这些屏幕具有足够大的输入元素以供手指触摸输入 - 如果这看起来可行,那么您可能应该与 WinRT 一起使用。

但如果应用程序需要同时显示大量不同的表格,或者,例如,应该收集用户输入的大量信息(即长描述、富文本格式、需要填写的大量字段等),那么它可能只能在桌面模式下使用硬件键盘和用户面前的大屏幕(即在平板电脑/移动设备上,用户做所有这些事情会很痛苦)。在这种情况下,WPF 将非常适合。

【讨论】:

    【解决方案3】:

    假设您坚持使用 WPF 作为您的目标。

    然后您可以尝试将尽可能多的代码保留在 WinRT、Silverlight 和 WPF 的交集内。维护两个(或三个)项目并确保它们(全部)都能编译。最终,您可能不得不使用特定于 WPF 的平台的东西。只需为 WinRT/Silverlight 存根即可。

    无论 Microsoft 对 Windows 9 做什么,这都能为您提供最大的灵活性,并允许您跟踪可以直接移植多少代码。如果他们将 WinRT XAML 带到桌面,那么您将得到保障。如果他们改进了 Metro/desktop 集成(比如更丰富的任务切换器),那么您也会受到影响。如果什么都没发生,那么您只需要缴纳少量的开发税。

    WPF 在 4.5 版之后仍然存在。可能不会获得许多在 Silverlight 或 WinRT 中首次出现的华丽新功能,但无论如何 WPF 已接近成熟技术。 Visual Studio、Expression Blend 和 AutoCAD 应该足以确保其未来的支持。

    【讨论】:

      【解决方案4】:

      现在对这个问题有一个好的答案还为时过早。 WPF 应用程序不会消失,我认为它会继续下去。具体会改变什么是开放的。有些事情可能会在其中一场谈话中说出来,而其他事情将在 Windows 8 及更高版本的过程中稍后展示。就我个人而言,我认为没有立即改变您当前在 LOB 上的策略的必要。如果是 WPF 使用它,如果它是 WinForms 或 WebForms 也很好。也许有一个特殊的磁贴总结一些关键数据并调用应用程序的方法会带来额外的价值。

      这只是一个意见

      【讨论】:

        【解决方案5】:

        是的,解决方案是忽略其他所有内容并转到 WinRT 和 Metro 界面,因为现在很清楚,微软宣布其他所有内容都已死,并且将来只有一个,Metro 界面(现代 UI) .创建一个基于另一种技术的新项目,它正在投资一种死技术,这对任何开发人员来说都可能是一场灾难。 问题是没有人愿意使用微软支持的唯一一种技术,即所谓的现代 UI。

        情况几乎是自相矛盾的。

        除了现代界面外,一切都被宣布为过时,因此要创建新项目,必须绝对使用现代界面作为目标,但我们所知道的是,没有人想要(像现在一样)软件的“小”可能性为现代界面(地铁)编写。

        我们有一些成功的适用于 Mac 的 LOB 应用程序(卖得很好),我们想把它们带到 Windows 上,但考虑到目前的情况有多混乱,我们更愿意观望,因为这可能是历史上最糟糕的时期考虑用户为 Windows 开发新应用程序 根本不想使用瓷砖 因为它们只是美化的小部件,仅此而已…… LOB 的人们想要真正的应用程序,而不是那些只有在 Facebook 上花费大部分时间的非技术人员才能认为可以替代真正应用程序的笑话

        我的想法是微软必须明白磁贴永远不会对 LOB 起作用,但我认为它们永远不会起作用,这将对微软和整个回声系统造成一场真正的灾难,并将在未来 50 年内被铭记

        【讨论】:

          【解决方案6】:

          我认为与现在相同的建议适用。如果您想要深度操作系统集成,那么使用 WPF 而不是 Silverlight 可能会更好。但是,如果您使用浏览器外的应用程序,Silverlight 5 可以弥补 Silverlight 4 中当前的漏洞。

          我认为这实际上取决于您想要的部署类型。

          【讨论】:

          • 为新项目选择 Silverlight 从长远来看并不是一个明智的决定,因为它将在 2023 年左右(作为浏览器插件)消失(当微软正式停止对它的任何支持时,正如他们已经声明的那样)。
          • 银光死了。 Silverlight 再也没有人创造新事物了。
          • 我的答案已经超过两年了。此外,许多公司现在仍在使用 WPF 和 Silverlight。
          猜你喜欢
          • 1970-01-01
          • 2012-10-28
          • 1970-01-01
          • 1970-01-01
          • 2013-04-03
          • 2012-08-23
          • 2011-11-20
          • 1970-01-01
          相关资源
          最近更新 更多