Download presentation
Presentation is loading. Please wait.
Published byAndrew Morgan Modified over 9 years ago
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, 2 nd 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
“ 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/C++IDEMore…
13
Java IDE Eclipse RCP C/C++IDEMore… Eclipse Tool Platform
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 SubversionMore…
16
Swing/ AWT Visual Editor SWTMore…
17
What is Eclipse? It’s a floorwax AND it’s a dessert topping!
18
What is Eclipse? It’s a floorwax AND it’s a dessert topping! Just kidding! It’s 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 don’t 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 aren’t 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 based—extensible 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.