Introduction To The Eclipse Platform

50 %
50 %
Information about Introduction To The Eclipse Platform

Published on October 22, 2007

Author: ciukes

Source: slideshare.net

Introduction to the Eclipse Platform Introduction .....

Introduction

.....

Overview of the platform Rich Client Platform OSGi RCP Application Help Update Text Workspace Workbench Native UI Native Resources SWT JFace Plug-ins Plug-ins Development Java Development Other IDE Text Compare Debug Search Team IDE

SWT (Standard Widget Toolkit)

SWT

(Standard Widget Toolkit)

SWT IBM developed VisualAge: IDE coded in Smalltalk VisualAge becomes Open Source project: Eclipse, intended to compete against other IDEs such as Microsoft Visual Studio Why a whole new GUI toolkit? native look and feel native performance

IBM developed VisualAge: IDE coded in Smalltalk

VisualAge becomes Open Source project: Eclipse, intended to compete against other IDEs such as Microsoft Visual Studio

Why a whole new GUI toolkit?

native look and feel

native performance

SWT

SWT: Comparison with AWT/Swing AWT: thin wrapper around native UI widgets SWT AWT wrapper Native UI widgets Native Graphics Library Swing wrapper

AWT: thin wrapper around native UI widgets

SWT: Comparison with AWT/Swing Swing: full-blown 100% Java widgets SWT AWT wrapper Native UI widgets Native Graphics Library Swing wrapper

Swing: full-blown 100% Java widgets

SWT: Comparison with AWT/Swing SWT wrapper around native UI widgets: GTK+, Motif, win32 missing functionality is developed in Java at SWT level SWT AWT wrapper Native UI widgets Native Graphics Library Swing wrapper

SWT

wrapper around native UI widgets: GTK+, Motif, win32

missing functionality is developed in Java at SWT level

SWT: Comparison with AWT/Swing SWT Does not implement Model-View-Controller (JFace) Is relatively simpler than Swing

SWT

Does not implement Model-View-Controller (JFace)

Is relatively simpler than Swing

JFace

JFace

JFace - Resources Provides registries that hold Images and Fonts

Provides registries that hold Images and Fonts

