Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Eclipse Ecosystem: Exploring Tools and Plug-ins David Gallardo.

Similar presentations


Presentation on theme: "The Eclipse Ecosystem: Exploring Tools and Plug-ins David Gallardo."— Presentation transcript:

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


Download ppt "The Eclipse Ecosystem: Exploring Tools and Plug-ins David Gallardo."

Similar presentations


Ads by Google