Rich Client Platform
Encyclopedia
A rich client platform (RCP) is software consisting of the following components:
With a RCP, programmers can build their own applications on existing platforms. Instead of having to write a complete application from scratch, they can benefit from proven and tested features of the framework provided by the platform. Building on a platform facilitates faster application development
and integration
, while the cross-platform burden is taken on by the platform developers.
Their creators claim that programs built with RCP platforms are portable to many operating system
s while being as rich as client-server
applications which use so called fat client
s or traditional clients.
Open-source
examples are the Eclipse
, NetBeans
and Spring Framework RCPs for Java.
- A core (microkernel), lifecycle manager
- A standard bundling framework
- A portable widget toolkitWidget toolkitIn computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...
- File buffers, text handling, text editors
- A workbench (views, editors, perspectives, wizards)
- Data bindingData bindingData binding is a general technique that binds two data/information sources together and maintains synchronization of data. This is usually done with two data/information sources with different types as in XML data binding. However, in UI data binding, data and information objects of the same type...
- Update manager
With a RCP, programmers can build their own applications on existing platforms. Instead of having to write a complete application from scratch, they can benefit from proven and tested features of the framework provided by the platform. Building on a platform facilitates faster application development
Software development
Software development is the development of a software product...
and integration
System integration
In engineering, system integration is the bringing together of the component subsystems into one system and ensuring that the subsystems function together as a system...
, while the cross-platform burden is taken on by the platform developers.
Their creators claim that programs built with RCP platforms are portable to many operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s while being as rich as client-server
Client-server
The client–server model of computing is a distributed application that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both...
applications which use so called fat client
Fat client
A fat client is a computer in client–server architecture or networks that typically provides rich functionality independent of the central server...
s or traditional clients.
Open-source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
examples are the Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
, NetBeans
NetBeans
NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...
and Spring Framework RCPs for Java.
External links
- RCP wiki
- Projecto Colibri RCP
- NetBeans Platform
- Enterprise Eclipse RCP Article by Peter Friese und Stefan Reichert (in German)