200303331 1 [________________________] Eclipse project briefing materials. Copyright (c) 2002, 2003 IBM Corporation and others. All rights reserved. This.

Slides:



Advertisements
Similar presentations
Extending Eclipse Kai-Uwe Mätzel IBM OTI Labs Zurich
Advertisements

TPF/Eclipse: A New TPF Application Test Tool for the Eclipse and WebSphere ® Environments Presenter: Thiru Thirupuvanam TPF Users Group May 2003 New Orleans,
ALAR E2 Architecture - Minh Vu1 E2 Plugin Architecture Project Minh Vu Mentor: Craig Thompson CSCE Department, University Of Arkansas.
Introduction to Eclipse plugin development for CSU 670 course project, Selector language (Xaspect) editor plugin implementation.
Developing an Eclipse Plug-in David Gallardo. Platform Runtime Workspace Help Team Workbench JFace SWT Eclipse Project Java Development Tools (JDT) Their.
Goals Give you a feeling of what Eclipse is.
On the Eclipse Project Mateusz Srebrny 16 February 2004 Warszawa Slides adapted from
Eclipse Architecture Dwight Deugo Nesa Matic
20-Jun-15 Eclipse. Most slides from: 2 About IDEs An IDE is an Integrated Development Environment.
Eclipse Introduction Dwight Deugo Nesa Matic
Eclipse Paolo Gasti. The Problem ■ There is the need for a new development environment ■ It has to help software designers and implementers to do their.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Eclipse Begin at the Beginning. Where to Find it:
Views Dwight Deugo Nesa Matic
1 Plug-in Development Environment (PDE) Guide. 2 Introduction to PDE l What is PDE: »a tool designed to help you develop platform plug-ins while working.
Enhancing Developer Productivity using Eclipse Presented by: Tom Sausner.
On Platform-Plugin Architecture Take Eclipse as an Example 魏恒峰.
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
1 eclipse the open platform for tool integration.
Getting started with Eclipse By Alexander Butyaev.
[________________________] Eclipse project briefing materials. Copyright (c) 2002 International Business Machines Corp. All rights reserved.
Eclipse Overview Introduction to Web Programming Kirkwood Continuing Education Fred McClurg © Copyright 2015, Fred McClurg, All Rights Reserved.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
ECLIPSE and UML Onur Demir
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
Everything I Always Wanted to Know about Eclipse Harry Koehnemann Rocket Gang Many slides in this presentation can be found at
Model Handling with EMF Eclipse ECESIS Project Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA),
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Workbench Overview Dwight Deugo Nesa Matic
Extending the Eclipse Framework and Rich Client Platform Jeff Myers Languages for Lunch 10/13/2004.
Ontology Engineering and Plugin Development with the NeOn Toolkit Plug-in Development for the NeOn Toolkit June 1st, 2008 Michael Erdmann, Peter Haase,
INF 123: Software Architectures, Distributed Systems, and Interoperability Discussion Session Week 1 - Spring 2008 Instructor: Prof. Richard N. Taylor.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
TOOLS FOR DESIGN AND DEVELOPMENT ENVIRONMENTS. Case study - ECLIPSE Lecture notes 2.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Copyright © IBM Corp., All rights reserved. From SWT to RCP: Experiences implementing RSSOwl 2.0 with RCP Benjamin Pasero.
CMSC 466 / 666 Yong Rao Feb. 11, 2004 Revised Mar. 15, 2004.
A (very brief) intro to Eclipse Boyana Norris June 4, 2009.
Eclipse. An IDE is an Integrated Development Environment Different IDEs meet different needs BlueJ, DrJava are designed as teaching tools Emphasis is.
Eclipse 3.1 IDE Overview.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
Eclipse 24-Apr-17.
Eclipse. An IDE is an Integrated Development Environment Different IDEs meet different needs BlueJ, DrJava are designed as teaching tools Emphasis is.
What is Eclipse? Campbell D McCausland Principal Engineer Tiger Development Team.
Eclipse Rich Client Platform Discover the Anatomy of an Application Based On Eclipse Wayne Beaton Evangelist, Eclipse Foundation.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
© 2002 IBM Corporation Transaction Processing Facility TPF Users Group Acapulco May 2004 © 2004 IBM Corporation Pete Nicholls IBM Toronto Lab TPF Toolkit.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
Eclipse 27-Apr-17.
Java IDE Dwight Deugo Nesa Matic
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Eclipse.
Goals Give you a feeling of what Eclipse is.
ATS Application Programming: Java Programming
A (very brief) intro to Eclipse
COSC-4840 Software Engineering
Eclipse 20-Sep-18.
Introduction to Eclipse
Architecture, Components, Configuration
DSDP Mobile Tools for Java 1
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
An Introduction to Eclipse
Presentation transcript:

