Plug-In Application Development

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