|#How PhoneGap is useful to create cross-platform mobile Applications:|
The sheer number of development platforms for mobile applications may seem overwhelming. This is the first of many points you must keep in mind when dealing with mobile application development.
In the year 2000, we saw a similar situation in the desktop world. We had Microsoft Windows, Apple's Mac, and various versions of Linux and UNIX. At that time, it was difficult to build products that would run on all these platforms. The resulting fragmentation was often solved via in-house solutions by building frameworks in C++, with Operating System (OS)-specific modules abstracted. Fortunately, Sun's Java came to the rescue and provided us with a common platform on which to build. With Java's build-once-and-run-anywhere strategy, building desktop products had become a breeze.
Between 2004 and 2008, the developer community saw a different kind of fragmentation; this time, it took place in the browser world. It was a fragmentation involving the very popular Internet Explorer 6 vs. Firefox and Safari—then, Chrome and other browsers came out of the woodwork, causing further fragmentation.
The nature of this fragmentation, however, was different and a little more tame: it was mainly due to browsers not following the specifications outlined by the World Wide Web Consortium (W3C). Often, this fragmentation was solved by writing either "If Browser is IE, then do this else do that" or "If Feature is Present, then do this else do that."
Mobile OS fragmentation is severe because there are no specifications or standards in this development area. In 2007, Apple and Google launched their mobile platforms. In 2008, both companies launched mobile app stores to allow smartphone users to download mobile applications. The era of mobile applications had begun; since then, there has been no looking back. The number of smartphone users has grown exponentially.
Companies started focusing on delivering services and content on the new smartphone platform. Businesses realized they needed to shift their focus to smartphone users. Not only was there an increase in the number of users, but the frequency of smartphone usage increased as well.
Imagine your developers working around to the clock to release the same product on the iPhone, Android, BlackBerry, WebOS, and Symbia—and now, let's add Samsung Bada to that list! You can see the challenge here.
The OS platforms, starting with their development environments, are so fragmented. For the iPhone, you will need Mac machines, and for BlackBerry, you will need Windows.
Mobiles applications are two types:
- Standalone mobile applications
- Mobile applications (based on web services)
Standalone mobile applications are applications such as alarms, phone dialers, and offline games. Web service-backed mobile applications are applications like e-mails, calendars, Twitter clients, online games, and applications that interact with web services.
How PhoneGap is developed for mobile applications:
- Many companies that want to develop mobile applications for multiple platforms either have their own web services or rely on other web services. While PhoneGap can work for standalone mobile applications, it is very well-suited for mobile applications that make use of web services.
- The reason for this is that PhoneGap applications are primarily web applications that are augmented with device features. Think about a Flickr web application that has access to a device's camera or Google Maps application, which, in turn, has access to a GPS. Another example is Foursquare, which has access to your GPS, as well as your phone's address book.