EGL, originally developed by IBM, is a programming technology designed to meet the challenges of modern, multi-platform application development by providing a common language and programming model across languages, frameworks, and runtime platforms. The language borrows concepts familiar to anyone using statically typed languages like Java, COBOL, C, etc. However, it borrows the concept of Stereotype from UML (Universal Modeling Language) that is not typically found in statically typed programming languages.

In a nutshell, EGL is a higher-level, universal application development language.

What makes EGL different?

EGL is not just another language (really). Our philosophy is that developing for a new platform should not force learning a new language.

  • Common language, syntax, and programming model across all parts of the application, regardless of where the code is deployed.
  • Leverages proven, existing platforms (like web browsers and Java VMs) and technologies (like Dojo, ExtJS, Java JPA) by compiling into efficient, lower-level code.
  • Complements (does not replace) existing technologies and existing infrastructure investments.
  • Proven technology that is used by hundreds of enterprise customers all over the world.
  • Extensible compiler and code generation framework that supports adaptation to the unique needs of specific developer communities and changing requirements.

Think of EGL as "modeling in code". See our original project proposal for additional background information.

What can you do with EGL?

The current set of Eclipse EGL tools are focused on simplifying the development of web solutions. With these tools you can:

  • Visually construct modern rich applications that run in all popular web browsers, utilizing Dojo and other standard HTML widgets
  • Integrate with existing JSON and XML-based web services
  • Create web services that perform business logic and interface with relational databases
  • Test and debug end-to-end (browser to server) across the entire solution without needing to configure or deploy to a server
  • Deploy to a local Java application server (like Apache Tomcat) and export as a standard Java web archive (WAR)

Features and capabilities

Below are just a few of the many great features of the EGL tools.

Source Editing

Fully integrated EGL source editor provides syntax highlighting, content assist, code formatting, quick fix, import organization, folding, and more to make writing code fast and simple.

Visual Editing

A true WYSIWYG visual editor for visual editing and previewing EGL web UIs. The Design tab contains an embedded browser that supports the visual construction of UIs by dragging and dropping widgets from the Palette, moving widgets, deleting widgets, and more. Because the Design tab *is* an actual browser, what you see in the Design is what you get. The Preview tab provides a live, running version of the UI.

Rich Widget Library

Included out of the box is a variety of UI widgets, including standard HTML widgets. And with the popular, open source Dojo toolkit built in, you have the ability to create rich, compelling UIs.

Debugging

Using the integrated EGL debug tools, developers can fully debug applications (end to end) by setting breakpoints in EGL code (regardless of whether that code is targeted for Java, JavaScript, or both) and running the application from the IDE. Developers can step through the code, view variable values, and more.

IDE Test Server

With an integrated IDE Test Server (based on Jetty), EGL applications can be fully tested and debugged from within the IDE, all without configuring or deploying to a server.

Database Access

EGL supports accessing SQL relational databases, such as MySQL and Derby, from EGL-generated Java services and libraries. Tools are provided for creating EGL records from a database table and content assist supports makes it easy to code database access statements.

Web Services

With support for consuming services that return XML or JSON, developers can create new applications and services that utilize existing services.

Batch Programs

EGL supports creation of batch-style Java programs that can be run from command line, offering the ability to perform post-processing on a database, report generation, and more.

Release Status

Incubation

See what's new and noteworthy.
Find out more about this project.

Latest Discussions
Project Committers
Get the Code!

Browse the CVS repository to view the source for the EGL compiler, generators, and tools. You can also import the source into your Eclipse workspace.

Stay Connected

This tutorial describes how to develop and deploy a simple EGL project with the EGL Development Tools. The example project demonstrates how to create modern web UIs and services with EGL. You can also see how EGL code is debugged and deployed.

Introduction

This simple Hello World application demonstrates some of the basic, but also very powerful, features of the EGL technology and tools. In this tutorial, you will learn how to install and launch the EGL Web Developer Tools, create a new example project, open and preview the EGL Rich UI in the visual editor, run the application (which calls a service), set breakpoints in the application to aid debugging, and deploy the application to a standard Eclipse Dynamic Web project, which can then be deployed to a server or packaged as .war and deployed to any JEE application server.

The application simply prompts the user for their name and then displays it in a popup:

For information about system requirements and related software, see the Supported platforms page. You will need a Java runtime environment (JRE) to use Eclipse (Java SE 6 or greater is recommended). Java downloads

There are different levels of downloadable builds available:

  • Releases (fully tested and stable)
  • Milestones (tested and generally stable)
  • Nightly (not tested, meant for committers and extenders)