[________________________] Eclipse project briefing materials. Copyright (c) 2002, 2003 IBM Corporation and others. All rights reserved. This content is made available to you by Eclipse.org under the terms and conditions of the Common Public License Version 1.0 ("CPL"), a copy of which is available at The most up-to-date briefing materials on the Eclipse project are found on the eclipse.org website at

[________________________] Revision history: Mar. 31, 2003 – Updated for 2.1; new board members Sept. 4, 2002 – Initial version by Jim des Rivières (OTI)

Eclipse Project

Eclipse Project Aims ■ Provide open platform for application development tools –Run on a wide range of operating systems –GUI and non-GUI ■ Language-neutral –Permit unrestricted content types –HTML, Java, C, JSP, EJB, XML, GIF, … ■ Facilitate seamless tool integration –At UI and deeper –Add new tools to existing installed products ■ Attract community of tool developers –Including independent software vendors (ISVs) –Capitalize on popularity of Java for writing tools

Platform Runtime Workspace Help Team Workbench JFace SWT Eclipse Project Java Development Tools (JDT) Their Tool Your Tool Another Tool Eclipse Overview Plug-in Development Environment (PDE) Eclipse Platform Debug

[________________________] Slides that provide non-technical background info on Eclipse.

Eclipse Origins ■ Eclipse created by OTI and IBM teams responsible for IDE products –IBM VisualAge/Smalltalk (Smalltalk IDE) –IBM VisualAge/Java (Java IDE) –IBM VisualAge/Micro Edition (Java IDE) ■ Initially staffed with 40 full-time developers ■ Geographically dispersed development teams –OTI Ottawa, OTI Minneapolis, OTI Zurich, IBM Toronto, OTI Raleigh, IBM RTP, IBM St. Nazaire (France) ■ Effort transitioned into open source project –IBM donated initial Eclipse code base Platform, JDT, PDEPlatform, JDT, PDE

Brief History of Eclipse 1999 April- Work begins on Eclipse inside OTI/IBM 2000 June - Eclipse Tech Preview ships 2001 March- opens June- Eclipse 0.9 ships October- Eclipse 1.0 ships November- IBM donates Eclipse source base - eclipse.org board announced - opens June- Eclipse 2.0 ships September- Eclipse ships November- Eclipse ships 2003 March- Eclipse 2.1 ships March- Eclipse 2.1 ships

[________________________] Slides that provide technical background info on Eclipse Platform’s plug-in architecture.

What is Eclipse? Java VM Standard Java2 Virtual Machine Platform Eclipse Platform Java development tools JDTPDE Plug-in development environment ■ Eclipse is a universal platform for integrating development tools ■ Open, extensible architecture based on plug-ins

Eclipse Plug-in Architecture ■ Plug-in - smallest unit of Eclipse function –Big example: HTML editor –Small example: Action to create zip files ■ Extension point - named entity for collecting “contributions” –Example: extension point for workbench preference UI ■ Extension - a contribution –Example: specific HTML editor preferences

Eclipse Plug-in Architecture ■ Each plug-in –Contributes to 1 or more extension points –Optionally declares new extension points –Depends on a set of other plug-ins –Contains Java code libraries and other files –May export Java-based APIs for downstream plug-ins –Lives in its own plug-in subdirectory ■ Details spelled out in the plug-in manifest –Manifest declares contributions –Code implements contributions and provides API –plugin.xml file in root of plug-in subdirectory

Plug-in Manifest <plugin id = “com.example.tool" name = “Example Plug-in Tool" class = "com.example.tool.ToolPlugin"> <page id = "com.example.tool.preferences" icon = "icons/knob.gif" title = “Tool Knobs" class = "com.example.tool.ToolPreferenceWizard“/> Declare contribution this plug-in makes Declare new extension point open to contributions from other plug-ins Location of plug-in’s code Other plug-ins needed Plug-in identification plugin.xml

