【问题标题】:Winform application for tablet?平板电脑的Winform应用程序?
【发布时间】:2012-06-13 06:53:37
【问题描述】:

我有一个客户想要一个可以更新在线数据库的旅行应用程序,他不想购买笔记本电脑,他想要平板电脑或类似的东西。我没有为移动设备创建特殊应用程序的知识或愿望,我想创建一个 winform,就像我一直针对 pc 时所做的那样。平板电脑(据我了解只是普通电脑?)在我的国家仍然非常昂贵。

是否有一个简单的调整来让winform应用程序在安卓平板电脑上运行,或者我必须为它构建一个特殊的应用程序?还有其他解决方案吗? (我开始为它写一个网页,但使用winforms更容易)

【问题讨论】:

  • 这里的理想解决方案是,如果您可以将 UI 编码为 Web 应用程序:PHP、JSP、ASP.Net - 任何可以在 Web 浏览器中运行的。如果你能做到 - 问题解决了!
  • 为了最好地回答这个问题,最好了解目标设备。但一个普遍的安全假设是,除了 x86 Windows 7 或 8 平板设备外,其他任何设备都不支持 WinForms。如果应用程序可以在网络堆栈上制作,那么任何带有浏览器的东西都可以使用它,无论平台如何。
  • 基本上,如果您想要 Windows 7/Tablet ... 那么您就可以学习 WPF 和 XAML。 Windows 7 平板电脑的最佳 UI ...是在服务器端编写一个 Web 应用程序,您可以在浏览器中运行该应用程序。更好的是,same 应用程序自动 可移植到支持网络浏览器的任何 平板电脑:WP7、Android 和/或 iPad。恕我直言...
  • @AdamHouldsworth - 我可以选择目标设备,他们会专门为这个未来的应用购买它
  • @BornToCode 在这种情况下,有一个关于 WinForms 应用程序在触控环境中的可用性的问题。我猜“不是很”。无论设备如何,重新编码应用程序似乎都是合乎逻辑的途径。

标签: winforms tablet android tablet-pc mobile-devices


【解决方案1】:

本机 WinForms 应用程序不会直接在 Android(或任何非 Windows 平台)上运行。您可能希望首先查看 MonoDroid 用于将 .NET 代码移植到 Android(以及 Mono 通常用于将 .NET 代码移植到非 Windows 平台)。

跨平台的成功移植需要以非常解耦的方式构建应用程序。应用程序抽象部分的核心业务逻辑应该很容易移植,但具体的实现(特别是视图和数据/服务访问)将需要针对不同的具体平台进行一些重新实现。所以整体架构需要非常解耦和可插拔。

可以选择 Windows 平板电脑吗?使用 Microsoft 的各种新技术(Windows 8、Metro UI 等),您可以构建一个针对多个基于 Microsoft 的平台的应用程序。这可以轻松满足成为“平板电脑”的要求(如果该要求不是更具体的“Android 平板电脑”)。但是,它不会是旧的 WinForms 风格的应用程序。

一般而言,您会发现该行业一直在稳步远离 WinForms,这正是这个原因。它不移植到其他平台,而且现在有各种各样的平台需要。

【讨论】:

  • 如果它是 Windows 7 或 x86 Windows 8 平板电脑,那么所有旧应用程序都可以在 Metro 之外运行。但是触摸屏的UI支持会很垃圾,最好在Metro中重做应用程序。
  • @AdamHouldsworth:确实,这里最好的建议是根据技术需求重新设计应用程序。从长远来看,为了不重新做现有工作而紧紧抓住 WinForms 最终会导致成本增加和产出减少。
  • 我完全同意,但是许多旧的 WinForms 应用程序在技术上仍然可以在正确的操作系统风格下工作,只是使用起来不会很有趣,哈哈
【解决方案2】:

忘记转换我几年前处于类似的位置,我做的事情更容易更快,我认为更聪明。 只需制作一个带有漂亮大控件的 winform 来处理对接缩放锚点等,这样它就会看起来不错并且可以与小型智能设备一起使用。

确保您在您的应用中传递了一些启动程序参数,并且当传递一个特殊参数而不是打开应用的主要桌面形式时,会以全屏模式打开新的形式。

现在棘手的部分在其他地方。我已经设置了一个小型 Windows 2008 r2 服务器,允许在其上运行远程应用程序。

创建一个用户帐户,您将允许使用我们讨论的特定参数访问该服务器和您的应用程序。 (例如 myapp.exe -remote)

无论他将获得什么设备,您都可以在 android 中下载免费应用程序,如 2x rdp 或 microsoft rdp。与您的服务器建立新连接(如果您没有静态 ip,您可以使用任何您喜欢的免费 ddns)并连接您之前使用的 Windows 服务器帐户。

如果已正确设置此帐户将仅运行您的应用程序,并且只会显示您执行的新迷你 winform..

最终用户只需单击一下,即可通过他的 Internet 连接创建一个简单的远程桌面,该桌面仅限于您的应用。 (路由器需要配置一次)

这样您将只维护一个源代码,并且他将具有较低的带宽成本,并且可以在断开连接的情况下继续他的工作而不会丢失数据。

多年来,我一直在移动平板电脑和 pos 系统中使用它。它快速、稳定、安全、易于维护(在客户端没有任何内容),而且您不会浪费几个月的时间来学习 wpf 或进行 xamarin 转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2012-12-17
    相关资源
    最近更新 更多