Mobile Applications Programming Platforms and Development Tools

Mobile Applications Programming Platforms and Development Tools

Damianos Gavalas (University of the Aegean, Greece) and Daphne Economou (University of the Aegean, Greece)
DOI: 10.4018/978-1-61520-655-1.ch015


Mobile devices have been gaining increasing acceptance as target devices for developing rich multimedia applications. However, available programming platforms and development environments have not been adequate for developing applications for such relatively resource-constrained devices. Manufacturers and software firms have only recently started promoting programming platforms and tools tailored to satisfy user, designer and mobile device applications requirements. This chapter reviews the main characteristics as well as the relative merits and disadvantages of the most popular mobile platform development options for mobile devices. It aims to serve as a reference point and guide for developers and practitioners in choosing a mobile platform for development on information appliances. It achieves this by providing a focused overview of popular mobile platforms (Java ME, Flash Lite, .NET Compact Framework, BREW, Android, Symbian, and Lazarus) and then it evaluates and compares those upon a variety of quantitative and qualitative criteria.
Chapter Preview

2. Background

This section presents the typical Mobile Applications Programming Platforms for handheld devices, such as PDAs or mobile phones. It serves as a reference point and guide for developers in understanding the characteristics of mobile platforms for development on information appliances. The reviewed applications programming platforms are the following:

  • Java ME

  • .NET Compact Framework

  • BREW

  • Android

  • Symbian

  • Lazarus

  • Flash Lite.

It is worth noting that the iPhone1 and Blackberry2 are major players on the smartphone environment. However, due to space limitation those are not discussed in this chapter.

Key Terms in this Chapter

Programming Platform: A software platform that encompasses all the necessary components, application programming interfaces and libraries required by programmers and developers to author, compile, debug and execute language-specific applications. Programming platforms are typically accompanied with development tools that enable effortless application development.

Connected Limited Device Configuration (CLDC): A specification of a framework for Java ME applications targeted at resource-constrained devices. It contains a strict subset of the Java-class libraries, and is the minimal amount needed for mobile application development.

Emulator: An application that duplicates (provides an emulation of) the functions of one system (e.g. a cell phone) using a different system (e.g. a PC), providing a realistic representation of the functional capabilities and behavior of the emulated system.

Mobile Application: Software designed to run on handheld computers, personal digital assistants (PDAs), smartphones and cell phones.

Development Tool: A tool that supports the rapid implementation of software applications upon a programming platform. The term either refers to tools that enable development of full-fledged applications using compiled / interpreted code or software packages used by developers to author and package multimedia content deliverable to end users. The former is commonly referred to as ‘integrated development environment’ (IDE) and the latter as ‘authoring tool’.

Mobile Web: A term that refers to the world wide web as accessed from mobile devices such as cell phones, PDAs and other portable gadgets connected to the Internet either through a wireless LAN or the infrastructure provided by mobile network operators.

Java Virtual Machine: A set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and scripts. The model used by a JVM accepts a form of computer intermediate language commonly referred to as Java bytecode.

Mobile Information Device Profile (MIDP): A specification published for the use of Java on embedded devices such as mobile phones and PDAs. MIDP is part of Java ME framework and sits on top of Connected Limited Device Configuration, a set of lower level programming interfaces.

Integrated Development Environment (IDE): A software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, a compiler and/or interpreter, build automation tools, and (usually) a debugger. In the context of mobile applications, IDEs are typically equipped with mobile device emulators.

Complete Chapter List

Search this Book: