电晕,Phonegap,钛之间的比较

我是一名Web开发人员,我想将Web产品移至iPhone。其中一种产品类似于Google Maps:在手机屏幕上显示地图,您可以拖动或调整地图大小并查看我们添加到地图中的一些信息。

我知道有一些技术可以使您使用HTML,CSS和Javascript开发本机iPhone应用程序。我确定了一些:

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

路易Sam神无2020/03/24 11:42:29

我试过电晕。直到我发现它不支持流mp3音频,一切都很好。所以,我就在那里停了下来。我认为,如果我真的想成为一名iPhone应用程序开发人员,那么我应该学习obj c。我只想制作一个具有广播电台列表的应用程序,然后单击它们就可以开始播放。

小宇宙2020/03/24 11:42:29

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

由于Google Maps HTML小部件的性能不如MapKit(示例,请参见Google Latitude),因此最好开发本机Cocoa touch应用程序,或者选择可以扩展以添加MapKit集成的解决方案。PhoneGap可以通过这种方式进行扩展(它是开源的,因此默认情况下是默认的),并且其他一些解决方案也可以。

编辑:Titanium现在已经支持MapKit

达蒙2020/03/24 11:42:29

您应该学习目标c并编写本机应用程序。不要依赖您认为会使生活更轻松的这些事情。Apple已确保最简单的方法是使用其本机工具和语言。对于您的100行javascript,我可以根据元素在3行代码中执行相同的操作,也可以完全不执行任何代码。观看一些教程-如果您了解javascript,那么目标c并不难。解决方法很痛苦,Apple可以随时随地为您服务。

小宇宙2020/03/24 11:42:29

我对PhoneGap的理解是,它们为许多iPhone API提供了Javascript API。

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

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

猴子2020/03/24 11:42:29

对于任何对Titanium感兴趣的人,我必须说他们没有很好的文档,但缺少某些类,属性和方法。但是在示例应用程序KitchenSink中有很多“记录”,所以还不错。

猿Mandy2020/03/24 11:42:29

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

  1. Model View Controller模式(大多数Web框架提供)
  2. 对象关系管理器
  3. 支持所有流行的智能手机(包括Windows Phone 7)
  4. 托管的开发服务(不仅仅是托管的构建):http : //rhohub.com
  5. RhoStudio IDE中的完整调试器和无需SDK的模拟器
  6. 支持同步的离线数据
猪猪2020/03/24 11:42:29

使HTML5小部件看起来像iphone小部件是一回事,但使它们具有同样好的性能则完全是另一回事。html5动画的性能(甚至是普通的View Transitions),滚动长列表,对手势的响应感都让人感到发粘和生涩。iPhone用户将注意到差异。

不同设备支持的手势种类也存在一些差异,这也导致特定于平台的代码和可用性问题。

我猜现在我将继续使用本机应用程序。

小胖2020/03/24 11:42:29

Titanium支持本机mapkit

蛋蛋猿2020/03/24 11:42:29

这是对Appcelerator和PhoneGap的最新分析和深入分析:http : //savagelook.com/blog/portfolio/a-deeper-look-at-appcelerator-and-phonegap

以下是有关它们在程序上的区别的更多详细信息:http : //savagelook.com/blog/portfolio/phonegap-is-web-based-appcelerator-is-pure-javascript

小卤蛋2020/03/24 11:42:29

Corona SDK(Ansca Mobile)使用Lua作为其编码语言。有关lua的更多信息,请参见lua.org。

尽管我们计划添加更多的Web集成和本机UI元素,但与基于Web的技术相反,我们的重点将趋向于图形密集型应用程序,例如游戏开发。换句话说,我们不希望人们完全用Javascript / HTML / CSS编写Corona应用程序。