Releases

Releases are fully tested and expected to be stable. You may run into occassional problems, however. If you do, visit the support page to learn how to report bugs and enhancements.

All-in-one

This package includes Eclipse and the EGL tools. Use this approach if you do not already have an Eclipse IDE installed or you want to evaluate EGL in its own, self-contained sandbox.

To install the Eclipse IDE for EGL Web Developers:

  1. Download the appropriate all-in-one package for your environment:
  2. Unzip to a directory on your machine, for example: c:\edt (on Windows) or ~/edt (on Linux)
  3. Start the IDE by launching eclipse.exe (on Windows) or eclipse (on Linux):
  4. The EGL perspective will appear once the workbench starts.

Update site

Use this approach if you already have an Eclipse 3.7 or Eclipse 3.6 IDE with Java EE tools installed. If not, download and install the Eclipse IDE for Java EE Developers package Version 3.7 (Indigo) or Version 3.6 (Helios) from Eclipse.org. Note: It is not recommended to install into IBM Rational Business Developer.

To install the EGL Web Developer Tools:

  1. Start your Eclipse IDE
  2. From the Help menu, select Install New Software.
  3. In the Work With field, enter the following update site URL and press enter:
    http://download.eclipse.org/edt/updates/1.0
  4. Check the box next to the EGL Web Developer Tools feature under the EDT 0.8.2 feature group and click Next.

  5. When prompted, read and accept the license agreement, and click Finish.
  6. If prompted with the following security warning, click OK.

  7. When prompted to restart the workbench, click Restart Now.

Updates

You can periodically check for an updated version of the tool by clicking Help > Check for Updates:

Milestone Builds

Milestone builds are tested and stable, but are not necessarily release quality. To install, see the update site installation instructions above.

Milestone build install and update site URL:

http://download.eclipse.org/edt/milestones/1.0/

Nightly Development Builds

Nightly builds are generally meant for contributors or extenders of EDT. These builds are usually untested and may be unstable. More thoroughly tested builds will be produced for each milestone and at the end of a release. To install, see the update site installation instructions above.

Nightly build install and update site URL:

http://download.eclipse.org/edt/updates/nightly

Archived builds

If you are looking for an older version of EDT, you can find it on the archive page. However, we recommend you use the latest release since it has the most enhancements and bug fixes.

Notice: All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified.

Get Coding

Getting Started
Step through an EGL project that demonstrates calling a service from a web UI.

Tutorials
Step-by-step instructions for learning key concepts and building applications.

Code Snippets
Speed up your development and ramp up learning with useful code snippets.

Samples

These sample projects were written for use with EDT 0.8.2. Use File > Import > Existing Project into Workspace to add a sample project to your workspace.

Important: the EGL RUI Technical Sample, EGL Dojo Sample, and Mortgage Calculator require the widget projects (org.eclipse.edt.rui.dojo_0.8.2 and org.eclipse.edt.rui.widgets_0.8.2). If you do not already have them in your workspace, create a new EGL project (File > New > EGL > EGL Project) and pick one of the Web 2.0 client application templates. The EGL Dojo Mobile Sample requires the projects for mobile widgets (org.eclipse.edt.rui.dojo.mobile.widgets_0.8.2 and org.eclipse.edt.rui.widgets_0.8.2). If you do not already have them in your workspace, create a new EGL project and pick one of the Mobile Web client application templates.

EGL RUI Technical Sample

This sample shows common EGL Rich UI functionality such as calling a service, and application widgets such as InfoBus and History. Download

EGL Dojo Sample

This sample shows how to use each EGL Dojo widget. Download

Mortgage Calculator

This sample application demonstrates calling an EGL service, InfoBus, MVC, and other advanced widgets. Also demonstrated is a Google Map widget and a call to a Yahoo! service. Download

EGL Dojo Mobile Sample

This sample shows how to use the EGL Dojo Mobile widgets. Download

Presentations

And will you succeed? Yes! You will, indeed! (98 and 3/4 percent guaranteed.) -- Dr. Seuss
FAQs

See the answers to the most frequently asked questions about EGL and the EGL Development Tools project.

Got a question?

Blog

As an open source project, support for EDT is provided by the community on a volunteer basis. Use the following mechanisms to reach out to the community.

Forum

Ask questions on the EDT Forum. Help answering questions from other EDT users is welcomed too!

Bugs and Enhancements

Like other Eclipse projects, EDT uses Bugzilla to track bugs and enhancements.

Common Bugzilla queries for EDT: