Eclipse plug-in Function Research

Source: Internet
Author: User
Tags new set

Eclipse is widely known throughout the Java developer community for its industry-leading Java development tools (jdt. However, eclipse is built to promote the use of plug-ins, and it has achieved remarkable success in this regard. Explore some capabilities that have been built into the Eclipse plug-in, such as programming in other languages such as Ruby, or building interactive multimedia in environments such as openlaszlo.

Introduction

More and more java developers have begun to appreciate the Productivity and Quality benefits provided by eclipse's jdt. Eclipse provides great support for writing Java code. Its Java Editor provides many functions such as syntax highlighting, formatting, folding, content assisting, and code templates. Most of us cannot imagine how to leave them. Its growing set of available refactoring and code generation functions allows you to operate code at a higher level and automate common code-intensive and error-prone tasks. In addition, after the code is developed and jdt is used to write and execute the unit test for the code, you can use eclipse's first-class Java debugger to debug any problems encountered during runtime.

In addition to jdt, the eclipse SDK-the most popular eclipse.org download-also contains plug-in Development Environment (PVDF ). With specific functions, the Java SDK extends jdt to build the Eclipse plug-in-the basic construction block of eclipse-based applications. In fact, using tools provided by ECLIPSE itself can go beyond Java development, expand existing eclipse applications, or even create new applications.

Summary of all plug-ins

If you have used eclipse before, you may encounter the term "plug-in ". In terms of architecture, eclipse is composed of a small runtime layer, which contains many functional modules or the so-called "plug-ins" in eclipse terminology ". Plug-ins are components that provide all functions in eclipse applications. They work together through their APIs to deliver the final results. In eclipse, even the most basic functions, such as finding and starting installed plug-ins, are encapsulated in the plug-ins.

To expand existing eclipse functions or build on them, the plug-in contributes specific extensions to the extension points exposed by other plug-ins. Generally, a plug-in focuses on the responsibilities of a specific region and assigns other responsibilities to other plug-ins in one or more extension points. For example, a plug-in allows you to visually compare the content of two files in parallel, but it does not care about how to read these files or even how to interpret the structure of these files; this is the work of other plug-ins. When comparing two files, the plug-in first checks whether another plug-in can interpret the structure of these files. If one is found, it will ask the plug-in for information about the file structure and use the information during the comparison.

As you can see, the modular architecture provides eclipse with great flexibility and a platform that can support a large number of applications unexpected by the original designer.

Install Eclipse plug-in

When searching for new plug-ins online, you may find that they exist in the form of downloadable files-Zip or jar files. The publisher of the plug-in should provide installation instructions. Generally, independent plug-ins published in jar files can be directly stored in the plug-in directory of eclipse installation (eclipse directory. In some cases, multiple plug-ins may be packaged together, and archive files may put them in a directory of plug-ins. In this case, you must extract the archive file to your eclipse directory. After installing the new plug-in, you must restart the Workbench to make the change take effect.

Note: When you restart the eclipse workbench (eclipse-clean), make sure to add-clean to the command line. This ensures that your Eclipse plug-in configuration is up-to-date.

Multiple plug-ins can also be released as a feature ). Eclipse update manager is a part of the workbench. It uses the feature concept as a grouping plug-in for ease of installation and configuration. In this case, the only difference you will notice is that the released file contains feature directories other than the plug-in directory.

Update manager is a powerful tool for managing eclipse configurations and keeping them up-to-date. For more information about how to use update manager, see workbench User Guide> tasks> updating features with the update manager in eclipse help.

Universal ide

At the beginning of the release, eclipse was hailed as a 10 thousand-plus tool integration platform with a set of Java development tools with rich functions. Its wish is that the development tool industry leader can use eclipse as the underlying platform of the best lineage tool.

In the end, eclipse has fulfilled its commitment. The number of available Eclipse IDE plug-ins and even the entire development kit is growing. The eclipse foundation independently supervises the development of many projects that extend the original Eclipse IDE with other programming languages and platforms. More and more companies are joining the eclipse Foundation, and more new projects are being created and contributed.

Enterprise Java and Web Application Development

Although Java programming is usually required to develop J2EE applications, other technologies are also required. Therefore, building enterprise-level software requires a new set of tools.

Eclipse Foundation manages web tools project (WTP) by itself, which attempts to provide a tool and tool framework for developing J2EE Web applications. Although many eclipse-based J2EE development kits have not been available in the commercial market for a long time, WTP is still a newcomer. It is actually a combination of the following three sub-projects: Web standard tools (WST), J2EE standard tools (JST), and Java Server faces (JSF) tools.

WST provides a wide range of functional editors for many web standards, including HTML, XML, CSS, JavaScript, SVG, XML schema, XSLT, SOAP, WSDL, and SQL. It also supports deploying and monitoring Web artifacts on a series of HTTP servers.

JST extends this feature set and supports the development of multi-layer J2EE applications with complete functions. With JST, you can create dynamic Web applications using JSP and Servlet, as well as EJB components and Web services. You can also edit deployment descriptors for all components and test and run your applications directly on the workbench on many supported J2EE application servers.

JSF tools is designed to add support for developing JSF-based Web applications. It is a new sub-project with only one release milestone, but it is planned to be included in the WTP v1.5 release.

Many commercial software development kits can be used to support the creation of J2EE applications. IBM? Rational? Application Developer for WebSphere? It covers several stages of the enterprise software development lifecycle, including the design, development, testing, deployment and configuration management of J2EE applications.

To support the creation of dynamic web applications, Bea's workshop studio uses its patented appxray technology to track and verify the application status. It also includes Hibernate-to-EJB3 ORM ing workbench and support for Spring framework.

Developed by genuitec, myeclipse IDE is a low-cost standby option for large development kits. It provides a complete set of J2EE development tools for open source technology (such as spring, hibernate, tapestry, and struts.

Desktop Application Development

The revival of Java on the desktop is largely attributed to eclipse. Before becoming an exclusive Java Desktop platform, eclipse seems to have promoted improvements to the Java platform itself and is committed to reevaluating Java as a visual platform for desktop applications.

Although you can (in fact the first choice of many people) directly create interfaces in Java, using the right visual UI development tools can achieve high productivity gains. Eclipse space in a period of time (at least not as an open-source project) the fact that this tool does not exist is seen by many as an obstacle to adopting eclipse as a rich client application platform in a larger proportion.

The visual editor project is created to provide a framework for the GUI builder, but it also includes a fully functional SWT and swing UI builder. Visual editor allows programmers to quickly and effectively create SWT-and swing-based user interfaces using popular drag-and-drop technologies. Although this method frees manual programming from UI development, programmers do not have to sacrifice control over the result code. Without relying on some external UI descriptor files, visual editor uses Java code as its UI definition format. That is to say, it parses the existing Java User Interface to create code, and modifies or generates new code based on the developer's visual editing action.

Many commercial products aim to simplify UI development. Instantiations windowbuilder is a pioneer in this field. In addition to the basic functions provided by visual editor, visual editor also supports advanced functions, such as Eclipse forms APIs. Matisse4eclipse is part of myeclipse ide. It actually introduces the project Matisse swing UI builder of Sun Microsystems to the eclipse platform.

Other platforms and programming languages

Loyal to its mission as a universal tool integration platform, eclipse supports software development using non-Java programming languages. Eclipse Foundation manages its own C/C ++ Development Tools Project (CDT ), the objective is to provide C/C ++ developers with an environment with no less functionality than the environment used by Java developers. Currently, CDT provides a C/C ++ source code editor, it has syntax highlighting, content assistance, Code Completion, GDB-based Editor, C/C ++ application launcher, search engine, makefile builder, and many other functions.

Other programming language projects managed by eclipse.org include legacy languages, such as COBOL and FORTRAN, but also modern languages and programming technologies, for example, aspectj (which introduces Aspect-oriented programming into Java), Web Services Business Process Execution Language (WS-BPEL) laszlo IDE (Laszlo is an open source platform for developing and delivering rich Internet applications) and lepido (APACHE cocoon Web Application Framework tool ). Extensive initiatives for creating the best lineage tool for developing Ajax applications (rich Ajax platform) are also being proposed, the latest announcement of the newly approved eclipse PHP ide project means that full support for popular PHP scripting languages is also under planning.

Support for other languages can be obtained from third-party providers. Omondo UML provides a Unified Modeling Language (UML) modeling tool set, which is well integrated with jdt. However, because UML is independent of the programming language, it can be used in projects that do not necessarily include Java technology. The pydev project is an open source development tool set for the python programming language. Xored provides commercial support for python programming in its trustudio Professional (its trustudio foundation is registered under EPL. Another open source code project, Ruby development tools (RDT), provides a complete set of tools for Ruby programming. Finally, you can design your own programming language or domain-specific language with the help of anlr studio. anlr studio allows you to create context-free syntax definitions based on the anlr framework. Anlr studio is a commercial product developed by placid systems.

Core tools and technologies

An important part of the eclipse community is the software that is used as the basis or supplement for other products or development tools. Although you cannot download and use these plug-ins as end-user tools, they allow others to create high-quality software based on general standards or to add functionality to existing products.

In this category, the eclipse Foundation hosts several projects. Eclipse modeling framework (EMF) is a software modeling framework that supports automatic code generation. It is used in many other projects that benefit from model-driven software development. Although EMF only uses a subset of the UML tool, the UML2 project extends it to provide support for full UML2 standards.

Graphical Editor framework (GEF) is a framework used to create a rich graphic editor for any object model. This framework is also used in many other projects that provide visual editing functions, such as UML diagrams, diagrams, and workflow editors. Graphical Modeling Framework (GMF) extends GEF and EMF to add visual editing capabilities to any EMF model.

The data tools platform (DTP) project is designed to create a general set of tools that use various data sources. It provides tools for managing database connections and creating and executing SQL scripts.

Eclipse test and Performance Tools platform (tptp) include four sub-projects: General tptp platform, monitoring tools, tracing and profiling tools for application monitoring and logging, and the last testing tool. These tools allow monitoring, profiling, and testing Java applications in various execution environments.

Business Intelligence and reporting tools (Birt) add business reporting capabilities to existing applications. Birt supports many media, including HTML and PDF.

Device software development platform (DSDP) is designed to provide a set of tools for developing software for embedded devices. The related project of this module tries to extend rich client platform (RCP) to embedded devices.

The mission of SOA tools platform (STP) is to build a framework and mimic scalable tools to support software design, configuration, assembly, deployment, and monitoring, and management of software designed for SOA. It consists of several sub-projects, such as core frameworks, SOA system, service creation, bpel2java, and BMP.

Many sub-projects are hosted under the umbrella of the eclipse technology project, which serves as an incubator for interesting ideas and may benefit other new or existing projects. Some projects that have been mentioned elsewhere include eclipse Communication Framework (ECF), which provides general APIs and component sets for building real-time communication and collaboration applications; Higgins Trust framework, A Scalable framework for visual integration of identities, profiles, and relational data in various group contexts; and voice Tools Project, which extends WTP to support the creation of speech recognition applications.

Eclipse as RCP

With the increase in eclipse power, many companies and developers have discovered that eclipse is not only a great platform for integrated tools, but also can be used for client applications with rich functions of other types, such as business and collaboration. Therefore, since version 3.0, eclipse has already crossed the tool and is now officially supported as a rich client platform (RCP ).

RCP applications share all the flexibility and scalability of tool-oriented counterparts because these counterparts are also composed of plug-ins. However, the general RCP plug-in set is much smaller, and one plug-in cannot put another plug-in into the RCP application unless the application explicitly supports it.

IBM Workplace Client technology is a commercial example of a platform based on all eclipse RCP. In terms of architecture, it is a client collaboration tool, and Eclipse IDE is a development tool. IBM Workplace is a product family that includes information management and team collaboration using the centrally managed rich client technology. It provides instant messages, Web meetings, shared calendar plans, and so on.

Two Popular examples of open-source applications based on Eclipse RCP are Azureus and rssowl. Azureus is a powerful BitTorrent client that allows you to download large files that use the BitTorrent technology distribution. It supports its own growing plug-in set. Rssowl is a feature-rich Integrated news reader and aggregator. It allows you to search, subscribe, and read news and blogs in many popular Union formats (such as RSS, RDF, and atom.

Eclipse RCP has become popular in academic fields and research applications. For example, NASA's Jet Propulsion Laboratory (JPL) selects eclipse RCP as the basis for its Maestro Project, which is a tool set for managing NASA's advanced operations on Mars registration ation rovers. The software is used to plan the surface activity of an aircraft, such as where and how many photos are taken.

There are also many other commercial and open source applications based on Eclipse RCP. They span countless fields, including bioclipse and sequence medical software mathematical and Physical Modeling (brainbox, Gumtree, kalypso), and wiredreach), business and finance (eclipse trader, bsi crm, eclarus, logic mindguide), and so on.

Conclusion

Because of its plug-in-based architecture, eclipse has become a universal platform for integrated development tools and many other types of applications. As an IDE, eclipse can be used not only for compiling Java code, but also for development in other programming languages. As rich client platform, it can even be used to execute a wide range of non-programming tasks. The number of commercial and open-source applications that use eclipse technology for various purposes is growing.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.