Eclipse Plug-in Architecture ■ Plug-in A –Declares extension point P –Declares interface I to go with P ■ Plug-in B –Implements interface I with its own class C –Contributes class C to extension point P ■ Plug-in A instantiates C and calls its I methods plug-in A plug-in B class C interface I extension point P extension ■ Typical arrangement contributes creates, calls implements

Eclipse Platform Architecture ■ Eclipse Platform Runtime is micro-kernel –All functionality supplied by plug-ins ■ Eclipse Platform Runtime handles start up –Discovers plug-ins installed on disk –Matches up extensions with extension points –Builds global plug-in registry –Caches registry on disk for next time

Plug-in Activation ■ Each plug-in gets its own Java class loader –Delegates to required plug-ins –Restricts class visibility to exported APIs ■ Contributions processed without plug-in activation –Example: Menu constructed from manifest info for contributed items ■ Plug-ins are activated only as needed –Example: Plug-in activated only when user selects its menu item –Scalable for large base of installed plug-ins –Helps avoid long start up times

Plug-in Fragments ■ Plug-in fragments holds some of plug-in’s files –Separately installable ■ Each fragment has separate subdirectory –Separate manifest file ■ Logical plug-in = Base plug-in + fragments ■ Plug-in fragments used for –Isolation of OS dependencies –Internalization – fragments hold translations

Plug-in Install ■ Features group plug-ins into installable chunks –Feature manifest file ■ Plug-ins and features bear version identifiers –major. minor. service –Multiple versions may co-exist on disk ■ Features downloadable from web site –Using Eclipse Platform update manager –Obtain and install new plug-ins –Obtain and install updates to existing plug-ins

Plug-in Architecture - Summary ■ All functionality provided by plug-ins –Includes all aspects of Eclipse Platform itself ■ Communication via extension points –Contributing does not require plug-in activation ■ Packaged into separately installable features –Downloadable Eclipse has open, extensible architecture based on plug-ins

[________________________] Slides that provide technical background info on various Eclipse Platform components.

Workbench Component ■ Workbench is UI personality of Eclipse Platform ■ UI paradigm centered around –Editors –Views –Perspectives

Workbench Terminology Tool bar Perspective and Fast View bar Resource Navigator view Stacked views Properties view Tasks view Outline view Bookmarks view Menu bar Message area Editor Status area Text editor

Editors ■ Editors appear in workbench editor area ■ Contribute actions to workbench menu and tool bars ■ Open, edit, save, close lifecycle ■ Open editors are stacked ■ Extension point for contributing new types of editors ■ Example: JDT provides Java source file editor ■ Eclipse Platform includes simple text file editor ■ Windows only: embed any OLE document as editor ■ Extensive text editor API and framework

Views ■ Views provide information on some object ■ Views augment editors –Example: Outline view summarizes content ■ Views augment other views –Example: Properties view describes selection ■ Extension point for new types of views ■ Eclipse Platform includes many standard views –Resource Navigator, Outline, Properties, Tasks, Bookmarks, Search, … ■ View API and framework –Views can be implemented with JFace viewers

Perspectives ■ Perspectives are arrangements of views and editors ■ Different perspectives suited for different user tasks ■ Users can quickly switch between perspectives ■ Task orientation limits visible views, actions –Scales to large numbers of installed tools ■ Perspectives control –View visibility –View and editor layout –Action visibility ■ Extension point for new perspectives ■ Eclipse Platform includes standard perspectives –Resource, Debug, … ■ Perspective API

Other Workbench Features ■ Tools may also –Add global actions –Add actions to existing views and editors –Add views, action sets to existing perspectives ■ Eclipse Platform is accessible (Section 508) Section 508Section 508 ■ Accessibility mechanisms available to all plug-ins

Workbench Responsibilities ■ Eclipse Platform manages windows and perspectives ■ Eclipse Platform creates menu and tool bars –Labels and icons listed in plug-in manifest –Contributing plug-ins not activated ■ Eclipse Platform creates views and editors –Instantiated only as needed ■ Scalable to large numbers of installed tools