Saturday, September 16, 2006

Symbian

This post is a continuation of the series exploring mobile technology platforms. For introduction to the series please refer to: "What technology platform to choose for development of mobile applications?"

Other postings in the series:
Mobile Messaging
Mobile Web
Mobile Java
BREW

Symbian

Symbian OS (http://www.symbian.com/) is a fully fledged operating system designed specifically for advanced phones also known as smartphones. It is developed by Symbian, a company owned by a number of phone manufacturers led by Nokia which owns close to 50% of the company. According to Symbian, almost 60 million phones have been shipped with its OS by the end of 2005. Symbian dominates the market for smartphones – reports from analysts such as Gartner and IDC estimate that its market share is at 68% to 85%. A list of phones running Symbian OS can be found at http://www.symbian.com/phones/index.html.

To develop Symbian applications you need Symbian OS SDK, Active Perl (to compile applications), Microsoft Debugging Tool for Windows and Visual C++ Toolkit, and Borland C++ BuilderX Mobile Edition or alternative C++ IDE such as Microsoft Visual C++ 6.0 or Metrowerk CodeWarrior. Several different versions of Symbian OS SDKs are available. For example Nokia provides two versions: S60 and Series 80 Platform. The differences between versions include differences in UI API. Applications are developed for a specific version of the SDK and need to be ported to other versions to support a broader set of Symbian devices. Native Symbian applications are written primarily in C++. However, the OS also supports J2ME, XHTML browsing, Python, FlashLite, Visual C++ and Visual Basic.

Monday, September 04, 2006

BREW

This is the fourth posting in the series exploring mobile technology platforms. For introduction to the series please refer to: "What technology platform to choose for development of mobile applications?"

Other postings in the series:
Mobile Messaging
Mobile Web
Mobile Java

BREW

The Binary Runtime Environment for Wireless (BREW) is a mobile runtime environment developed by Qualcomm. BREW separates applications from mobile phone hardware by providing a set of APIs. BREW applications, or applets, support rich functionality, graphics, sound and run on all BREW-enabled phones. Native BREW programs are developed in C or C++ using SDK provided by Qualcomm. In addition to SDK, to develop applications you also need the Microsoft Visual C++ compiler (to compile applications for simulation using phone emulator supplied with the SDK), and RealView or GNU cross-compiler for ARM (to compile applications for the phone CPU). Applications have to be signed with VeriSign Authentic Document ID.

In addition to C and C++, BREW supports Java and Macromedia FlashLite through so called BREW extensions. However, BREW without extensions has a significantly smaller footprint and thus Java applications have more demanding hardware requirements than C or C++.

Qualcomm not only provides a mobile runtime environment but also the BREW Delivery System (BDS), application distribution and billing platform. BDS in essence is a virtual marketplace connecting application developers and carriers, and a platform for delivering application to end users.