doc/introduction.txt in rhodes-3.0.2 vs doc/introduction.txt in rhodes-3.1.0.beta.1

- old
+ new

@@ -1,18 +1,18 @@ # Rhodes ## Introduction -Rhodes is a framework for building locally executing, device-optimized mobile applications. These applications are optimized for interacting with transactional enterprise application backends. It is also designed to work with synced local data using a local database such as SQLite or HSQLDB and a generic backend synchronization framework such as [RhoSync](../rhosync) (another open source component available from [Rhomobile](http://rhomobile.com)). Rhodes is available for iPhone, Research in Motion (Blackberry), Windows Mobile, and Android phones. +Rhodes is a framework for building locally executing, device-optimized mobile applications. These applications are optimized to interact with transactional enterprise application backends. They are also designed to work with synced local data using a local database, such as SQLite or HSQLDB, and a generic backend synchronization framework, such as [RhoSync](../rhosync) (another open source component available from [Rhomobile](http://rhomobile.com)). Rhodes is available for iPhone, Research in Motion (Blackberry), Windows Mobile, and Android phones. -The [Tutorial](tutorial) describes how to install Rhodes and start on building your apps. The rest of this Developer Reference covers all Rhodes features. +The [Tutorial](tutorial) describes how to install Rhodes and build your apps. The rest of this Developer Reference covers all Rhodes features. ## Supported Operating Systems ### BlackBerry BlackBerry 4.6, 4.7, 5.0, 6.0 -NOTE: 4.2 and 4.5 are supported but database access is very slow on this devices. +NOTE: 4.2 and 4.5 are supported but database access is very slow on these devices. ### Windows Mobile Windows Mobile 6.1 Professional, 6.0 Standard ### Android @@ -21,30 +21,30 @@ ### iPhone All versions of iPhone 3.0 or greater, iPad ## Rhodes Application -Rhodes Application is a web application running locally on the device. It is implement standard MVC architecture: +A Rhodes application is a web application that runs locally on your mobile device. It is implemented with the standard MVC architecture: -* Views are set of ERB templates, HTML, CSS, and JavaScript files executed by the WebView control available on the device and served by the local web server. That server is very lightweight web server running on the device. See [User Interface](ui) section for more details on [Layouts](ui#view-layouts), [CSS framework](ui#css-framework), [JavaScrip frameworks](ui#javascript-frameworks), [Menus](ui#menu), and [Native UI elements](ui#native-toolbar-control) you may use in the View. -* Controllers are set of usually very simple Ruby scripts in controller.rb files. You have access to many [native device capabilities](device-caps) from your controllers. -* Models are defined by a Ruby script in model.rb file. +* Views are sets of ERB templates: HTML, CSS, and JavaScript files executed by the WebView control available on the device and served by the local web server. This server is a very lightweight web server running on the device. See [User Interface](ui) section for more details on [Layouts](ui#view-layouts), [CSS framework](ui#css-framework), [JavaScript frameworks](ui#javascript-frameworks), [Menus](ui#menu), and [Native UI elements](ui#native-toolbar-control) that you may use in the View. +* Controllers are sets of usually very simple Ruby scripts in controller.rb files. You have access to many [native device capabilities](device-caps) from your controllers. +* Models are defined by a Ruby script in the model.rb file. -See Rhodes [App Structure](application) topic for more details. +See Rhodes [App Structure](application) for more details. -You may generate Rhodes Application using [rhodes](generator) utility. +You may generate a Rhodes application using the [rhodes](generator) utility. ## Contributing -Want to add features to Rhodes? Found a bug that you want report or fix? +Do you want to add features to Rhodes? Have you found a bug that you want report or fix? Read on. -### Report Rhodes Issues +### Reporting Rhodes Issues Please report bugs/features/enhancements to the [google group](http://groups.google.com/group/rhomobile). ### Run Rhodes Specs -First run the rhodes specs to make sure your environment is up-to-date for development (currently the specs only run on OSX): +You should run the rhodes specs to make sure your development environment is up-to-date (currently the specs only run on OSX): -[Fork](http://help.github.com/forking/) the [Rhodes repository](http://github.com/rhomobile/rhodes). +[Fork](http://help.github.com/forking/) the [Rhodes repository](http://github.com/rhomobile/rhodes). Clone your new repo: :::term $ git clone git://github.com/<yourhandle>/rhodes.git $ cd rhodes @@ -52,34 +52,33 @@ Run Rhodes framework_spec and phone_spec targets :::term $ rake run:allspecs +If everything passes (pending specs are OK), then your environment is ready for development. If you have trouble installing a particular gem, or the specs won't run properly, please feel free to email the [Rhomobile google group](mailto:rhomobile@googlegroups.com) or [hop on IRC](http://webchat.freenode.net/?channels=rhomobile) to chat with other Rhodes developers. -If everything passes (pending specs are OK), then your environment is ready for development. If you have trouble installing a particular gem or the specs just won't run properly, please feel free to ping the [rhomobile google group](mailto:rhomobile@googlegroups.com) or [hop on IRC](http://webchat.freenode.net/?channels=rhomobile) to chat with other Rhodes developers. - ### Contributing your Patch -Now that you're environment is ready, make your changes! +Now that your environment is ready, make your changes! Create a topic branch: :::term $ git checkout -b cool_new_feature -Write tests, [for example](http://github.com/rhomobile/rhodes/blob/a905e9c9781bfe6e5003e8c8a11cd5418b08df73/spec/framework_spec/app/spec/rhom_object_spec.rb#L239). +Write tests, [such as this code in a Rhom example](http://github.com/rhomobile/rhodes/blob/a905e9c9781bfe6e5003e8c8a11cd5418b08df73/spec/framework_spec/app/spec/rhom_object_spec.rb#L239). -Make changes... +Make changes to your project to ready it for others to use. -Add relevant documentation (RDoc, update the README if relevant) +Add relevant documentation for your project (use RDoc, update the README if relevant). Push to your branch: :::term $ git push origin cool_new_feature Send a note to the [google group](http://groups.google.com/group/rhomobile) That's it! We recommend following [these ruby style guidelines](http://github.com/chneukirchen/styleguide/blob/master/RUBY-STYLE) when coding. -If you are interested us using your patch to Rhodes you will need to submit a [contribution agreement](http://rhomobile.com/community/contributing/) to us. +If you are interested in having us use your patch to Rhodes, you will need to submit a [contribution agreement](http://rhomobile.com/community/contributing/) to us. ## Framework Architecture <img src='/images/rhodes-framework.png'/>