Browse DevX
Sign up for e-mail newsletters from DevX


From Palm OS to Symbian OS: Making the Switch, Part 2 : Page 4

Thinking about switching from Palm OS to Symbian OS? The proliferation of smartphones has made it necessary to build many wireless applications from the operating system on up and Symbian OS seems to have this market cornered. Part 2 of this series delves deeper into the differences between developing for Palm OS and for Symbian OS. So if you do decide to switch, you'll know what to expect.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

The Application's Entry Point
The Entry Point is simply a C++ file that calls the minimum required application entry points functions, NewApplication and E32Dll, by using an instance of the Application Class.

The Application Class is derived from the UIQ Application base class, C@ikApplication. This class bootstraps the application, returns its system unique application ID and creates the document object.

Regardless of whether you use UIQ, the Document Class (which derives from the UIQ Document base class, CqikDocument), both creates the application's UI and well as stores and restores data. In addition, the Document Class also contains and initializes the application's data model. The ways by which the application will save data and close down are arranged in the Document Class.

The User Interface Class does exactly what its name indicates. It creates the application's user interface controls, views, and handles UI commands. Even if the application doesn't use UIQ, it must use the UIQ User Interface base class, CQikAppUi. The User Interface Class provides the foundation for the UI, but does not actually implement the UI.

Both operating systems are event-driven operating system.

That job is done by the View Class. The View Class determines what the user actually sees and works with. This, in turn, springs from the Control framework base class, CCoeControl and from the view architecture class, MCoeView. Typically, UIQ is used.

Resource files are handled in approximately the same way they are in Palm OS. Symbian Resource files usually use the same names as their applications, with the extension .rss.

When an application starts, it reads in the resource file. While you could dynamically create UI objects, as you can in Palm OS, it's much more efficient to use the resource file to create all your applications UI objects.

Processing Approach
Both operating systems are event-driven operating system. With Palm OS, an application implements an event loop and event handlers and talks to the operating system via the event manager

Writing code for Symbian OS means more than just picking up a few new programming idioms. It means adapting to an entirely different approach to programming.

Symbian OS also takes an event-based approach, but its object-oriented approach combined with its prioritized pre-emptive multitasking makes multiple running applications not only possible, but makes even single applications more responsive to user input.

From Palm OS to Symbian OS
While you might think that if you know C++—the most powerful language option available on both operating systems—you'll be able to program on Symbian OS, that is not the case. Not only does Symbian offer more full access to the operating systemstet APIs, and the underlying hardware, its object-oriented approach is fundamentally different from Palm's approach.

Writing code for Symbian OS means more than just picking up a few new programming idioms. It means adapting to an entirely different approach to programming. Since that's the case, even an extremely experienced Palm OS developer should spend considerable time learning how to program on Symbian OS before attempting to port a major Palm OS application to Symbian OS or creating a new Symbian OS program from scratch. For more on that, see the resources on the left hand of the page.

In the end, it will be worth it. By gaining access to Symbian OS, you will learn not just how to use a fundamentally more sophisticated and powerful operating system, you'll also open up the world of Smartphones for your applications.

Steven J. Vaughan-Nichols is editor of Practical Technology (a newsletter and Web site for CIOs, CTOs, and system integrators. He's been using and writing technology for much too long and can be reached at: .
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date