25 Best and Brightest Eclipse Development Projects
25 Best and Brightest Eclipse Development Projects
by Darryl K. Taft
Eclipse Modeling Framework (EMF)
Eclipse is huge in the modeling community. EMF is the core framework and code generation facility that allows developers to create applications based on a structured data model.
Xtext is a relatively new project but is quickly become very popular for creating domain specific languages. With Xtext you can easily create your own programming languages and domain-specific languages (DSLs). The framework supports the development of language infrastructures including compilers and interpreters as well as full blown Eclipse-
The CDT Project provides a fully functional C and C++ Integrated Development Environment based on the Eclipse platform. CDT is now the defacto C/C++ IDE in the non-Microsoft world. Most embedded vendors and Linux distros use CDT as their C/C++ IDE.
PDT Eclipse PHP Development Tools
The PDT project provides a PHP Development Tools framework for the Eclipse platform. This project encompasses all development components necessary to develop PHP and facilitate extensibility. It leverages the existing Web Tools Platform (WTP) and Dynamic Languages Toolkit (DLTK) in providing developers with PHP capabilities. PDT has quickly become the one the more popular IDE in the Eclipse community.
Mylyn is the task and application lifecycle management (ALM) framework for Eclipse. Over the last three years Mylyn has become the hub or integration point for many of the Agile ALM vendors. Mylyn has over 45 different connectors that make it possible to link different ALM tools to its unique task perspective.
BIRT—The Business Intelligence and Reporting Tools
BIRT is an open-source, Eclipse-based reporting system that integrates with your Java/J2EE application to produce compelling reports. BIRT provides core reporting features such as report layout, data access and scripting. BIRT has become a popular reporting solution for Java developers.
Web Tools/Java EE Tools/Eclipse Java Development Tools (JDT)
Eclipse continues to be the standard for Java developers. If you are creating Java applications chances are you are using some combination of the JDT and Web Tools or Java EE Tools project.
Equinox is an implementation of the Open Services Gateway initiative (OSGi) R4 core framework specification, a set of bundles that implement various optional OSGi services and other infrastructure for running OSGi-based systems. Equinox is the core OSGi runtime framework that is at the heart of the Eclipse platform.
Jetty is an open-source project providing an HTTP server, HTTP client and javax.servlet container. Jetty is a very popular Web server and servlet container. It is often found embedded in applications such as Yahoo Hadoop Cluster, Google AppEngine and Zimbra. Jetty provides a Web server and javax.servlet container, plus support for Web Sockets, OSGi, JMX, JNDI, JASPI, AJP and many other integrations
Eclipse Rich Client Platform (RCP)
Eclipse RCP is a platform for building and deploying rich client applications. It includes Equinox, a component framework based on the OSGi standard, the ability to deploy native GUI applications to a variety of desktop operating systems, such as Windows, Linux and Mac OSX and an integrated update mechanism for deploying desktop applications from a central server. RCP is broadly used platform for enterprise applications.
Eclipse Rich Ajax Platform (RAP)
Eclipse RAP is bringing RCP to the Web. It has gained momentum and is being picked up by more projects at Eclipse (EMF, Riena, Cosmos, e4). The Rich Ajax Platform lets you build rich, Ajax-enabled Web applications by using the Eclipse development model, plug-ins with the well known Eclipse workbench extension points and a widget toolkit with SWT API. Existing RCP applications can be run as Web applications with only minor changes.
Eclipse Communication Framework (ECF)
ECF is a framework for supporting the development of distributed Eclipse-based tools and applications. It can be used to create other plug-ins, tools or full Eclipse RCP applications that require asynchronous point-to-point or publish-and-subscribe messaging.
Eclipse Graphical Editing Framework (GEF)
The Graphical Editing Framework (GEF) allows developers to take an existing application model and quickly create a rich graphical editor. GEF consists of two plug-ins. The org.eclipse.draw2d plug-in provides a layout and rendering toolkit for displaying graphics. The developer can then take advantage of the many common operations provided in GEF and/or extend them for the specific domain. GEF employs an MVC (model-view-controller) architecture which enables simple changes to be applied to the model from the view.
Eclipse Plug-in Development Environment (PDE)
The Plug-in Development Environment (PDE) provides tools to create, develop, test, debug, build and deploy Eclipse plug-ins, fragments, features, update sites and RCP products. PDE also provides comprehensive OSGi tooling, which makes it an ideal environment for component programming, not just Eclipse plug-in development.
eGit Version Control
The rest of this list highlights up and coming projects that have become popular with developers. One of them is eGit, which is an Eclipse Team provider for the Git version control system. Git is a distributed SCM, which means every developer has a full copy of all history of every revision of the code, making queries against the history very fast and versatile. The eGit project is implementing Eclipse tooling on top of the JGit Java implementation of Git. Git is becoming a very popular source code management system. eGit is a new Eclipse project to provide tight integration between Eclipse and Git.
The e4 Eclipse Incubator
The e4 project is the incubator for Eclipse 4.0, to be released 2010. Building on current Eclipse and OSGi technology as a solid foundation, its major goals include: Making it easier to write plug-ins and allowing better control over the look of Eclipse based products. Essentially e4 is the codename for the next generation of the Eclipse platform. It will make it easier to build and assemble Eclipse based applications.
The Virgo project was launched in 2010 as the "Dynamic Enterprise Application Platform." The goal of the project is to provide a runtime platform for the development of server-side enterprise applications built on top of Equinox. Virgo is a new Eclipse project based on the SpringSource dm Server. It is a lightweight application server based on Equinox and the OSGi component model. The Virgo Web Server from EclipseRT is a completely module-based Java application server that is designed to run enterprise Java applications and Spring-powered applications with a high degree of flexibility and reliability.
The Enterprise Modules Project—Gemini—is all about modular implementations of Java EE technology. It provides the ability for users to consume individual modules as needed, without requiring unnecessary additional runtime pieces. Gemini implements many of the OSGi Enterprise Specifications.
Memory Analyzer (MAT)
The Eclipse Memory Analyzer is a fast and feature-rich Java heap analyzer that helps developers find memory leaks and reduce memory consumption. Memory Analyzer is becoming a very popular tool with Java developers.
Connected Data Objects (CDO)
CDO is both a technology for distributed shared EMF models and a fast server-based object-relational (O/R) mapping solution. With CDO you can easily enhance your existing models in such a way that saving a resource transparently commits the applied changes to a relational database. CDO is a model repository for EMF models. It provides the scalability and transactional capabilities required to use EMF for large scale applications. CDO has a 3-tier architecture supporting EMF-based client applications, featuring a central model repository server and leveraging different types of pluggable data storage back-ends like relational databases, object databases and file systems.
Eclipse Device Software Development Platform (DSDP) Project
The Eclipse Device Software Development Platform (DSDP) Project is an open source collaborative software development project dedicated to providing an extensible, standards-based platform to address a broad range of needs in the device software development space using the Eclipse platform. DSDP is a top-level container project that includes several independent technology sub-projects focused on the embedded and mobile space. Sub-projects under the DSDP include Blinki, Device Debugging, Mobile Tools for Java, Native Application Builder, Real-Time Software Components (RTSC), Sequoyah, Target Management, and Tools for Mobile Linux.
Eclipse Parallel Tools Platform (PTP)
The aim of the Parallel Tools Platform project is to produce an open-source industry-strength platform that provides a highly integrated environment specifically designed for parallel application development. The project will provide a standard, portable parallel IDE that supports a wide range of parallel architectures and runtime systems; a scalable parallel debugger; support for the integration of a wide range of parallel tools; and an environment that simplifies the end-user interaction with parallel systems.
Higgins is an open-source identity framework. Higgins is dedicated to giving individuals more control over their personal identity, profile and social network data. The Higgins project team members say they: "believe that people should have more control over their own information. So we're creating an assistant to help you manage your online identity. A convenient place to manage your credentials (passwords, OpenIDs, and InfoCards), and a place to control how your personal data is shared with friends and organizations you trust."