90 likes | 202 Vues
Understand the fundamentals of platform and plugin architecture in computing. Learn how platforms enable software to run and how plugins extend application capabilities. Explore examples like Boost Extension and Qt Plug-Ins, and discover the typical structure and advantages of using this architecture.
E N D
Platform-Plugin Archtecture Tao Yongjing seg.nju.edu.cn
Platform and Plugin • PlatformIn computing, a platform describes some sort of hardware architecture or software framework (including application frameworks), that allows software to run. Typical platforms include a computer's architecture, operating system, programming languages and related runtime libraries or graphical user interface. • Plugin • In computing, a plug-in (also called plugin, addin, add-in, addon, add-on, snap-in or snapin) consists of a computer program that interacts with a host application (a web browser or an email client, for example) to provide a certain, usually very specific, function "on demand". Add-on is often considered the general term comprising plug-ins, extensions, and themes as subcategories.
Purpose • To enable third-party developers to create capabilities to extend an application • To support features yet unforeseen • To reduce the size of an application • To separate source code from an application because of incompatible software licenses
Example • Boost Extension, Boost C++ plug-in framework, available from boost sandbox. • Qt Plug-Ins, part of Nokia's Qt Framework. • Java Plug-in Framework(JPF), a plug-in mechanism adapted from Eclipse's plug-in mechanism from its pre-OSGi era. • OSGi, a standardized dynamic component system suited for plug-in programming, used in Eclipse, many commercial J2EE 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
Eclipse Extension Points • actionSet • editor • popUpMenu • views • perspectives • propertyPages
Advantage & Disadvantage • Advantage • Extend Functions • Reusable • Responsibilities Clearly • Efficiently • Secondary Development • Disadvantage • Difficult in Developing Interface • Size of Basic Service