PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. It is open source and supports many native features over 7 mobile platforms.

After trying many featured apps built using PhoneGap, I see that apps quality are quite good but some times screen flickering happens (which gives you the feel what you are using a browser).

Some stackoverflow posts shows that these flickers can be solved but I did not give it a try.

Introduction

Background
Since the appearance of smart-phones, mobile development has been done in separate islands, with each island having it's own set of traditions and languages, "Objective-C", "Java", ".Net"......


So the demand for a cross platform technologies has increased, and indeed a solutions emerged, in this article I'm going to explore the main three technologies out there, "rhodes", "PhoneGap", "Titanium Appcelerator".

How it works?
Despite the fact that each smart phone speaks a totally different language than others, they share one great advantage, that's they all have a web browser, so they all understand HTML, CSS and JavaScript.


So, this is the entry point for any technique targeting cross-platform, all of them are frameworks target the smart phone's web browser, but they differ in details, which we'll be discussing later.

Among the three methods of caching views in Rails, I particularly prefer page caching. The main advantage of page caching is that it is delivered by the web server without accessing your Ruby on Rails server. In this blog post I'll describe how you can keep two separate caches: one for pc browsers and one for iPhone. You can easily extend it to support more than two versions.

Prerequisites

In this tutorial I assume you are using Apache to serve your application with mod_rewrite and .htaccess files enabled.