Examining the framework architecture behind every Series 60 UI application and key elements of application design
Every Series 60 device comes with a large number of standard applications preinstalled . This chapter expands on the fundamental idioms detailed in Chapter 3, examining the main design principles used by such applications and explaining how to use Series 60 APIs to create similar GUI-based applications of your own.
The public APIs provided by the Series 60 SDK enable you to quickly develop your own applications. However, developing good applications requires a little more knowledge of the APIs, and the underlying Operating System components that they interact with. The explanations and design tips in this chapter will help you to produce high-quality applications, and increase your awareness of the capability of the platform.
Topics covered are:
Application Framework ” An introduction to the components, layers and classes that comprise the application framework of a fully fledged Series 60 application. Both Symbian OS and Series 60 components are covered.
Application Architecture ” A more detailed description of the core application framework classes ”how they are created, and how they interact. The various application architectures available are described, along with the reasons for using each.
Splitting the Application UI and the Engine ” This section covers why, and how, to separate the implementation of an application's Engine (its main data store, and the definition of how it manipulates that data) from its User Interface (how the data is displayed, and how the user interacts with it).
ECom ” Introduced in Series 60 2.x, ECom is a framework for delivering additional functionality to an application at runtime through the use of plug-ins. This section discusses ECom and provides a practical example of its use.
Internationalization ” How to prepare your application for use in different countries and languages. This is a short guide covering such issues as date, currency and other locale-specific formats, and enabling support for user-visible text in multiple languages.
Good Application Behavior ” This section provides guidelines for how a well-behaved Series 60 application should correctly respond to system events and notifications from system watchdogs .
Details of how to use specific UI components will be covered in the chapters that follow.
The frequent code excerpts used throughout this chapter are mainly taken from the following example applications: ShapeDrawer, HelloWorld, SimpleDlg and EComExample . Details of how to download the full buildable source for these example applications are given in the Preface.
The ShapeDrawer application provides two different views: the first lets the user draw circles and rectangles on the screen; the second represents these drawn items, along with their coordinates, in a list box. From the second view, the user can select and delete items. Upon shutting down and restarting the application, the user will see that their data has been saved from the previous session. This application also demonstrates splitting the engine from the application UI.
The HelloWorld and SimpleDlg applications have no real functionality ”they just serve to demonstrate a particular Series 60 framework architecture. The EComExample application is also very simple and just draws a particular shape chosen by the user, demonstrating the ECom framework and how to write ECom plug-ins.
It is recommended that the reader download, build and run these applications, as this will help to provide a more practical view of the information presented here.