Book Image

Rhomobile Beginner's Guide

By : Abhishek Nalwaya
Book Image

Rhomobile Beginner's Guide

By: Abhishek Nalwaya

Overview of this book

The four Rhomobile products – Rhodes, Rhosync, RhoHub, and Rhogallery – provide a complete toolkit for creating a mobile application. Rhomobile is cross-platform and so allows you to build your application for many different types of smartphone – including iPhone and Blackberry – just with a single codebase. This makes it the most preferred and quickest way of developing mobile apps. As you create a native Rhomobile application, you can use the built-in device features such as GPS, Push, and Camera, all with offline capabilities.Rhomobile Beginner's Guide is filled with practical examples to help you to create a mobile application from scratch. You can choose on which operating system to build, as well as for which smartphone to develop your application, giving you the freedom to create a customized mobile application quickly and easily.Once you have learned how to install Rhomobile on Windows, Mac, or Linux, you will create a simple application, which will be used to explore the products of Rhomobile one by one. Things really get going when you write unit test cases for your application before deploying it to the server and making builds for your chosen Smartphone. You will learn about the different aspects of Rhomobile, starting with Rhodes 3, which helps you to build a native mobile application. Rhosync 2.1 carries out the offline device capabilities and RhoHub deploys the code on the server and creates a build for the different smartphones. Rhomobile Beginner's Guide gives you the freedom to create a mobile web application on the platform of your choice, for the smartphone of your choice.
Table of Contents (17 chapters)
Rhomobile Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

The Rhomobile family


Mobile devices are very powerful today and are getting more dominant with time. The success behind the phenomenal growth of smart phones is the mobile application loaded in them, which increases their functionality exponentially. Mobile applications can be developed by using different frameworks and programming languages based on the type of mobile device. Different mobile devices use different hardware components, therefore, mobile software and mobile applications have to be developed using different software architectures. It is a very painful process if we have to develop applications for all of the smart phones in the market. So Rhomobile came up with the idea of developing an application with one code base and building it for all smart phones. Before learning about the Rhomobile architecture we should have an understanding of Rhomobile and its products.

Rhomobile Inc. is a computer software company that provides leading products for building the new generation of mobile applications. It offers an open-source Ruby-based mobile development framework for business mobility solutions through its four major products Rhodes, RhoSync, Rhohub, and RhoGallery.

Rhomobile has revolutionized the process of developing mobile applications. It has enabled developers to become much faster and more efficient, allowing quicker application development. It enables software programmers to build applications for mobile devices using HTML and Ruby instead of proprietary languages such as Objective-C. Currently, the Rhodes framework supports development for the iPhone, Windows Mobile, Google Android, Symbian, and BlackBerry operating systems.

Now we will learn more about the four major products of Rhomobile.

Rhodes

Rhodes is an open source framework by Rhomobile. It develops native applications for almost all smart phones. The applications built through Rhodes are pure native applications and use device capabilities such as GPS, PIM contacts and calendar, camera, native mapping, push, barcode, signature capture, and Bluetooth.

Rhodes accelerates the development of mobile applications without compromising on its portability. This framework is similar to the popular Rails framework. It is based on Model view Controller and has inbuilt Object Relational Manager (ORM) called Rhom that is similar to active Record in Rails. Most user interface customization can be done in HTML templates (ERB, eruby files). A single set of source written with Rhodes can be compiled to run across all of the supported smart phones. This means that we will have the same code base for all your devices.

RhoSync

RhoSync is a standalone mobile sync server that keeps enterprise application data up to date and available on users' smart phones. Enterprise apps require local synchronized data to be used most of the time. The information is stored locally on a users' device and is available to them even in offline mode. It is very easy to write a source adapter as RhoSync generates most of the code while creating the source adapter. The source adapter can also be used to Create, Read, Update, and Delete (CRUD) operations on a model.

Rhosync uses Redis, which is a NoSql Key Value store for data caching. This makes Rhosync more scalable. RhoSync performs its push-based sync using the native smartphone push SDKs. It uses new advanced BlackBerry Enterprise Server and iPhone 3.0 SDKs for Push. It uses BES Push and iPhone Push for synchronization, allowing real-time updates of backend application information. We will explore RhoSync and its features in detail in Chapter 5.

RhoHub

RhoHub is a hosted development environment for Rhodes and Rhosync. The RhoSync application will be deployed on the famous Ruby cloud Heroku with the interface of RhoHub. RhoHub enables git-powered source control and collaboration with your team. It allows us to directly build an application for different smart phones without installing SDKs.

It makes the process of the build very smooth since we don't have to install any development toolkits. It is only a one click process that automatically creates a build for most of the smart phones. We will discuss this in detail in Chapter 9.

Rhohub provides us with the following functionalities:

  • Creating a build for a Rhodes application

  • Deploying the Rhosync application to the cloud

  • Providing version control with git

  • Managing collaborators

RhoGallery

RhoGallery provides a hosted mobile app management solution. It allows administrators to manage the set of apps exposed to their users. It also makes it easy for them to get mobile apps onto their devices. It enables users to launch all of their important enterprise apps from a single place. RhoGallery consists of a management console for "app galleries" on RhoHub, as well as a RhoGallery App that users load onto their devices. Even for an individual developer with one or a few apps, RhoGallery makes it easy to expose those apps to their users. RhoGallery handles inviting the users and determining the appropriate downloads to provide to them.

RhoGallery provides the following functionalities:

  • Administrator management of exposed apps to end users

  • Central user launching of exposed apps

  • Automatic provisioning of appropriate apps for end users