Skip to content

MacBoyPro/rhodes

 
 

Repository files navigation

Rhodes

The Rhodes framework is a framework for building locally executing, device-optimized mobile applications for smartphone devices. These applications are optimized for interacting with transactional enterprise application backends (with synced local data via RhoSync). Rhodes is now available for iPhone, Windows Mobile, Research in Motion (Blackberry) and Symbian smartphones.

Rhodes is available as an open source product under the “GNU Public License”: http://gplv3.fsf.org/ for developers prepared to abide by the GPL and open source their own application. For developers building closed source applications (either within an enterprise or as independent software vendors selling to other companies) we offer a commercial license. Contact sales@rhomobile.com for details

INTRODUCTION

Rhodes takes much of its inspiration from web-oriented MVC style frameworks such as Ruby on Rails. However it has several simplifications and optimizations for the mobile scenario. Some of these are to make it easier for the developer. Most of them are to keep the framework as lightweight as possible to be able to run on mobile devices with limited memory. As with developing apps on any good app framework (Rails, Merb, Django), building a Rhodes mobile application consists of building a set of files and putting them into the right directories for the respective models.

STARTING A RHODES APPLICATION

Install Rhodes:

gem install rhodes

APPLICATION GENERATOR

Rhodes features an application generator called rhogen that generates a controller and views for a given model. The syntax for running Rhogen is:

rhogen app appname

This will generate a config.rb and an index.html file. Currently config.rb is focused on describing what source to sync with. Modify the URL that you see in this file with whatever your RhoSync server URL and source ID are for this particular “source” or data model. It is assumed that you’ve already set up a RhoSync “source adapter” as described by the RhoSync README.

Generate a Model and Associated Controller and Templates

rhogen model modelname options

This will generate a controller as the file controller.rb and several views as action-name.erb (corresponding to the actions below). Each Rhodes model/controller pair has several actions to perform basic CRUD (create, read, update and delete) on the object generated by default by the scaffold . Specifically the template views generated are:

  • index – to list all objects
  • new – to display the editing form for creating a new object
  • edit – to edit the actual object
  • show – to show the object attributes

DIRECTORY STRUCTURE

The Rhodes directory structure is outlined below. In a default Rhodes application, there are several subdirectories inside of an app directory, one for each model or synced data object. For example, there might be subdirectories called Account, Employee, and Case. Each model subdirectory contains a controller in the file controller.rb. These subdirectories each contain a set of template files as Embedded Ruby (ERB) files. These control how data from the model is displayed and what links are available to other actions. Note that this structure is reminiscent of Rails and MERB’s structure, but is a bit simpler by design.

/appname
build.yml (contains the settings for running builds)
rhoconfig.txt (contains settings for setting the default start and options path)
Rakefile
/public (contains static resources for the generated objects)
/css
/images
/js
/app
index.erb
layout.erb
loading.html
/modelname (for example Account)
config.rb
index.erb
new.erb
edit.erb
show.erb
controller.rb
/modelname (for example Case)
config.rb
index.erb
new.erb
edit.erb
show.erb
controller.rb

MORE RESOURCES

There is a tutorial available on the Rhomobile site. This includes thorough and current platform by platform build instructions.

The Rhodes spec is also available on the Rhomobile documentation wiki.

For further questions email us or join the Google Group.

For questions on licensing contact our sales team

About

The Rhodes framework is a platform for building locally executing, device-optimized mobile applications for all major smartphone devices.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 53.7%
  • C++ 18.0%
  • Java 14.1%
  • Ruby 13.0%
  • Objective-C 0.4%
  • PHP 0.4%
  • Other 0.4%