Table of Contents
Tahiti is programmed in mainly in C++ using several toolkits and libraries.
Used toolkits:
MFC extension for native look and feel
used for user interface on Win32
Several features are used from the Gecko platform. Xulrunner is embedded in the Tahiti and is used as a component framework (XPCOM), JavaScript runtime and User interface.
Tahiti consists from several layers:
Application Layer
Domain Layer
Frame Layer
Architecture is shown on next picture. There are components on each layer - this way can be Tahiti easily extended and new functionality can be added.

There are three types of components:
They are used as base application components (e.g. initialization of several subsystems, sockets...). Views are also implemented as shared components.
Domain components are usually used from domain specific tasks as communication, data store, etc. These components are usually without user interface.
Frame represents one window. These components are used for user-interface implementation.