250 likes | 398 Views
IBM Eclipse Supervised by: Mike Holcombe Mr. Annamalai Chockalingam Ms. Bhavnidhi Kalra Ms. Kuntal Dave Mr. Sarith Chandrasekaran Mr. Stanislaw Osinski Mr. Yang Yang. Eclipse Foundation. In November 2001, IBM, Object Technology International (OTI) and eight other companies launched Eclipse.
E N D
IBM EclipseSupervised by: Mike HolcombeMr. Annamalai ChockalingamMs. Bhavnidhi KalraMs. Kuntal DaveMr. Sarith ChandrasekaranMr. Stanislaw Osinski Mr. Yang Yang
Eclipse Foundation • In November 2001, IBM, Object Technology International (OTI) and eight other companies launched Eclipse. • The eclipse platform is built on a mechanism for discovering, integrating, and running modules called PLUG-INS • Eclipse board consist of Alto Web, Borland Software corporation, Hewlett Packard, Hitachi, IBM, Oracle Corporation, Red Hat and many more…
Eclipse? Eclipse is a universal platform for integrating development tools. Eclipse has open, extensible architecture based on plug-ins • 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
Features of Eclipse • Java Development Environment • -- automates mundane and time consuming operations. • -- it contributes a set of plug-ins which add the Java IDE • featured to the Eclipse platform. • Tool Integration Platform • -- common platform to create, manipulate, and managed • sets of resources • -- support by means of Source Code Management (SCM) • repositories [CVS]. • Open Source Community
Workbench • Workbench is UI personality of Eclipse Platform • UI paradigm centered around • Editors • Views • Perspectives Workbench JFace SWT
SWT • SWT = Standard Widget Toolkit • Generic graphics and GUI widget set • buttons, lists, text, menus, trees, styled text... • Simple • Small • Fast • OS-independent API • Uses native widgets where available • Emulates widgets where unavailable
JFace • JFace is set of UI frameworks for common UI tasks • Designed to be used in conjunction with SWT • Classes for handling common UI tasks • JFace API consists of : -- Image and font registries -- Structured viewers -- Text infrastructure -- actions
Menu bar Text editor Toolbar Perspective and Fast View bar Resource Navigator view Message area Editor Status area Stacked views Eclipse Platform
Workspace • Resources being worked on are kept in the workspace. • It’s a folder stored in the eclipse directory. • It provides a marker mechanism for annotating resources.
Resource Management • Provides capability for operating on resources (projects folders and files) • Simple and efficient to manage, search, compare and replace resources.
Tools within Eclipse The eclipse tools project -- an open source project of eclipse.org The project aim -- provides a focal point for diverse tool builders to ensure the creation of best of breed tools for the Eclipse Platform The tools available are: -- CDT (C/C++ Development Tools) -- Eclipse Modeling Framework (EMF)
Some subprojects The CDT (C/C++ Development Tools) • What is needed? -- a fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform • What is the focus now? -- development on Linux for deployment on Linux
CDT functions… What are the tool functions? • C/C++ Editor (basic functionality, syntax highlighting, code completion etc.) • C/C++ Debugger (APIs & Default implementation) • C/C++ Launcher (APIs & Default implementation, launches and external application) • Parser • Search Engine • Content Assist Provider • Makefile generator
Some subprojects Eclipse Modeling Framework (EMF) • What is the tool used for? -- EMF helps you rapidly turn models into efficient, correct, and easily customizable Java code • Models? -- annotated Java, XML documents, or -- modeling tools like Rational Rose
Continue…EMF Three levels of code generation • Model - provides Java interfaces and implementation classes for all the classes in the model, plus a factory and package (meta data) implementation class. • Adapters - generates implementation classes (called ItemProviders) that adapt the model classes for editing and display. • Editor - produces a properly structured editor that conforms to the recommended style for Eclipse EMF model editors and serves as a starting point from which to start customizing.
More tools • Hyades -- an integrated test, trace and monitoring environment, based on Eclipse, that provides standards, tools and tool interoperability across the test process • GEF -- is divided into 2 major plug-ins: GEF and Draw2D. • COBOL -- build a fully functional COBOL Integrated Development Environment (IDE) for the Eclipse platform
New subprojects • Eclipse Visual Editor a framework for creating GUI builders for Eclipse • UML2 an EMF-based implementation of the UML 2.0 metamodel for the Eclipse platform
What are Plug-ins? • A plug-in is the fundamental building block of the Eclipse platform. • A plug-in is the smallest unit of Eclipse Platform function that can be developed and delivered separately. • Usually a small tool is written as a single plug-in, whereas a complex tool has its functionality split across several plug-ins.
Plug-in and Eclipse • Eclipse is the sum of its constituent plug-ins, where each plug-in contributes functionality to the platform and is activated when the functionality it provides is needed. • A single plug-ins code libraries and read-only content are located together in a directory in the file system, or at a base URL on a server.
Plug-in Development • Plug-ins are coded in Java. • Structurally, each plug-in resides in a subdirectory called eclipse/plug-in in the Eclipse installation. • It contains a manifest (plugin.xml) file that describes its content to the Eclipse runtime. • A plug-in may also include a Java™ code library and other resource files it needs, such as icons, properties files, etc.
Plugin Development • The Plug-in Development Environment (PDE) provides a set of tools that assist the developer in every stage of plug-in development from genesis to deployment. • It provides the following tools • Creation • Development • Testing • Building • Deployment
Conclusion • Learning curve: • As per the website, writing an Eclipse plug-in is straight forward, but not exactly trivial • Tasks in the process can be quite intricate, depending on the complexity of the plug-in and the developer’s Eclipse expertise. • Though, Eclipse is language neutral, our main focus will remain on Java Development Environment since plug-ins are developed in Java.
Summary • Eclipse is a universal platform for integrating development tools. • Main features: JDE, tool integration platform, open source community. • Eclipse platform: JDT, PDE, Workbench, Workspace and/or self developed tools. • Tools within Eclipse: CDT, EMF and many more. • New subprojects undertaken: Eclipse Visual Editor, UML2 • Plug-in, the fundamental building block, is the smallest unit of Eclipse platform that is created to add functionality. • PDE provides the following tools for plug-in development: creation, development, testing, building and deployment