The Eclipse Ecosystem: Exploring Tools and Plug-ins - PowerPoint PPT Presentation

About This Presentation
Title:

The Eclipse Ecosystem: Exploring Tools and Plug-ins

Description:

Free stuff must remain free. Additions can be protected. Commercial-friendly open-source ... Games, including Tetris and Minesweeper. Email. MP3 players. RSS readers ... – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 40
Provided by: davidga1
Learn more at: http://www.gallardo.org
Category:

less

Transcript and Presenter's Notes

Title: The Eclipse Ecosystem: Exploring Tools and Plug-ins


1
The Eclipse Ecosystem Exploring Tools and
Plug-ins
  • David Gallardo

2
Agenda
  • Overview of Eclipse Architecture
  • JDT plug-in examples
  • Log4E
  • AspectJ
  • Omondo EclipseUML
  • IDE examples
  • MyEclipse
  • IBM Rational Application Developer
  • CDT
  • Developing an Eclipse RCP-based application
  • Haystack, BioDash and the Semantic Web
  • Some miscellaneous plug-ins
  • Games, desk accessories?

3
My books
  • Java Oracle Database Development
  • Eclipse in Action, (lead author)
  • Eclipse in Action, 2nd edition due out in
    December
  • Preview article, Introducing the Eclipse Visual
    Editor at
  • http//www.manning.com/books/gallardo2

4
Updates and source code
  • Updates for presentation and source code for
    demos are available at
  • http//www.gallardo.org

