2011-11-24 142 views
1

我正在研究做一些移动应用程序开发的可能性,首先针对Iphone,然后针对Windows Phone和Android开发。我对.NET开发很熟悉,并且想知道需要考虑哪些选项。我已经读了一些关于Mono Touch和Phone Gap的内容,这些优点和缺点是什么,还有其他更好的选择吗?还是真的有必要学习Iphone的Objective C和Windows Phone的Silverlight?跨平台移动应用程序开发

回答

6

看看Appcelerator Titanium。它是一个相当不错的跨平台的iPhone和Android应用程序的创造者。

不过,问题在于Android和iPhone(和Windows Phone)都是不同的平台。例如,iPhone具有带标题栏的导航控制器,而Android没有。因此,您可以将按钮放在iPhone上的标题栏中,但不能放在Android上。最终,即使您要编写一次并将其部署到很多地方,您仍然可以达到为每个平台编写特定代码的目的。

个人而言,重叠不值得节省时间。它使得代码库变得更复杂,维护性更低。此外,如果您在本地完成所有工作,您无法尽可能多地使用这些跨平台工具。

最后,谁不想学习新技能?当你可以学习如何在本地制作iphone,android和windows phone应用程序时,为什么要采用简单/快速的方式,这可能有助于你将来的自由职业或事业。

+3

真正的非讽刺+1为“为什么做简单的事情” - 简单的方法往往是平庸之路。 – jrturton

0

使用跨平台框架将使您的应用在每台设备上看起来都不是原生的,如果您想要整个应用的品牌,这可以确定。

这意味着你只能制作一个标准的应用程序,并且不能利用每个操作系统必须提供的好东西。

我会去iPhone - > Android - >网络手机 - > Windows Phone。以该顺序。

从iphone移植到Android有它的注意事项,但使用类似的设计模式非常简单。 Windows Phone在它的设计上更具有工业性,你可能无法让你的头脑发现差异。

1

PhoneGap或Titanium是快速开发非常简单的应用程序的良好平台。但是当你需要更深入的时候,你会发现很多陷阱。最重要的是,所有这些基于JavaScript的交叉平台框架都非常的慢!

所以我认为,开发跨平台应用程序的最佳解决方案是Mono(MonoTouch和MonoDroid)。使用Mono,您可以开发iOS,Android和WP7。而你的业务和数据逻辑保持不变。 UI层,你必须为每个平台编写不同的代码。但我认为它更好,因为每个平台都有自己的方法。另外,Mono的速度非常快,因为它被翻译成本地代码。

但它不是免费的。