I chose to write this post for the benefit of all people who are not familiar with hybrid applications for mobile telephones. This Thursday I will lecture about hybrid applications for mobile telephones in Open Source 2011. I believe this post can be the appetizer for my lecture.
In the past, applications for mobile telephones were developed similarly to applications we install on our personal computer. When the case was iPhone they were developed in Objective-C. When the case was Windows Mobile or Windows Phone they were developed in C#. When the case was Black Berry they were developed in Java using Black Berry SDK. When the case was Android they were developed in Java using Google Android SDK. When the case was Java ME devices they were developed using Java ME. When the case was Symbian they were developed in C++. In addition, the differences between different phone models that use the same platform left us with the inevitable need to develop multiple versions of the same application for different phone models within the same platform group.
The need for so many versions of the same application turned the development of applications for mobile telephones that target most of the market into a very expensive adventure. In my post from 2008 I describe the case with Java ME.
Today there is an alternative that allows us to develop less versions of our application and in a way that the major part of it is shared among all versions for all platforms. Given the fact that nearly all mobile platforms SDKs allow us to develop applications that includes a user interface component based on the internal mobile telephone browser spread over the entire screen we can develop the main part of the application in Java Script and HTML5. We can even keep it on the server allowing the applications installed on the users' devices to fetch their up-to-date version directly from the server.
Today you can already find lots of mobile telephones apps developed this way. In many case you won't feel the difference. Hereto several links you can follow in order to see samples for hybrid applications for mobile telephones.
Samples for Hybrid Applications for Mobile Platforms that use the PhoneGap library
Samples for Hybrid Applications for Mobile Platforms that use the SenchaTouch Library