Introduction To The Eclipse Platform
Upcoming SlideShare
Loading in...5
×
 

Introduction To The Eclipse Platform

on

  • 3,017 views

 

Statistics

Views

Total Views
3,017
Views on SlideShare
3,011
Embed Views
6

Actions

Likes
2
Downloads
114
Comments
0

3 Embeds 6

http://www.linkedin.com 4
http://www.slideshare.net 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction To The Eclipse Platform Introduction To The Eclipse Platform Presentation Transcript

    • Introduction to the Eclipse Platform
      • 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
      • 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
    • SWT: Comparison with AWT/Swing
      • Swing: full-blown 100% Java widgets
      SWT AWT wrapper Native UI widgets Native Graphics Library Swing wrapper
    • 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: Comparison with AWT/Swing
      • SWT
        • Does not implement Model-View-Controller (JFace)
        • Is relatively simpler than Swing
      • JFace
    • JFace - Resources
      • 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.
    • JFace - MVC
      • 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
    • JFace - Long-running operations
      • 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 - 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.
      • 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 - 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
    • 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.
    • OSGi Features
      • 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
      • Eclipse Plug-ins
    • Eclipse Plug-ins
      • 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)
    • RCP
      • 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
    • Quick Summary
      • Questions?
      • 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
    • 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
    • RCP Aplication - Perspectives Java Programmer Plug-in Developer Debug J2EE Developer
    • RCP Aplication – Add-ons
      • Help system
      • Update manager
      • 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
      • 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
    • 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
      • Questions?