What is Eclipse
Eclipse is a platform that is used to build and integrate web and desktop applications. During design, the platform does not provide a large number of functions to end users. The Platform advocates integrated and rapid development based on the plug-in model.
Eclipse provides a common user interface model processing tool. It is designed to run on multiple operating systems and provide close integration with each underlying operating system.
The core of Eclipse is an architecture that dynamically discovers, loads, and runs plug-ins. This platform processes the process of searching and running the code on the right. The Platform interface provides a standard user navigation model. Plug-ins focus on a small number of tasks. What types of tasks are there? Define, test, animation, release, compile, debug, generate charts ...... Everything you want.
Open Architecture
The Eclipse platform defines an open architecture where each plug-in development team can focus on the areas they are good. For example, let the warehouse experts build backend, And the usability experts build client tools. If the platform is well designed, you can add important new features and Integration Layers without affecting the use of other tools.
From the end user's point of view, the Eclipse platform uses a universal workbench model that integrates tools. The tool you developed can be inserted into the workbench using a well-defined hook calledExtension point.
The platform itself is built on the plug-in level. Each plug-in defines the extension points for low-level plug-ins, and further defines its own extension points for further customization. This extension model allows plug-in developers to add different functions to the basic tool platform. Artifact produced by each tool, such as files and other data, is coordinated through a general platform resource model.
(Note: The extension point is definition, and the extension is implementation, similar to interfaces and implementation classes .)
The platform provides users with a general method of using tools and comprehensive management of the resources they create using plug-ins.
Plug-in developers can also benefit from this architecture. The Platform manages the complexity brought about by different runtime environments, such as different operating systems or Working Group servers. Plug-in developers can focus on their specific tasks without worrying about these integration issues.
Platform Structure
The Eclipse platform is composed of subsystems and implemented by one or more plug-ins. These subsystems are built on a small runtime engine. Is a simple description.
The plugin that makes up this subsystem defines multiple extension points to add actions to the platform. The following table describes the main runtime components of the platform. These components are implemented by one or more plug-ins.
Platform runtime) |
Define extension points and plug-in models. Dynamically discover plug-ins and maintain plug-ins and their extension points in the platform registry. When the platform needs to respond to user operations, the plug-in is started. Use the OSGI framework for implementation during runtime. |
Resource Management (workspace )) |
Define APIs for resource creation and management. These resources include projects, files, and folders, which are generated by tools and saved in the file system. |
Workbench UI) |
The user cockpit of the navigation platform is implemented. It defines extended points for the added UI components, such as views or menu actions ). The attachment Toolkit (JFace and SWT) is provided for creating the user interface ). The UI service is structured, so a subset of the UI plug-in can be used to create rich client applications, independent of resource management and workspace model. The IDE-centered plug-in defines additional functions for navigation and resource operations. |
Help system) |
Like browsing books, defining extension points for plug-ins can provide help or other documents. |
Team support) |
A team programming model is defined for managing and versioning resources. |
Debug support) |
A language-independent debugging model and UI class are defined to build debuggers and starters. |
Other tools (Other utilities) |
Other tool plug-ins that provide functionality, such as searching and comparing resources, using XML configuration files for construction, and dynamically upgrading the platform from the server. |
Outside the box
After leaving the web, the basic platform is just an IDE and nothing special.