5
What is Eclipse?
6
What is Eclipse?
  • Eclipse is a kind of universal tool platform -
    an open extensible IDE for anything and nothing
    in particular.
  • (From http//www.eclipse.org)

7
What is Eclipse?
  • Eclipse is a kind of universal tool platform -
    an open extensible IDE for anything and nothing
    in particular.
  • (From http//www.eclipse.org)

8
An Eclipse history lesson
  • Based on Visual Age for Java developed by OTI
    Object Technology International (an IBM
    subsidiary)
  • Written in Smalltalk
  • Source kept in repository (not file system)
  • Versioning at method level
  • Eclipse is VA4J ported to Java
  • Donated to the IBM-created Eclipse Consortium Nov
    2001
  • Consortium creates the Eclipse Foundation in Feb
    2004

9
Eclipse is language neutral
  • Written in Java, but provides language-neutral
    support
  • First generalized as and open, extensible IDE
    framework
  • Generalized even further, an open, extensible
    application framework

10
Visual Age for Java
11
Java IDE (JDT)
Eclipse Platform
12
Java IDE
Eclipse Platform
C/CIDE
More
13
Java IDE
Eclipse RCP
Eclipse Tool Platform
C/CIDE
More
14
The Eclipse approach
  • Generalize Build a framework
  • Develop a reference implementation--e.g. JDT
  • Other examples
  • Team support (CVS, ClearCase, Subversion, VSS)
  • Visual Editor (Swing/AWT, SWT, ?)

15
CVS
Team
Subversion
More
16
Swing/AWT
Visual Editor
SWT
More
17
What is Eclipse?
  • Its a floorwax AND its a dessert topping!

18
What is Eclipse?
  • Its a floorwax AND its a dessert topping!
  • Just kidding!
  • Its a framework and a reference implementation

19
What is Eclipse?
  • An open and extensible application framework
    The Rich Client Platform

20
What is Eclipse?
  • An open and extensible application framework
    The Rich Client Platform
  • A open tool platform for developing extensible
    IDEs

21
What is Eclipse?
  • An open and extensible application framework
    The Rich Client Platform
  • A open tool platform for developing extensible
    IDEs
  • An extensible IDE, especially the Java
    Development Toolkit, built using the Eclipse
    Platform

22
SWT
  • A replacement for Swing/AWT
  • AWT controls were native, but took lowest-common
    denominator approach to achieve cross-platform
    compatibility
  • Swing emulated controls dont always match
    platform
  • Swing controls performed poorly relative to
    native controls
  • SWT took a hybrid approach
  • Thin layer over native controls
  • Emulated controls where native controls for a
    particular platform arent available
  • SWT applications have the look responsiveness
    of native applications
  • SWT is relatively simple and easy to use

23
JFace
  • Platform-independent framework built on top of
    SWT, which supplements SWT
  • Adds features similar to those in Swing,
    particularly data models and pre-built
    components, that SWT lacks
  • Viewer classes
  • Dialogs and wizards
  • Also some JFace specials
  • Actions and contributions
  • Image and font registries

24
Essential components for an RCP application
25
The complete RCP framework
26
A complete RCP application
27
An Eclipse-based IDE
28
Extending an IDE with plug-ins
29
Eclipse open-source licensing
  • Eclipse licensed under Common Public License
  • Open Source Initiative compliant license
  • Open-source but non-viral, unlike GNU
  • Different parts can be covered by different
    licenses
  • Free stuff must remain free
  • Additions can be protected

30
Commercial-friendly open-source
  • Allows co-mingling of open-source and
    commercially developed code
  • Basic functionality becomes a shared commodity
    and is developed once
  • Competition occurs at a higher level

31
Some SWT apps
  • Azureus - Bittorrent client that is one of the
    most popular apps on SourceForge.
  • SQL Admin - Java client application to connect
    and send queries to different databases through
    JDBC.
  • RSSOwl - Platform-independent application to
    gathers, organize, update, and store information
    from any RSS-compliant site.

32
RCP benefits
  • Framework for menus, toolbars, views, and
    perspectives
  • Help
  • Plug-in basedextensible
  • Remote update
  • Proven scaleable and extensible applications

33
Some open-source RCP apps
  • BIRT - reporting system for web applications,
    especially those based on Java and J2EE
  • GumTree - Multi-platform scientific workbench for
    performing scientific experiment under a
    server-client environment.
  • Schoolclipse - An Eclipse RCP application for
    private school management.
  • uDig GIS - Desktop Internet GIS providing a
    graphical interface to OGC standard internet
    mapping servers (WMS, WFS), local data files, and
    spatial databases.

34
Some commercial RCP apps
  • IBM Workplace Managed Client - Server-managed
    access to messaging, documents, instant
    messaging, Activity Explorer, productivity tools,
    and data access.
  • XMFMosaic - Next generation meta-modelling tool
    and meta-programming environment.
  • ITscope Marketviewer - Catalogue and purchasing
    software for business to business relations in
    the IT sector.

35
Eclipse Java IDE plug-ins
  • Visual Editor
  • AspectJ
  • Log4E
  • Omondo EclipseUML

36
Eclipse Java IDE plug-ins
  • Eclipse Visual Editor
  • Eclipse AspectJ
  • Eclipse Web Tools
  • Sysdeo Tomcat
  • Omondo EclipseUML
  • Log4E
  • EclipseColorer
  • Subclipse (subversion)
  • VSS
  • Call Hierarchy View
  • EclipseProfiler
  • FreeMem
  • Hibernate Synchronizer
  • Spring IDE

37
Even more Eclipse plug-ins
  • Clock
  • Games, including Tetris and Minesweeper
  • Email
  • MP3 players
  • RSS readers
  • (Just like EMACS, you can live inside Eclipse!)

38
Eclipse-based IDEs
  • Rational Application Developer (the former
    Websphere Studio Application Developer)
  • MyEclipse
  • JBoss IDE
  • Borland JBuilder (2006?)

39
For more info
  • RCP applications
  • http//www.eclipse.org/community/rcp.html
  • Eclipse plugins
  • http//www.eclipseplugincentral.com/
  • http//eclipse-plugins.info/
  • More
  • http//www.eclipse.org/community
Write a Comment
User Comments (0)
About PowerShow.com