Wednesday, January 23, 2013

Understanding Cross-Platform Mobile Application Development

This book is about mobile application development; more specifically, about easing the

pain of mobile application development. There are many smartphone platforms on the

market: Android, iPhone, BlackBerry, Nokia, the Windows 7 Phone, and WebOS. Newer

platforms are on the rise as well, such as Samsung’s Bada and Meego.

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.”

Many JavaScript libraries came to the rescue and helped write cross-browser web

applications. Things have improved to such an extent that all of the browsers are

working hard to be more and more compliant with W3C specs. The browser, as a

platform, is now a strong contender.

This book is about fragmentation in the mobile world. 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. This chapter will talk about these

things in greater detail.

Now, for those of you who are new to mobile application development, we will start by

focusing on what it’s like to create a mobile application. We will answer questions like

“How is a mobile application different than traditional web-based or desktop-based

applications?” We will investigate the challenges of developing mobile applications for

various platforms.


1 comment:

  1. Great job you have done here. I really thnakful to this post. That's fully utilitarian, Good luck....Web Development Company

    ReplyDelete