Goals Give you a feeling of what Eclipse is.

Slides:



Advertisements
Similar presentations
Extending Eclipse CDT for Remote Target Debugging Thomas Fletcher Director, Automotive Engineering Services QNX Software Systems.
Advertisements

Where did I go ?. Where did I work ? What did I ANSTO ? 1.Choose a device bus 2.Choose a programming language 3.Propose and develop an architecture.
Extending Eclipse Kai-Uwe Mätzel IBM OTI Labs Zurich
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.
Visual Designer for JasperReports
Goals Give you a feeling of what Eclipse is.
Eclipse Architecture Dwight Deugo Nesa Matic
Eclipse Introduction Dwight Deugo Nesa Matic
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
1 Eclipse Platform Plug-in developper Guide PDG HowTos.
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.
1 Standard Widget Toolkit. 2 SWT l a widget toolkit for Java developers l provides a portable API and tight integration with the underlying native OS.
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.
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.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
Definition of the SDK for FIspace Augusto Morales & Hector Bedón UPM.
Ontology Engineering and Plugin Development with the NeOn Toolkit NeOn Toolkit Overview June 1st, 2008 Michael Erdmann, Peter Haase, Holger Lewen, Rudi.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
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,
TOOLS FOR DESIGN AND DEVELOPMENT ENVIRONMENTS. Case study - ECLIPSE Lecture notes 4.
TOOLS FOR DESIGN AND DEVELOPMENT ENVIRONMENTS. Case study - ECLIPSE Lecture notes 1.
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.
[________________________] Eclipse project briefing materials. Copyright (c) 2002, 2003 IBM Corporation and others. All rights reserved. This.
CMSC 466 / 666 Yong Rao Feb. 11, 2004 Revised Mar. 15, 2004.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
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.
ABC of Platform Workspace | Copyright © IBM Corp., All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder.
ABC of Platform Workspace | Copyright © IBM Corp., ABC of Platform Workspace Szymon Brandys Tomasz Zarna IBM Krakow Software Lab.
Eclipse 24-Apr-17.
NCBI Genome Workbench Chuong Huynh NIH/NLM/NCBI Sao Paulo, Brasil July 15, 2004 Slides from Michael Dicuccio’s Genome Workbench.
© 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.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
© 2002 IBM Corporation Transaction Processing Facility TPF Users Group Acapulco May 2004 © 2004 IBM Corporation Pete Nicholls IBM Toronto Lab TPF Toolkit.
® 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.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
Eclipse Outlines: What is Eclipse? How to Install Eclipse? Eclipse Platform Eclipse Plug in Eclipse UML JUnit in Eclipse. References Latifa AlAbdulkarim.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Java IDE Dwight Deugo Nesa Matic
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Textual Visualization Plug-in for Eclipse Gong Jun CCIS Northeastern Univ 02/2004.
Eclipse.
ATS Application Programming: Java Programming
Cross Platform Development using Software Matrix
A (very brief) intro to Eclipse
AVOIR -African virtual
IDE++ User study & Eclipse Tutorial
COSC-4840 Software Engineering
Eclipse 20-Sep-18.
Chapter 2: Operating-System Structures
Introduction to Eclipse
Architecture, Components, Configuration
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
An Introduction to Eclipse
Plug-In Architecture Pattern
Presentation transcript:

Goals Give you a feeling of what Eclipse is. Introduce the basic mechanisms behind the scene. Show how to contribute to the Eclipse environment by example.

What is Eclipse? Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. (www.eclipse.org) Eclipse is a platform for integrating development tools. (www.eclipse.org) Place where development tools live and collaborate.

What is Eclipse? User’s view. Eclipse is designed to be used by developers. Eclipse allows user to manage project resources (files, folders). Editors allow user to edit resources. Views assist user by providing structured information about edited/selected resource. Perspectives arrange editors and views in order to suit current developer task best.

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

What is Eclipse? Plug-in developer view. Environment providing you with an extensive set of facilities (API) for creating development tools. Concepts and mechanisms allowing you to extend and/or collaborate with existing solutions seamlessly. Set of frameworks you may want to implement in your product.

General structure Plug-in development environment PDE Java development tools JDT Platform Eclipse Platform Java VM Standard Java2 Virtual Machine www.eclipse.org

Platform architecture. www.eclipse.org

Platform runtime Starts the platform and discovers plug-ins Defines mechanisms for attaching plug-ins to the environment Designed to use plug-ins only if needed Maintains plug-in registry org.eclipse.core.runtime

Workspace Central hub for user’s data files Resource management Projects Folders Files Specialized resources Builders, Project Natures, Resource Markers Resources plug-in. org.eclipse.core.resources

Workbench Eclipse UI Frame that can represent various visual parts Views Editors Defines 27 extension points. Basics are: org.eclipse.ui.views org.eclipse.ui.editors org.eclipse.ui.viewActionss org.eclipse.ui.editorActions org.eclipse.ui.popupMenus Extensive set of API classes and interfaces

JFace & SWT. Standard widget toolkit (SWT) JFace. Portable API Tight integration with native OS JFace. Provides higher level interface than SWT Contains a lot of facilities to use in your plug-ins (wizards, preferences etc.) Defines useful frameworks, such as viewer MVC model

Help and Team support Help Team support HTML format .toc (Table of Contens) files are used to represent documentation structure org.eclipse.help.toc extension Team support additional API that allow plug-ins to integrate the function of a versioning and configuration management repository API allows different repository plug-ins to work with the system Multiple repository providers can coexist peacefully within the platform

Extension point Functionality to the system is contributed via so-called “extension points”. In essence each extension point is an interface contributors have to implement. The extension point mechanism is the only way of contributing functionality to the system. Plug-ins can define their own extension points, so that other plug-ins can integrate tightly with them.

Extension Extension is a piece of functionality contributed via corresponding extension point. Extension is just an implementation of interface defined by extension point. Extensions are typically written in Java using the platform APIs. Extension=Java class! Some extension points accommodate extensions provided as platform executables, ActiveX components, or developed in scripting languages. In general, only a subset of the full platform functionality is available to non-Java extensions.

Plug-In Contains one or more extensions Can optionally declare new extension points Depends on a set of other plug-ins Contains Java code libraries and other files. Lives in its own plug-in subdirectory Introduced to the Platform by a manifest file (plugin.xml) Loaded to the Eclipse registry on a start-up

Plug-in manifest (plugin.xml) Introduces plug-in interface to the Platform Contains plug-in version, id, provider, class plug-in dependency information plug-in java library name(s) extensions implemented defines new extension points (optionally)

Eclipse Plug-In Architecture Typical arrangement plug-in A plug-in B contributes extension point P extension implements interface I class C 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 creates, calls www.eclipse.org

Plug-in installation Plug-in have to be installed into a directory underneath the platform's plug-in directory. This directory corresponds to our plug-in id, which must be unique. The standard practice for plug-in directory names is to use the plug-in's fully qualified id, including the dots. (i.e. org.aspectj.ajde plug-in is rooted to {platform's plug-in directory}/org.aspectj.ajde_1.0.6 /) The plug-in directory is named plugins and is typically located underneath the main directory where you installed the platform. All the plug-in files (java libraries,manifest, images etc.) have to be located within plug-in directory system. All the plug-in code have to be in the jar format. The names of the jar files should correspond to the values of the name attribute of the library tag inside the corresponding plug-ins manifest file. Each plug-in must have it’s own plugin.xml located at the top level of plug-in directory system A plug-in typically contains some extra files (images, docs, etc) which can be located at any place within plug-in directory system