 Mobile Device (juga dikenal dengan istilah cellphone, handheld device, handheld computer, ”Palmtop”, atau secara sederhana disebut dengan handheld) adalah alat penghitung (computing device) yang berukuran saku, ciri khasnya mempunyai layar tampilan (display screen) dengan layar sentuh atau keyboard mini. Dalam hal PDA (Personal Digital Assistant) masukan (input) dan keluaran (output) dikombinasi dalam interface layar sentuh.

 Untuk mendapatkan pelayanan dan kenyamanan dari sebuah komputer konvensional yang dapat dibawa-bawa dan praktis adalah dan PDA. Kedua peralatan ini yang paling populer, selain itu ada Enterprise Digital Assistants yang dapat dikembangkan lebih jauh untuk kepentingan bisnis, yang menawarkan peralatan yang mampu mengambil data terintegrasi seperti Bar Code, RFID dan Smart Card.

MACAM-MACAM MOBILE DEVICE

 Mobile Computers :  ♦ Notebook PC  ♦ Ultra-Mobile PC  ♦ Handheld PC  ♦ Personal Digital Assistant/ Enterprise Digital Assistant  ♦ Graphing Calculator  ♦ Pocket Computer

 ♦ DS (NDS)  ♦ ,  ♦  ♦  ♦ PC Engine GT  ♦ Pokemon Mini  ♦ NeoGeo Pocket, NeoGeo Color  ♦  ♦  ♦ GP2X/ GP32  ♦  ♦ PlayStation Portable (PSP)  ♦ N-Gage

NDS Atari Lynk N-Gage

PSP NeoGeo Pocket GIZMONDO Pc Engine GT

GameBoy Advance Pandora

GP2X Pokemon MIni

Sega GameGear  ♦ Digital Still Camera (DSC)  ♦ Digital Video Camera (DVD atau Digital Camcorder)  ♦ Digital Audio Recorder

 ♦ Portable Media Player  ♦ E-book Reader

Communication Devices

 ♦  ♦ Cordless Telephone  ♦ Pager  Pemrograman untuk mobile device mempunyai aturan tersendiri. Pe- mrograman dengan J2ME (Java 2 Micro Edition) sudah populer dalam hal pemrograman untuk peralatan dalam ukuran kecil. Ada pula BREW (Binary Runtime Environment for Wireless) yang dibuat oleh Qualcomm untuk mobile phones. Awalnya BREW dikembangkan untuk CDMA, tetapi kemudian dikembangkan juga untuk GSM/ GPRS. BREW adalah perangkat lunak yang dapat mengunduh (mendownload) dan dapat menjalankan program-program kecil untuk memainkan games, mengi- rim , foto, dan lain-lain.

 Keterbatasan yang sangat umum dalam bahasa pemrograman untuk peralatan mobile adalah kendala dalam hal sumber daya, seperti ukuran layar, memori, CPU, penyimpanan dan cara menginput data. Perbedaan tampilan juga disebabkan adanya perbedaan hardware dan API yang digunakan.

 Di bawah ini ditampilkan perbandingan pengembangan mobile programming, yaitu

Java 2 ME

Ideal for a portable solution, if the Java ME platform provides the needed functionality. Good for vertical applications that must be portable. Device-specific libraries exist for many devices and are commonly used for games, making them non-portable. Applications (including their data) cannot be larger than around 1 MB if they are to run on most phones. They must also be cryptographically signed in order to effectively use many APIs such as the filesystem access API. This is relatively expensive and is rarely done, even for commercial applications.

Symbian

Ideal for a portable solution, if the Java ME platform provides the needed functionality. Good for vertical applications that must be portable. Device-specific libraries exist for many devices and are commonly used for games, making them non-portable. Applications (including their data) cannot be larger than around 1 MB if they are to run on most phones. They must also be cryptographically signed in order to effectively use many APIs such as the filesystem access API. This is relatively expensive and is rarely done, even for commercial applications.

Android

Recently announced by the Open Handset Alliance, whose 34 members include Google, HTC, Motorola, Qualcomm, and T- Mobile, Android is a new - based platform currently available only as a developer pre-release. Although it does not yet have any fielded implementations, its support by 34 major software, hardware and telecoms companies makes it likely that it will be rapidly adopted from 2008. The Linux kernel is used as a hardware abstraction layer (HAL). Application programming is exclusively done in Java. You need the Android specific Java SDK. Besides the Android Java Libraries it is possible to use normal Java IDEs.

Blackberry

supports push e-mail, mobile telephone, text messaging, internet faxing, web browsing and other wireless information services as well as a multi-touch interface. It has a built-in QWERTY keyboard, optimized for "thumbing", the use of only the thumbs to type. The BlackBerry devices soon took a dominating position on

the north-american smartphone market. Also important for BlackBerry are the BES (Black Berry Enterprise Server) and the Mobile Data System (BlackBerry MDS).

Iphone

The iPhone and iPod Touch SDK uses Objective C, based on the C programming language. Currently, is only available on Mac OS X 10.5 and is the only way to write an iPhone application. All applications must be cleared by Apple before being hosted on the AppStore, the sole distribution channel for iPhone and iPod touch applications. However, non-Apple approved applications can be released to for jailbroken iPhones via Cydia or Installer. Lazarus

Ideal for prototyping and quickly developing database powered applications. Also useful for Object Pascal software to mobiles. Can access the native APIs when translated headers are available. Python

Ideal for initial prototyping and concept testing when functionality falls outside Java ME.

.NET Compact Framework

Ideal for deployment on homogeneous Pocket-PC devices. However not cross platform and limited to Mobile devices. Brew

Ideal for deploying applications for deployment on CDMA-based networks (also supports GPRS/GSM models) with a deployed Brew Content Platform especially if OTA app deployment is desired. Little penetration in Europe. Pocket PC and Microsoft Smartphone

Ideal for enterprise applications with an existing PC infrastructure and options for significant development investment. However not cross platform and limited to Microsoft devices. Palm OS

Significant player with strong enterprise following in the important US market. Flash-Lite

Ideal for Graphics-heavy options with a market that can support the Flash Lite player. Microbrowser Based

Ideal for lightweight functionality, a web- interface for an existing application with no latency concerns, or a widely varying platform base