This platform generally produces portable applications, although sometimes device-specific libraries exist (commonly used for games), making them non-portable. It is often used to provide simple applications on feature phones
. 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 use APIs such as the file system access API. This is relatively expensive and is rarely done, even for commercial applications. Java ME runs atop a Virtual Machine
(called the KVM) which allows reasonable, but not complete, access to the functionality of the underlying phone. The JSR process serves to incrementally increase the functionality that can be made available to Java ME
, while also providing Carriers
the ability to prevent access, or limit access to provisioned software.
Designed from the start for mobile devices, the Symbian platform is a real time, multi-tasking OS specifically architected to run well on resource-constrained systems, maximising performance and battery life whilst minimising memory usage. The Symbian Foundation
maintains the code for the open source software platform based onSymbian OS
and software assets contributed by Nokia, NTT DOCOMO, and Sony Ericsson, including the S60 and MOAP(S) user interfaces. The platform is fully open source, mostly supplied under the Eclipse Public License. Over 300 million Symbian OS-based units have been shipped and Symbian holds more than a 50% market share globally.
Android is a Linux-based platform from the Open Handset Alliance
, whose 34 members include Google
, and T-Mobile
. It is supported by over 34 major software, hardware and telecoms companies. The Linux kernel is used as a hardware abstraction layer (HAL). Application programming is primarily done in Java. The Android specific Java SDK is required for development although any Java IDE
may be used. Performance critical code can be written in C, C++ or other native code languages using the Android Native Development Kit
is a variant of Windows CE
for mobile phones. Windows CE was originally developed for palmtop computers and Pocket PC PDAs with stylus-touch screens, and later adapted for use with keyboard-equipped smartphones. Phones have become the largest installed base for CE, though market share has fallen since the introduction of Android and IPhone. Windows Mobile supports a subset of the win32
programming interface, and a simplified GUI with one window on the screen at a time. Applications can use the .NET Compact Framework Devices are compatible with applications on Pocket PC
devices. Windows Mobile 6.5 introduced IPhone-like finger-based touch interfaces
, while Windows Phone 7
is a substantial redesign that uses Silverlight
for rich user interfaces.
Qt uses standard C++ but makes extensive use of a special pre-processor (called the Meta Object Compiler, or moc) to enrich the language. Qt can also be used in several other programming languages
via language bindings. It runs on all major platforms and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support, and a unified cross-platform API for file handling.
Used for deploying applications on CDMA devices (but also supports GPRS/GSM models). Distributed via a Brew Content Platform. Little penetration in Europe. BREW can provide complete control of the handset and access to all its functionality. However the power provided by native code
with direct access to the handset APIs
, has caused the BREW development process to be tailored largely towards recognized software vendors. While the BREW SDK
(Software Development Kit) is freely available, running software on real mobile hardware (as opposed to the provided emulator) requires a digital signature which can only be generated with tools issued by a handful of parties, namely mobile content providers andQualcomm
themselves. Even then, the software will only work on test enabled
devices. To be downloadable on regular phones the software must be checked, tested and given approval by Qualcomm
via their TRUE BREW Testing program.
formerly had a strong enterprise following in the important US market, based on Palm PDAs
is Palm's follow-on proprietary mobile operating system running on a Linux kernel which supports multitasking. Launched with Palm Pre and Pixi, now owned by Hewlett Packard.
Used for devices that support the Flash Lite
based. Lightweight functionality provided via a web-interface