The following image illustrates the components of the traditional architecture approach.
Symbian platform applications that follow the traditional Symbian UI application architecture require:
a UI controller derived from CAknAppUi.
a view or views derived from CCoeControl.
The traditional Symbian UI application architecture provides the most flexible approach to application UI construction. Traditional architecture is easier to port across different platforms than view architecture. Traditional architecture is also the best choice for single-view applications, if launching the view from external applications is not required.
Typical responsibilities in this architecture are:
CAknAppUi-derived class acts as a UI controller:
It creates one or more CCoeControl-derived views.
It handles events, including enabling views to handle key events.
To switch between views, it creates and destroys or shows and hides views.
It handles menu commands.
It receives events such as layout and foreground notifications from the run-time environment.
CCoeControl-derived view:
Shows application data and state on the screen.
Receives user input.
Notifies the CAknAppUi-derived class of relevant events.
Often observes model changes (directly or via the UI controller) and updates the screen accordingly.
For more information on the CAknApplication and CAknDocument-derived classes, see Framework requirements for GUI applications.