随着智能手机的不断发展,以iPhone为首的各种智能手机应用程序开发变得越来越受用户喜爱。但目前各大智能手机操作系统开发语言都不相同,那么是否有一种方法可以开发出夸平台的智能手机应用程序呢?就像我们编写Java那样,一次编写,处处使用。我们是否可以借助我们熟悉的开发语言来编写这些应用程序呢?Rhodes-这个Ruby框架似乎让我们看到了希望。
Rhomobile公司刚刚发布了1.5版的Rhodes框架,它允许开发者用 Ruby为几乎所有的智能平台编写原生应用程序。Rhodes应用程序只编写一次,编译后则可以在几乎所有智能平台上运行。目前支持iPhone、 BlackBerry、Windows Mobile、Symbian和Android;计划也将支持Intel和Nokia的MeeGo和Palm的Web OS。
但HTML 5已经出来了,为什么人们还要编写原生应用程序?我们向Rhmobile的CEO Adam Blum询问了这个问题:
我们喜欢HTML 5,就你的Rhodes原生智能应用程序来说,你也可以使用HTML 5。但我们总会需要到安装在本地的原生应用程序,以便利用原生设备的功能,这些功能可能永远不会以HTML标记的形式出现。此外,Rhodes框架提供了自动同步本地数据的功能,这比起仅使用HTML 5 SQL创建离线应用来得更加容易。iPhone应用商店的成功说明了用户想要并且需要运行在他们智能手机上的本地的原生应用程序。
该公司博客上的一个新的帖子讲述了Rhodes和其他诸如PhoneGap框架的区别:
- 使用于智能手机的MVC,使用类似Rails的生成器创建应用程序和模型,包括ORM在内。
- 同步离线数据,使得让所有数据离线并且可以编辑变得非常容易。
- 为开发而提供的RhoHub托管服务,这样你就不必安装各种不同的 SDK了。
Rhodes应用程序使用HTML和Javascript来开发GUI,其它部分使用Ruby。使用Ruby,甚至可以使用RubyGems(带有原生扩展的Gem显然无法工作,但Rhodes支持诸如net/http(s)、JSON、REXML、crypt和openssl等原生Gem)。
作为原生应用程序,你也可以访问GPS、PIM联系人、摄像机和其它对于纯Web应用程序来说无法访问的设备。
最新的 1.5版Rhodes的增强部分包括“适用于Android的原生地理信息映射”、“适用于iPad的原生屏幕分辨率”和支持闪屏(Splash Screen)。
Rhodes可以在GPL许可下免费使用,也可以花500美元购买应用程序许可。可以发现,使用Rhodes创建的应用程序,比如说使用Rhodes开发Wikipedia的iPhone应用程序的代码量大约只有之前使用Objective-C开发的那个版本的20%。
摘自:cnbeta
[ad#468-60]