# Building a Rich Client Platform Application

While the Eclipse platform is designed to serve as an open tools platform, it is architected so that its components could be used to build just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively known as the Rich Client Platform.

Applications that don't require a common resource model can be built using a subset of the platform. These rich applications are still based on a dynamic plug-in model, and the UI is built using the same toolkits and extension points.

Eclipse RCP applications are defined to use dependency injection and a service orientated architecture. The Eclipse renderer framework allow to control the appearance of the default user interface and clients can use either the default renderer for SWT or custom renderers for other UI technologies. The Eclipse platform provides the E4Application as default entry point but clients are free to create their own application.

Rich client applications are free to use any API deemed necessary for their feature set, and can require any plug-ins above the bare minimum. The Map of platform plug-ins is a useful reference when determining what plug-ins should be required when using various platform API.