Symbian OS

   

C++ Mobile Edition Overview

Borland C++ Mobile Edition is a plug-in that works for any edition of C++Builder 6 (Personal, Professional, Enterprise). However, you might find some features that are not available in all editions. Regardless, the C++ Mobile Edition plug-in will enable you to develop mobile applications within the C++Builder 6 development environment, as illustrated in Figure B.1.

Figure B.1. C++Builder IDE with the C++ Mobile Edition plug-in.

graphics/apbfig01.gif

Let's briefly look at what's required to begin to develop mobile applications.

  • Windows 2000 or Windows XP Professional

  • C++Builder 6 Service Update 3 or later

  • Symbian SDK (such as the Nokia Series 60 C++ Toolkit or Symbian Quartz 6.1)

  • Java Runtime Environment (JRE) 1.31 or later

  • Perl 5.6.1 or later

  • Borland C++ Mobile Edition (Edison) Plug-In

Hopefully, you already have the first two items in the list. Next, the Symbian SDK, such as the Nokia Series 60 C++ Toolkit, must be installed prior to installing the C++ Mobile Edition plug-in. You might be surprised to see that the Java Runtime Environment (JRE) and Perl are also identified in this list. Both Java and Perl are required to support the Symbian build process. Some of the Symbian SDK utilities are Java applications, and, to use these utilities, the JRE needs to be installed. Furthermore, the Symbian build scripts that are used during compilation are written in Perl.

Fortunately, Borland will release a combined setup that includes the Nokia Series 60 C++ Toolkit, the JRE, Perl, the C++ Mobile Edition plug-in, and a Series 60 emulator, which we'll talk more about in a moment.

Symbian SDK

A Symbian Software Development ToolKit (SDK) provides a development framework for the Symbian OS within Windows, which includes APIs, documentation, development tools and scripts for supporting mobile application development. One of the more popular SDKs is the Nokia Series 60 C++ Toolkit, which is a native C++ development framework for the Symbian OS that is centered on Nokia's Series 60 platform. The Toolkit contains a phone emulator, APIs and documentation, and is used to support development for smart-phone devices such as the Nokia 3650, which is illustrated in Figure B.2.

Figure B.2. The Nokia 3650 Symbian OS-based smart phone.

graphics/apbfig02.jpg

One of the things that you might come across in the SDK documentation is that the Nokia Series 60 SDK requires Microsoft Visual C++. This can be disregarded, given that Borland provides the necessary wrappers and linkage into the SDK enabling you to not only develop your mobile application, but to test and debug your application within the C++Builder environment using the C++ Mobile Edition plug-in.

Another SDK supported by the C++ Mobile Edition is the Symbian Quartz 6.1 SDK. It is anticipated that other SDKs closely tied with the Symbian OS and specific mobile devices will be offered in the near future.

C++ Mobile Edition Plug-In

After a Symbian SDK is installed, the C++ Mobile Edition can then be installed. When you install the C++ Mobile Edition plug-in for C++ Builder, the EPOCROOT and Path environment variables will be set to allow proper access to the Symbian SDK and Emulator, if one is present. This will ensure mobile applications can compile and build properly within C++Builder.

NOTE

EPOC was the original name for the Symbian OS. References to EPOC are really aliases to the Symbian OS components .


NOTE

One of the things that is possible within the C++ Mobile Edition is to use multiple mobile SDKs in your development. However, when building mobile applications, you will need to change your path variables to identify the appropriate SDK that represents the mobile device you are trying to target.


With the first C++ Mobile Edition release, there are no VCL or CLX components that you can drop on to a form representing the mobile application you are developing, as you could for a Windows or Linux application that you are developing. Therefore, you'll need to develop your mobile application the old-fashion way and incorporate the Symbian SDK API routines within your code. Fortunately, you will at least be within the familiar C++Builder environment containing the integrated code editor, compiler, debugger, a project manager, and an emulator, which enables you to debug and test your mobile application. Furthermore, the wizard support provided by the C++ Mobile Edition plug-in provides assistance in establishing new mobile projects and importing existing mobile projects from the examples provided by the Nokia Series 60 SDK and other SDKs.

Even if you don't have a Symbian OS-based mobile device, you can still go through the motions of developing and testing a mobile application. In fact, there are three potential ways to test a mobile application.

  • Use a software Emulator

  • Use a software-based hardware Simulator

  • Deploy to an actual mobile device

The first two items represent ways to test and run your application without the actual hardware, whereas the last bullet should be obvious. In fact, it's possible to even debug a mobile application on a mobile device.

Emulator Versus Simulator

At this point you might be asking, "What's the difference between an emulator and simulator? Aren't they basically the same?"

Actually, no; there is a distinction between the two. Although both are pieces of software that run on the development machine and appear to replicate the appearance and operation of a mobile device, they are fundamentally different. An emulator provides the general operations and capabilities associated to a mobile device, but not at the same fidelity or authenticity as a simulator, which fully mimics the hardware.

In more general terms, an emulator provides a constructive software environment for testing and debugging your mobile applications, whereas a simulator provides a virtual hardware environment for testing your mobile applications. The C++ Mobile Edition can support both emulators and simulators within the IDE. The emulator support is provided out of the box when you install because it is typically provided with SDK. To support a simulator, however, the C++ Mobile Edition needs to detect its presence within the system registry.

NOTE

A hardware simulator is not included with the initial release of the C++ Mobile Edition plug-in. However, the C++ Mobile Edition should be capable of supporting simulators that are currently available on the market such as the Virtio or the ARMulator virtual platforms.


You should notice a difference in the performance of your mobile application between an emulator and a simulator. Because a simulator is fully mimicking the hardware and running on top of an existing operating system, it can be more processor intensive and slower than the real hardware or even an emulator. The benefit of a simulator, however, is that it provides a more authentic environment for validating and verifying your application with the mobile device on which your application will be deployed.

An emulator is useful for testing your mobile application before it's been targeted for the actual mobile device. To test your mobile application when it's been targeted for the actual device, you can use a simulator. In a moment, we'll show you how to select the target for your mobile application when it's being built.


   
Top


C++ Builder Developers Guide
C++Builder 5 Developers Guide
ISBN: 0672319721
EAN: 2147483647
Year: 2002
Pages: 253

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net