2

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

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

4

2 回答 2

2

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

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

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

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

于 2012-06-13T07:03:10.793 回答
1

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

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

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

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

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

如果已正确设置此帐户,则只会运行您的应用程序,并且只会显示您所做的新迷你 winform。

最终用户将进行一次简单的单击,然后通过他的 Internet 连接执行一个简单的远程桌面,该桌面仅适用于您的应用程序。(需要一次路由器配置)

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

I use that for years in mobiles tablets and pos systems. Its fast its stable its secure its easy to maintain (nothing on the client side) and you don't waste months of learning wpf or doing xamarin converting.

于 2015-07-28T09:33:49.303 回答