JFace - Actions Actions to allow users to define their own behavior and to assign that behavior to components (menu items, tool items, push buttons, etc.

Actions to allow users to define their own behavior and to assign that behavior to components (menu items, tool items, push buttons, etc.

JFace - MVC Viewer classes that handle data populating, sorting, filtering, and updating widgets (the MVC pattern )

Viewer classes that handle data populating, sorting, filtering, and updating widgets (the MVC pattern )

JFace - User Interaction Defines standard dialogs and wizards, and defines a framework for building complex interactions with the user

Defines standard dialogs and wizards, and defines a framework for building complex interactions with the user

JFace - Long-running operations Long-running operations that require progress indicators or allow user cancellation of the operation.

Long-running operations that require progress indicators or allow user cancellation of the operation.

JFace - SWT JFace is completely dependent on SWT, but SWT is not dependent on JFace. The Eclipse Workbench is built on both JFace and SWT. In some instances, it bypasses JFace and accesses SWT directly. Workbench Native UI SWT JFace

JFace is completely dependent on SWT, but SWT is not dependent on JFace.

The Eclipse Workbench is built on both JFace and SWT. In some instances, it bypasses JFace and accesses SWT directly.

JFace - Summary Primary goal is to free the developer up, letting to focus on the implementation of an application without having to be concerned with the underlying widget system or solving problems that are common in almost all UI applications.

Primary goal is to free the developer up, letting to focus on the implementation of an application without having to be concerned with the underlying widget system or solving problems that are common in almost all UI applications.

OSGi (Open Services Gateway initiative)

OSGi

(Open Services Gateway initiative)

OSGi OSGi is an independent, non-profit corporation Open specifications for the delivery of managed services to networked environments The specification define the OSGi Service Platform: the OSGi framework a set of standard service definitions The core part of the specifications is a framework that defines an application life cycle model and a service registry.

OSGi is an independent, non-profit corporation

Open specifications for the delivery of managed services to networked environments

The specification define the OSGi Service Platform:

the OSGi framework

a set of standard service definitions

The core part of the specifications is a framework that defines an application life cycle model and a service registry.

OSGi - Services Platform Publish Discover Bind Bundle Service Registry Service Provider Service Requester

OSGi Service Definition A service is defined by: the service interface - Java class or interface, the service properties - name and value pairs

A service is defined by:

the service interface - Java class or interface,

the service properties - name and value pairs

OSGi Services Wide range of services is already defined ... Security; Module; Life Cycle, and Service Layers; Framework API; Package Admin Service; Start Level Service; Conditional Permission Admin; Permission Admin Service; URL Handlers Service; Log Service; HTTP Service (runs servlets); Device Access; Configuration Admin Service; Metatype Service; Preferences Service; User Admin Service; Wire Admin Service; I/O Connector Service; Initial Provisioning; UPnP Device Service; Declarative Services; Event Admin Service; Deployment Admin; Auto Configuration; Application Admin Service; DMT Admin Service; Monitor Admin Service; Foreign Application Service; Service Tracker; XML Parser Service; Position; Measurement and State; Execution Environments ... plus all your own services.

Wide range of services is already defined ...

Security; Module; Life Cycle, and Service Layers; Framework API; Package Admin Service; Start Level Service; Conditional Permission Admin; Permission Admin Service; URL Handlers Service; Log Service; HTTP Service (runs servlets); Device Access; Configuration Admin Service; Metatype Service; Preferences Service; User Admin Service; Wire Admin Service; I/O Connector Service; Initial Provisioning; UPnP Device Service; Declarative Services; Event Admin Service; Deployment Admin; Auto Configuration; Application Admin Service; DMT Admin Service; Monitor Admin Service; Foreign Application Service; Service Tracker; XML Parser Service; Position; Measurement and State; Execution Environments

... plus all your own services.

OSGi Features Lazzy loading Service decoupling Mix'n'Match services from different vendors (e.g. Spring Dynamic Modules) Lifecycle control

Lazzy loading

Service decoupling

Mix'n'Match services from different vendors (e.g. Spring Dynamic Modules)

Lifecycle control

OSGi Eclipse Equinox Equinox is one of many OSGi implementations Knopflerfish Apache Felix Solid base for Eclipse platform

Equinox is one of many OSGi implementations

Knopflerfish

Apache Felix

Solid base for Eclipse platform

Eclipse Plug-ins

Eclipse Plug-ins

Eclipse Plug-ins OSGi bundle Provide extension points Contribute to extension points

OSGi bundle

Provide extension points

Contribute to extension points

Eclipse Plug-ins host plug-in exposes extension point extender plug-in contributes to an extension point extension point plug-in: org.eclipse.ui WorkbenchPlugin actionSets plug-in: org.eclipse.help.ui Help -> Help Contents menu item

Rich Client Platform (RCP)

Rich Client Platform (RCP)

RCP Eclipse RCP is a platform for building and deploying rich client applications. This is the heart of any Eclipse based application

Eclipse RCP is a platform for building and deploying rich client applications.

This is the heart of any Eclipse based application

Quick Summary SWT (Standard Widgets Toolkit) JFace OSGi (Open Services Gateway initiative) Eclipse Plug-ins RCP (Rich Client Platform) Rich Client Platform OSGi Workbench Native UI SWT JFace Plug-ins

SWT (Standard Widgets Toolkit)

JFace

OSGi (Open Services Gateway initiative)

Eclipse Plug-ins

RCP (Rich Client Platform)

Quick Summary Questions?

Questions?

RCP Aplication

RCP Aplication

RCP Aplication - General Layout View Toolbar View View Editor Menu View's Toolbar View's Toolbar View's Toolbar

RCP Aplication - General Layout

RCP Aplication - Flexible Layout

RCP Aplication - Editors Edit you data model in user friendly manner Editing ecosystem: markers (e.g. error, todo) undo/redo copy&paste

Edit you data model in user friendly manner

Editing ecosystem:

markers (e.g. error, todo)

undo/redo

copy&paste

RCP Aplication - Views Editor Editor related views Not realted views Java source editing Java class outline Java errors list Java project structure Java search results Other Other Other Other

RCP Aplication - Perspectives Show items related to the task Help to focus on primary objectives Avoid user confusing interface Customize views layout menu toolbar

Show items related to the task

Help to focus on primary objectives

Avoid user confusing interface

Customize

views

layout

menu

toolbar

RCP Aplication - Perspectives Java Programmer Plug-in Developer Debug J2EE Developer

RCP Aplication – Add-ons Help system Update manager

Help system

Update manager

Workspace

Workspace

Workspace Rich Client Platform OSGi RCP Application Help Update Text Workspace Workbench Native UI Native Resources SWT JFace Plug-ins Plug-ins Development Java Development Other IDE Text Compare Debug Search Team IDE

Workspace Why cover the file system? Local history Markers Projects builders natures

Why cover the file system?

Local history

Markers

Projects

builders

natures

IDE

IDE

IDE Rich Client Platform OSGi RCP Application Help Update Text Workspace Workbench Native UI Native Resources SWT JFace Plug-ins Plug-ins Development Java Development Other IDE Text Compare Debug Search Team IDE

IDE Provides soild ground for building development environment: editors debug search compare team (code share: cvs, svn) Java, C, Python, Ruby any other language you like

Provides soild ground for building development environment:

editors

debug

search

compare

team (code share: cvs, svn)

Java, C, Python, Ruby

any other language you like

Quick Summary RCP Application views, perspectives, editors Workspace IDE RCP Application Help Update Text Workspace Native Resources Plug-ins Development Java Development Other IDE Text Compare Debug Search Team IDE

RCP Application

views, perspectives, editors

Workspace

IDE

Questions?

Questions?

Add a comment

Related pages

Introduction to Eclipse - Inspiring Innovation

Introduction to Eclipse . Overview • Eclipse Background • Obtaining and Installing Eclipse ... the platform, tutorials, sample code, etc…
Read more

Introduction to the Eclipse Platform - scribd.com

Introduction to the Eclipse Platform - Free download as (.odp), PDF File (.pdf), Text File (.txt) or read online for free.
Read more

Eclipse Neon

Key Eclipse Platform improvements include HiDPI support and autosave.
Read more

Eclipse Platform Technical Overview

Eclipse Platform Technical Overview. ... (IDEs), and arbitrary tools. This paper is a general technical introduction to the Eclipse Platform.
Read more

An Introduction to the Eclipse IDE - O'Reilly Media

An Introduction to the Eclipse IDE ... The Eclipse Technology Project focuses on technology research, incubation, and education using the Eclipse platform.
Read more

wiki.eclipse.org

Introduction to the Eclipse Parallel Tools Platform. Slides by Greg Watson, Beth Tibbitts, Jay Alameda, Galen Arnold, Steve Brandt, Chris Navarro, Jeff ...
Read more

Help - Eclipse Platform

Eclipse platform overview Getting started Basic tutorial The Workbench Editors and views ... Introduction FAQ Incompatibilities
Read more

Introduction to the Eclipse Modeling Framework

Eclipse Platform includes simple text file editor Windows only: ... Introduction to the Eclipse Modeling Framework © 2003 IBM Corporation ...
Read more

Introduction to Eclipse/ICE and Eclipse Parallel Tools ...

Introduction to Eclipse/ICE and Eclipse Parallel Tools Platform Slides by Jay Jay Billings, Greg Watson, Beth Tibbitts, Jay Alameda, Galen Arnold, Steve ...
Read more