Rhodes

Rhodes is a cross-platform smartphone application framework developed by Rhomobile (www.rhomobile.com) a venture backed startup in Cupertino, CA. It was released in December of 2008. Rhodes is available for most major smartphones including the iPhone, Research in Motion (BlackBerry), Android, Windows Mobile, and Symbian. As of this writing, Symbian is not actively maintained and therefore not addressed in this chapter. A key value proposition for Rhodes is the ability for a company to build and maintain a single code-base across this wide variety of device operating systems.

Rhodes allows developers to create cross-platform smartphone applications using HTML, CSS, JavaScript and Ruby programming languages. It leverages developer experience in web development to make native mobile applications, and is aimed at developers who already have a background in web development and want to create mobile applications without having to learn platform SDKs and the native languages on each mobile device platform. The Rhomobile tools and framework can be used across Mac, Windows and Linux; however, to build for specific devices, the device SDK must be installed. BlackBerry and Windows Mobile devices require Windows; iPhone devices requires Mac; Android and Symbian devices run on Java and are cross-platform.

Rhodes is targeted primarily at enterprise applications. The framework makes it easy to create applications that present a series of screens that include standard UI widgets, including common phone UIs such as mapping. It is not suitable for fast-action games and other such consumer applications with demands for rich interactive graphic interfaces or platform-specific native UI controls. A strength of Rhodes is that it makes the traditional user interface patterns commonly found in most informational applications easy and portable.

Rhodes is a commercially-supported open source product licensed under the MIT License. Those companies requiring commercial grade support can purchase an Enterprise License from Rhomobile. Because Rhodes is open source, you can examine the code and see exactly what it is doing under the covers. You can extend it, contribute improvements and fixes, or customize your own version of Rhodes if you need to.

Rhodes takes much of its inspiration from web-oriented Model-View-Controller (MVC) style frameworks such as Ruby on Rails. However, it has several sfimplifications, extensions, and optimizations for the mobile scenario (see Differences Between Rhodes and Ruby on Rails later in the chapter). If you are a Ruby on Rails developer, you should find Rhodes familiar. Note that although certain patterns are borrowed from Rails, Rhodes is its own unique framework and not a port of Ruby on Rails. Even developers unfamiliar with Ruby on Rails can start developing quickly with Rhodes simply because there is much less code to write than for a native application.

Rhodes includes a local Object Relational Manager (ORM), called Rhom, and includes code to persist local data and sync remote data using RhoSync. Rhodes developers do not have to worry about writing data storage and sync logic into their applications and can focus instead on presentation and business logic.

The next sections provide details on creating device-only applications in Rhodes and you will see how to persist local data and use geolocation and other device features. However, the full power of the framework is seen when local data is synched to remote data sources, which can be easily achieved with Rhomobile's middleware server RhoSync (see chapter 7).

Complete details on Rhodes are available in the Rhomobile wiki (www.rhomobile.com/wiki) and the source to Rhodes is available at github (http://github.com/rhomobile). There are also open source example applications available. Finally, there is an active community of developers at http://groups.google.com/group/rhomobile.

Making Games For the iPad

Making Games For the iPad

Making an iPad game doesn't have to be something that only developers do. You too can create a game that will help to entertain the user and it will help to make you money. With Making Games for the iPad, you don't have to be a computer genius, but you will certainly feel like one.

Get My Free Ebook


Post a comment