Handheld Programming Languages and Environments

Handheld Programming Languages and Environments

Wen-Chen Hu (University of North Dakota, USA), Yanjun Zuo (University of North Dakota, USA), Chyuan-Huei Thomas Yang (Hsuan Chuang University, Taiwan) and Yapin Zhong (Shandong Sport University, China)
Copyright: © 2009 |Pages: 10
DOI: 10.4018/978-1-60566-026-4.ch268
OnDemand PDF Download:
$37.50

Abstract

Mobile commerce is defined as the exchange or buying and selling of commodities, services, or information on the Internet through the use of mobile, handheld devices such as smart cellular phones and PDAs (personal digital assistants). It is widely acknowledged that mobile commerce is a field of enormous potential. However, it is also commonly admitted that the development in this field is constrained. There are considerable barriers waiting to be overcome. One of the barriers is most software engineers are not familiar with the design and development of mobile applications (Kiely, 2001). This chapter gives a study of handheld computing and programming to help software engineers better understanding this subject. Handheld computing is to use handheld devices to perform wireless, mobile, handheld operations such as personal data management and making phone calls. They can be achieved by using server or client- side handheld computing and programming: • Server-side handheld computing and programming: Server-side handheld computing is to use handheld devices to perform wireless, mobile, handheld operations, which require the supports of server-side computing. The most common applications of server-side handheld programming are the mobile Web contents. • Client-side handheld computing and programming: Client-side handheld computing is to use handheld devices to perform handheld operations, which do not need the supports of server-side computing. Most client-side handheld programming languages are a version of either C/C++ or Java. Examples of the application development of Java ME, a version of Java, and Palm OS, using a version of C, will be given.
Chapter Preview
Top

Introduction

Mobile commerce is defined as the exchange or buying and selling of commodities, services, or information on the Internet through the use of mobile, handheld devices such as smart cellular phones and PDAs (personal digital assistants). It is widely acknowledged that mobile commerce is a field of enormous potential. However, it is also commonly admitted that the development in this field is constrained. There are considerable barriers waiting to be overcome. One of the barriers is most software engineers are not familiar with the design and development of mobile applications (Kiely, 2001). This chapter gives a study of handheld computing and programming to help software engineers better understanding this subject. Handheld computing is to use handheld devices to perform wireless, mobile, handheld operations such as personal data management and making phone calls. They can be achieved by using server or client- side handheld computing and programming:

  • Server-side handheld computing and programming: Server-side handheld computing is to use handheld devices to perform wireless, mobile, handheld operations, which require the supports of server-side computing. The most common applications of server-side handheld programming are the mobile Web contents.

  • Client-side handheld computing and programming: Client-side handheld computing is to use handheld devices to perform handheld operations, which do not need the supports of server-side computing. Most client-side handheld programming languages are a version of either C/C++ or Java. Examples of the application development of Java ME, a version of Java, and Palm OS, using a version of C, will be given.

Top

Background

Mobile users interact with mobile commerce applications by using small wireless Internet-enabled devices, which come with several aliases such as handhelds, palms, PDAs (personal digital assistants), pocket PCs, and smart phones. To avoid any ambiguity, a general term, mobile handheld devices, is used in this article. Mobile handheld devices are small general-purpose, programmable, battery-powered computers, but they are different from desktop PCs or notebooks due to the following special features:

  • Limited network bandwidth,

  • Small screen/body size, and

  • High mobility.

Short battery life and limited memory, processing power, and functionality are additional features, but these problems are gradually being solved as the technologies improve and new methods are constantly being introduced. The limited network bandwidth prevents the display of most multimedia on a microbrowser. Though the Wi-Fi and 3G networks go some way toward addressing this problem, the wireless bandwidth is always far below the bandwidth of wired networks. The small screen/body size restricts most handheld devices to using a stylus for input.

Figure 1 shows a typical system structure for handheld devices, which includes the following six major components, (i) a mobile operating system, (ii) a mobile central processor unit, (iii) a microbrowser, (iv) input/output devices, (v) a memory, and (vi) batteries (Hu, Yeh, Chu et al, 2005). Synchronization connects handheld devices to desktop computers, notebooks, or peripherals to transfer or synchronize data. Without needing serial cables, many handheld devices now use either an infrared (IR) port or Bluetooth technology to send information to other devices.

Figure 1.

A system structure of mobile handheld devices

Top

Main Focus Of The Chapter

Handheld computing is a fairly new computing area and a formal definition of it is not found yet. Nevertheless, the author defines it as follows:

Key Terms in this Chapter

Symbian OS: Symbian is a software licensing company that develops and supplies the open operating system—Symbian OS—for data-enabled mobile phones

BREW (binary runtime environment for wireless): BREW is an application development platform created by Qualcomm for CDMA (code division multiple access)-based mobile phones.

Palm OS: Palm OS, developed by PalmSource Inc., is a fully ARM-native, 32-bit operating system running on handheld devices. Two major versions of Palm OS are currently under development: Palm OS Garnet and Palm OS Cobalt.

Server-Side Handheld Programming: It is design and development of handheld software such as CGI programs that reside on the servers.

Client-Side Handheld Programming: It is design and development of handheld software such as Java ME programs that reside on the handheld devices.

Windows Mobile: It is a compact operating system for mobile devices based on the Microsoft Win32 API and is designed to be similar to desktop versions of Windows.

Mobile Handheld Devices: They are small general-purpose, programmable, battery-powered computers, but they are different from desk or laptop computers mainly due to the following special features: (i) limited network bandwidth, (ii) small screen/body size, and (iii) mobility.

Java ME (Java Platform, Micro Edition): Java ME provides an environment for applications running on consumer devices, such as mobile phones, PDAs, and TV set-top boxes, as well as a broad range of embedded devices.

Handheld Computing: It is to use handheld devices such as smart cellular phones and PDAs (personal digital assistants) to perform wireless, mobile, handheld operations such as personal data management and making phone calls.

Complete Chapter List

Search this Book:
Reset