Plug-in is a software component that adds a specific feature to an existing software application. When an application supports plug-ins, it enables customization. The common examples are the plug-ins used in web browsers to add new features such as search-engines, virus scanners, or the ability to utilize a new file type such as a new video format.
Applications support plug-ins for many reasons. Some of the main reasons include:
- to enable third-party developers to create abilities which extend an application
- to support easily adding new features
- to reduce the size of an application
- to separate source code from an application because of incompatible software licenses
ThoughtExecution Services offerings in Plug-In Application Development
- Java Plug-in Framework (JPF), uses mechanism adapted from Eclipse's plug-in mechanism from its pre-OSGi era
- OSGi, standardized dynamic component system for plug-in programming, used in Eclipse, Java EE application servers, Spring Framework, and embedded applications
- Rich Client Platform (RCP), platform for applications adapted from Eclipse, applications are written as plug-ins and may themselves have further plug-ins
- Netbeans Platform, most commonly known for the Netbeans IDE, which is an application built on the Netbeans Platform, which is a framework that allows making modules, plugins for other NB applications (usually a group of interacting modules) and complete applications like the netbeans IDE
- jin-plugin, minimal framework for Java, PHP