将Windows Mobile 6.1应用程序转换为Android

3

我有一个相当大的Windows Mobile应用程序(使用.NETCF 3.5编写)。我们公司的权力人士想要将此应用程序转换为在Android上运行。

Android开发和Windows Mobile(不是Windows Phone)开发之间有哪些相似之处?具体来说:

  • 窗体(即UI)
  • P-invokes(我的应用程序有很多这些)
  • WCF / SOAP Web服务支持
  • C#和Visual Studio开发工具

此外,如果您感兴趣,我想请一位曾经完成过类似转换的人就此发表一般性声明。(请记住,我从未制作过Android应用程序。)

背景:
这里的某个非程序员进行了谷歌搜索,并找到了一种“工具”,可以自动将Windows Mobile应用程序转换为Android(只需要点击按钮)。那个人现在让每个人都相信这个转换不需要花费任何时间。

作为一个在几个平台上工作过的开发人员,我觉得这真的很难相信(尽管我很高兴能够错)。


他进行了谷歌搜索,但没有尝试这个工具吗?你知道那个工具的名字吗? - H H
2
我觉得使用P/Invokes会很有趣... - H H
1
@Henk Holterman - 我怀疑他甚至不知道这个工具的名称。他不是程序员,也无法访问源代码。他只是看到有一个工具,并决定转换会很容易(这对他来说真的是一种令人困惑的行为,因为他通常非常冷静)。 - Vaccano
在我看来,最容易的方法是将您的业务/数据层移植(假设您编写了正确的代码)。最近我进行了 iOS 到 Android 的迁移(我编写了一个词法分析器来转换语言),但完成转换后,我不需要对代码进行任何修改。业务逻辑保持完全相同。因此,如果您使用了正确的 MVC 架构,那么您很幸运... - Smith3
3个回答

3

1
你是在指Mono for Android吗?通常我会有兴趣尝试一下,但自从Novel被Attachemate收购以及随后整个Mono开发团队被解雇后,我现在对任何Mono产品都有点犹豫。 - Vaccano
虽然我同意“没有所谓的完美产品”,但考虑到Android通常是向后兼容的(偶尔会有一些弃用的方法),而且您正在使用一个相当老的平台,大部分您需要的功能应该已经实现了。当我说“应该”时,我感到很不安(这不是我的钱,这不是我的钱...),但重点在于此。您可以在模拟器中免费测试试用版。 - Rasman
+1 对于“...如果非程序员愿意出钱”的评论。喜欢它! - BonanzaDriver

2
简短的回答是没有。Android运行的是受限于Java应用程序的Linux系统。如果你想将一个.NET应用程序移植到Android上,那么你需要完全重写它。
Sam

2

有一个名为"monodroid"的项目,它可以将.NET应用程序运行在Android系统上,但它仍然非常实验性的,并且绝不适用于生产应用程序。除此之外,与上面"Sam"的评论相似,其它方面并没有相似之处。我已经构建移动应用程序11年了(在各种Windows版本上交付了60多个),而Android模型与您过去在Windows CE 5或Windows Mobile 6类型系统上所做的非常不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接