我是一名网络开发人员,我想把我的网络产品搬到iPhone上。其中一个产品就像谷歌Maps:在手机屏幕上显示地图,您可以拖动或调整地图的大小,并查看我们添加到地图的一些信息。

我知道有一些技术可以让你使用HTML、CSS和Javascript来开发原生iPhone应用。我列举了一些:

Ansca移动 PhoneGap Appcelerator

还有其他类似的产品吗?它们之间有什么区别?我该选哪一个呢?


当前回答

我试过corona。它很好,直到我发现它不支持流式mp3音频。 所以,我就停在这里了。我想如果我真的想成为一名iphone应用程序开发人员,我应该学习obj c。我想做一个应用程序,它有一个电台列表,你点击它们,它就开始播放。

其他回答

在你提到的解决方案中,似乎没有一个能让你直接访问OS 3.0中引入的MapKit框架。

由于谷歌Maps HTML小部件远不如MapKit(参见谷歌Latitude的例子),您可能最好开发一个原生Cocoa触摸应用程序,或者选择一个可以扩展以添加MapKit集成的解决方案。PhoneGap以这种方式是可扩展的(它是开源的,所以默认是),其他一些解决方案可能也是如此。

编辑:Titanium现在支持MapKit

Titanium支持native mapkit

Rhomobile Rhodes (http://rhomobile.com/products/rhodes)在方法上与PhoneGap非常相似,但它是唯一具有以下功能的框架:

模型-视图-控制器模式(如 大多数web框架提供) 对象关系管理器 支持所有流行的智能手机(包括Windows Phone 7) 托管开发服务(不仅仅是托管构建):http://rhohub.com RhoStudio IDE中的完整调试器和无sdk模拟器 支持同步脱机数据

对于任何对Titanium感兴趣的人,我必须说他们没有一个很好的文档,一些类,属性,方法都缺失了。但很多东西都“记录”在他们的样例应用程序kitensink中,所以它并不是那么糟糕。

我对PhoneGap的理解是他们为很多iPhone api提供Javascript api。

对于有web开发背景的人来说,Titanium似乎更容易一些。它是一个简单的XML文件,用于创建一个基本的TabView应用程序,然后内容区域中的所有内容都由HTML / JS控制。我也知道Titanium确实为一些框架提供了一些javascript访问(特别是访问位置信息、电话ID等)。

更新:Titanium在0.8版本的框架中添加了Maps API。