我正在研究进行移动应用程序开发的可能性,首先是针对Iphone,然后是针对Windows手机和Android。我熟悉.NET开发,并且想知道要考虑哪些选项。我已经阅读了一些关于Mono Touch和Phone Gap的内容,这些有哪些优点和缺点,还有其他更好的选择吗?或者是否真的有必要学习Iphone的Objective C和Windows Phone的Silverlight等?
答案 0 :(得分:6)
看看Appcelerator Titanium。它是适用于iPhone和Android的相当不错的跨平台应用程序创建者。
然而,问题是Android和iPhone(和Windows Phone)是不同的平台。例如,iPhone有带标题栏的导航控制器,Android没有。因此,您可以将按钮放在iPhone的标题栏中,但不能放在Android上。最终你会达到为每个平台编写特定代码的程度,即使你应该写一次并部署到很多地方。
就个人而言,重叠不值得节省时间。它使代码库更复杂,维护更少。此外,如果您本地执行所有操作,则无法使用这些跨平台工具执行此操作。
最后,谁不想学习新技能?当你可以学习如何在本地制作iphone,android和windows phone应用程序时,为什么要轻松/快速地做一些事情,这可能会在将来通过自由职业或你的职业生涯帮助你。
答案 1 :(得分:3)
这是一个关于在C#和Xamarin工具中设置跨平台解决方案的教程。它不包括ios,但它可以在这个方向上扩展。
How to Create a Cross-Platform Solution for Android, WP8 and WinRT
希望有所帮助。
答案 2 :(得分:1)
PhoneGap或Titanium是快速开发非常简单的应用程序的良好平台。但是当你需要更深入时,你会发现很多陷阱。所有这些基于JavaScript的跨平台框架最重要的是它们非常慢!
所以我认为,开发跨平台应用程序的最佳解决方案是Mono(MonoTouch和MonoDroid)。使用Mono,您可以开发iOS,Android和WP7。而您的业务和数据逻辑保持不变。您必须为每个平台编写不同的UI层。但我认为它更好,因为每个平台都有自己的方法。此外,Mono的速度非常快,因为它被翻译成本机代码。
但它不是免费的。
答案 3 :(得分:0)
使用跨平台框架将使您的应用在每台设备上看起来都是非原生的,如果您想为整个应用程序打造品牌,那就没问题。
这意味着你只能制作一个标准的应用程序,而且无法利用每个操作系统提供的好东西。
我会选择iPhone - > Android - >网络手机 - > Windows Phone。以该顺序。
从iphone移植到Android有一些警告,但由于使用了类似的设计模式,所以非常简单。 Windows Phone在设计上更具工业性,你可能无法理解这些差异。