Mobile Application Development

Everywhere you go, everywhere people are using mobile devices to communicate with family and friends, photography and posting photos on social networking, search, restaurant location or view the headlines. Mobile devices have a variety of shapes and styles. Mobile phones work on different operating systems such as Apple iOS, Google Android and Research In Motion Blackberry. Some have larger screens, physical keyboards and work in networks 3G, 4G or WiFi. Mobile phones can also be acceleration sensors, location, and even payments. Some of these devices – not even a phone, a tablet with a larger screen and a network connection for data exchange.

Despite the differences, mobile devices are alike in that they all execute mobile applications. Mobile applications can be divided into two types:

Built-in applications

Installed on the device built-in applications are binary executables created with packages of software development (software development kit – SDK) and distributed via the application store (app store). SDK available for each mobile operating system, and, unfortunately, different.

For example, to create an app for iOS, you must download and install the iOS SDK and development tools, and writing the code to perform the programming language Objective-C. Android-application is developed using the Android SDK and is written in Java. Thus, to create a mobile application, you need to know and use the SDK each supported language. To study the SDK for each platform you need to spend a lot of time, so the development of mobile applications is difficult. Thats why a lot of talented people working in mobile development cautiously look towards mobile platforms.

Web-based applications

Web-based applications that are downloaded on the mobile Web-browser, than the built-in that their code is written using the Web-based technologies (HTML, JavaScript, and CSS), independent of the device’s operating system. No need to learn a variety of languages ​​for each device. HTML and JavaScript are familiar Web-developers to create Web-pages for desktop browsers. Most of the mobile Web-browsers can render the same Web-page, but Web-sites often offer a mobile version with a smaller amount of information and faster loading (due to the smaller screen and slower network).

To start the Web-application, the user enters the URL-address in the mobile Web-browser. Then downloaded Web-page is the entry point to the Web-based application. Web-applications are distributed via application store, and they are the usual links, which can be integrated into other Web-pages, e-mail or even write on paper.

Built-in Web-based applications and have their own advantages and disadvantages, causing much debate about which applications are best. Resolve the dispute may hybrid applications that try to combine the advantages of both types of mobile applications.

Mashups as Web-applications programmed using Web-based technologies, but are packaged as embedded applications. Mashup can write for multiple mobile operating systems in a language familiar to many developers. Because mashup is actually a built-in, you get access to the device features of JavaScript, which is not yet available for Web-based applications. Mashups can distribute and install a storage applications like embedded.

PhoneGap – a popular set of tools for creating mashups. He is a mobile infrastructure to open source JavaScript-containing interfaces to access the functions of various devices, such as accelerometers and cameras.

This article describes the development of a hybrid mobile Android-applications using toolkits PhoneGap and Dojo Mobile. You will learn how to use the Android emulator and means test applications, and see how to run the application on Android-device or tablet.

Prerequisites

It is assumed that you are familiar with the development environment Eclipse, technologies HTML, JavaScript and CSS. To work with the article you will need the following software:

The operating system is Windows, OS X or Linux.
Java Development Kit (JDK) 5 or JDK 6 (JRE is not sufficient).
The integrated development environment Eclipse (eg, Eclipse Helios V3.6 or later) or IBM Rational Application Developer V8.
Android SDK and platform (r12 or later).
Plugin Android Development Toolkit (ADT) for Eclipse.
PhoneGap SDK (V1.0.0 or later).
Dojo Toolkit (V1.6 or later).Recently, a great flash-game Machinarium took 1st place in the ranking of paid games for the iPad.