AMP C (Pengenalan Java) Bab 3 Hal 1 dari 7 BAB 3 PENGENALAN MOBILE DEVICE dan MOBILE PROGRMAMMING 3.1. PENGENALAN MOBILE DEVICE 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 Smartphone 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. 3.2. MACAM-MACAM MOBILE DEVICE Mobile Computers : Notebook PC Ultra-Mobile PC Handheld PC Personal Digital Assistant/ Enterprise Digital Assistant Graphing Calculator Pocket Computer Handheld Game Console : Nintendo DS (NDS) Game Boy, Game Boy Color Game Boy Advance Sega Game Gear PC Engine GT Pokemon Mini NeoGeo Pocket, NeoGeo Color Atari Lynx Pandora GP2X/ GP32 Gizmondo PlayStation Portable (PSP) N-Gage Universitas Gunadarma Rr. Artiana Krestianti AMP C (Pengenalan Java) Bab 3 Hal 2 dari 7 Media Recorders : Digital Still Camera (DSC) Digital Video Camera (DVD atau Digital Camcorder) Digital Audio Recorder Media Players/ Displayers : Portable Media Player E-book Reader Communication Devices : Mobile Phone Cordless Telephone Pager 3.3. PENGENALAN MOBILE PROGRAMMING Pemrograman untuk mobile device mempunyai aturan tersendiri. Pemrograman 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, mengirim sms, 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 : Overview Java ME Universitas Gunadarma 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. Rr. Artiana Krestianti AMP C (Pengenalan Java) Bab 3 Hal 3 dari 7 Symbian Very powerful for general purpose development. The Symbian based S60 platform is strongly supported by Nokia with some support from other device manufacturers. In Japan NTT DoCoMo's Symbian based MOAP platform is also well supported by a number of manufacturers (Fujitsu, Sony Ericsson Japan, Mitsubishi and Sharp amongst others). It should be noted, however, that MOAP is not an open development platform. Another Symbian based platform, UIQ, is less well supported (principally by Sony Ericsson and Motorola). Currently large device deployments in Europe and Japan, with little penetration in the US market. Android Recently announced by the Open Handset Alliance, whose 34 members include Google, HTC, Motorola, Qualcomm, and T-Mobile, Android is a new Linux-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 porting 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 BREW Pocket PC and Microsoft Smartphone Ideal for deployment on homogeneous Pocket-PC devices. However not cross platform and limited to Microsoft Windows Mobile devices. 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. 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 Universitas Gunadarma Ideal for lightweight functionality, a web-interface for an existing application with no latency concerns, or a widely varying platform base Rr. Artiana Krestianti AMP C (Pengenalan Java) Bab 3 Hal 4 dari 7 H Perbandingan Pengembangan Aplikasi Debuggers available Emulator available Good on latest version. Free Emulator Average Excellent Free Emulator, Sun Eclipse,LMA Java Wireless NetBeans Toolkit, Mobility Pack mpowerplayer Free Emulator Eclipse, Android only, Undroid (Plugin because of Dalvik for Netbeans) VM (march 09) apk Free Free Emulator JDE - alx, cod Free Foundation Learning Curve Symbian Java ME C++ Java Difficult (unusual C++ APIs, poor debugger support, and Symbian 9 breaks binary compatibility) Android Java unknown Debugger integrated in Eclipse, Standalone debugging monitor also available BlackBerry Java Average Debugger Universitas Gunadarma Integrated Development Environment available Many choices Rr. Artiana Krestianti Cross-Platform Deployment Compile per target Installer Development Tool Cost Packaging Options SIS deployment Average (many VM implementations have Jad/Jar packaging; device specific bugs PRC files under necessitating separate Palm OS builds) BlackBerry only Varies (free tools available) Free AMP C (Pengenalan Java) Bab 3 Hal 5 dari 7 integrated in JDE iPhone Lazarus Python Flash Lite Universitas Gunadarma Objective-C unknown Object Pascal Excellent Python ActionScript Excellent Average BlackBerry Java Development Environment H because of the RIM API Integrated in the Bundled with IDE XCode IDE only iPhone N/A Free for Intel-based Macintosh owners, cost of Intel-based Macintosh for others. Average. Can debug on the IDE via ActiveSync for Windows CE Compiled language available for Windows CE, linuxbased divides and a SymbianOS port is under development. The native distribution format of each platform Free Interpreted language available natively only on Nokia Series60 (and desktops) though there are ports to other mobile platforms, including PalmOS Sis deployment with py2sis or can Free use Python Runtime Lazarus IDE, including Uses the emulators integrated GUI of the platforms designer and debugger Several, including plugins for Eclipse Average Add-on to Nokia Emulator Good Macromedia Flash Bundled with IDE MX2004/8 / Eclipse Rr. Artiana Krestianti Excellent (Bundled Top 5 mobile manufacturers, limited handset model support as of SIS / CAB deployment or OTA/IR/Bluetooth SWF files Varies (Free but limited with MTASC) AMP C (Pengenalan Java) Bab 3 Hal 6 dari 7 H 3/06, best web compatibility) .NET Compact Framework C#, VB.NET XHTML Microbrowser (WAP 2.0), WML (WAP Based 1.2) BREW Pocket PC Universitas Gunadarma C (the APIs are provided in C with a C++ style interface) C, C++ Excellent Excellent Varies by Serverside scripting Good language Difficult (but easier, and less featureful, than Symbian) Average (excellent for Win32 Debugger support for the native ARM target code now available via ARM RVDS 3.0. ($6k) Can use Visual Studio to debug the x86 testing code. Excellent Free emulator (source code available), also bundled with IDE Visual Studio 2008, 2005, 2003 Windows Mobile, WindowsCE, Symbian-based devices (via third party tools) OTA deployment, CAB files, ActiveSync Most tools free (but commercial editions of Visual Studio required for visual designers) Many Many Excellent N/A Free Compile for the specific BREW version available on the handset. OTA Related Dev Fees Typically Required for Brew App Certification VeriSign annual fee for becoming a certified developer. Realview ARM compiler for BREW (The free GNU C/C++ is also available, but with limited function and support). TRUE BREW testing fee for distributing the application. Windows Mobile, WindowsCE OTA deployment, CAB files, ActiveSync Free command-line tools or eMbedded VC++, or Visual Studio (Standard No Emulator for the target ARM code, has a simulator for the x86 testing code. Visual Studio 6.0, Visual Studio 2003 .net, Visual Studio 2005 Free emulator (source code available), also Visual Studio 2008, 2005, eMbedded Rr. Artiana Krestianti AMP C (Pengenalan Java) Bab 3 Palm OS Universitas Gunadarma C, C++, Pascal Hal 7 dari 7 developers) bundled with IDE VC++ (free) Excellent OS 1.0 - 4.1: Free Emulator provided by PalmSource (Access); OS 5.0: 5.4 Device-specific Simulators provided by Palm (palmOne) Palm OS Development System (Eclipse), CodeWarrior, PocketStudio Average Rr. Artiana Krestianti H edition or better) Palm OS handhelds, or Windows Mobile with StyleTap emulator PRC Files, PalmSource Installer (.psi) Free (POSE or GCC for Palm OS), or commercial (CodeWarrior), or various commercial rapiddevelopment frameworks