Monday, May 11, 2009

Eclipse training

I'm not sure yet, but I would like to do some Eclipse RCP course. I'm researching it and I would like my readers feedback about the available training companies. One friend recommends AvanSoft. They are member of the Eclipse Foundation and it seems they know a lot about Eclipse. This is one of the labs they are offering and I would like to take, at least the content is exactly what I want to dominate!

Eclipse is an open platform for tool integration built by an open community of tool providers. It is designed for building integrated development environments (IDEs) and Rich Client Platform (RCP) based applications that can be used to create applications as diverse as websites, embedded Java mechanism for discovering, integrating and running modules called plug-ins. This allows the Platform to be extended to work with new content types or to do new things with existing content Rich Client Platform (RCP), and the Workbench IDE. While the Eclipse types. Except for a small kernel known as the Platform Runtime, all of the Eclipse Platform's functionality is located in plug-ins which are coded in Java. This is an in-depth course on how to build Eclipse plug-ins of increasing complexity.


Topics covered include:
1. Eclipse Plug-in architecture
2. Plug-in Development Environment
3. Eclipse RCP – Introduction and Concepts
4. Minimal RCP Application
5. The Standard Widget Toolkit (SWT)
6. Views
7. Adding Actions in Workbench window and Views
8. Editors
9. Dialogs (Preference Pages)
10. Wizards
11. Add help contribution and product customization
12. Add Feature, Branding and Updates
13. Eclipse Forms to create rich and powerful user interface
14. Multi-page form editor


Contents:
  1. Eclipse Plug-in Architecture
    • Eclipse Overview
    • Plug-in architecture
      • Plug-in, Extension Point, and Extension
      • Plug-in manifest
      • Eclipse overview
      • Plug-in features and fragments
    • Platform architecture
      • Workspace Component
      • Workspace and Resource API
      • Incremental Project Builders
      • SWT
      • JFace
      • Workbench, Editors, Views, Perspectives
      • Debug component
    • PDE Introduction
  2. Plug-in Development Environment (PDE) & Eclipse Plug-in Development
    (includes lab)
    • Why PDE?
    • Concepts
      • RCP application file structure
      • Run an RCP application
    • Plug-in and Life cycle
      • Overview and Application control flow
      • Main application class and how it creates and run workbench
      • WorkbenchAdvisor class and its lifecycle events
      • Default (Initial) perspective
    • Plug-in structure
    • Work with PDE
      • Configure PDE
      • Create a new Plug-in project
      • Plug-in manifest file and editor
      • Dependencies
      • Runtime
      • Extensions and Extension points
      • Running the plug-in
    • Plug-in communication
    • Plug-in fragments
  3. Eclipse RCP – Introduction and Concepts
    • The Term – Rich Client Platform
    • The Eclipse Rich Client Platform Buzzwords
    • Uses of RCP
    • Eclipse RCP Concepts
      • Component Framework and a Community of Plug-ins
      • Plug-ins - in a closer look
      • Putting all together – The anatomy of an Eclipse installation
      • The OSGi Framework
      • The Runtime
      • Standard Widget Toolkit (SWT) – A low-level graphics library
      • JFace – A UI toolkit
      • UI Workbench
  4. Minimal RCP Application
    (includes lab)
    • About RCP
    • Minimal RCP application (Physical artifacts)
      • RCP application file structure
        • Configuration directory and Configuration file - config.ini
        • plugin directories and plugin's .jar file
        • eclipse.exe
        • startup.jar
        • workspace
      • Run an RCP application
    • Minimal RCP application (runtime artifacts)
      • Overview and Application control flow
      • Main application class and how it creates and run workbench
      • WorkbenchAdvisor class and its lifecycle events
        • WorkbenchAdvisor
        • WorkbenchWindowAdvisor
        • ActionbarAdvisor
      • Default (Initial) perspective
    • Minimal RCP application (Development)
      • Steps for developing RCP application
      • Run application within eclipse
      • Export the application and execute it outside of eclipse
      • Customize the workbench
        • Saving window location and size
        • Setting workbench window title, status-line etc.
  5. SWT - The Standard Widget Toolkit
    (includes lab)
    • About SWT
    • Brief History and Goals
    • The Basic Structure of an SWT Application - Display And Shell
      • How to create a simple Shell
      • Setting the Shell title text
      • Setting the Shell icon
    • SWT packages
    • Relationship between Thread and Display
    • SWT widgets and its lifecycle
    • Useful widgets
    • SWT events
    • Menus
      • Menu
      • MenuItem
      • Listeners
    • Layout managers in SWT
      • FillLayout
      • RowLayout
      • GridLayout and GridData
      • FormLayout and FormData
    • Resource Management - Colors, Fonts, Images
    • Error handling
    • SWT application at work
  6. Views
    (includes lab)
    • Introduction
    • JFace Viewer Framework – In details
    • Views : The General-Purpose Workbench Part
      • Behavior and Architecture
      • Class diagram and Lifecycle
    • How to create custom view
      • View Declaration
      • Adding the View to a Perspective
      • Creating the View Class (View Part)
    • Linking with the Properties View
      • Providing content in the Properties View
  7. Adding Actions in Workbench window and Views
    (includes lab)
    • Introduction
    • Add a top-level menu and toolbar
      • Create Top-level Menu
      • Add standard File > Exit and Help > About actions
      • Create a custom action and place the same in the toolbar and menu
      • Customize Toolbar by adding separator
    • System Tray Integration
      • Add Application icon to the task tray
      • Allow Application to minimize to the task tray
      • Add the standard action to the context menu of the task tray item.
    • Adding View Actions
      • Defining a view context submenu
      • Defining a view context menu action
      • Defining a view toolbar action
      • Defining a view pull-down submenu and action
      • Filtering the View
      • Sorting the View
      • Add a view opened indicator to the status line
      • Saving and Restoring View State
  8. Editors
    (includes lab)
    • Introduction
    • The difference between a View and an Editor
    • Editor behavior and architecture
    • Editor class diagram and its lifecycle
    • How to create custom editor
      • Editor declaration
      • Creating Editor class (Editor Part)
      • Editing – using Cell editors
      • Handling the Saving of the Editor input
      • Synchronizing the Model and the Editor
      • Editor Actions
        • Context menu
        • Top-level Menu
        • Toolbar buttons
        • Keyboard actions
        • undo / redo /cut /copy /paste
      • Linking an Editor and the outline view
  9. Dialogs
    (includes lab)
    • Introduction
    • Eclipse packages for Dialogs
    • Logical view of the Workspace
    • Standard dialogs
    • Preferences dialog (JFace)
      • Structural view
      • Preferences class
      • Preference page at work
    • Field editor preference page
      • Field editor preferences classes
      • Build a field editor preference page
    • Common reusable dialogs
  10. Wizards
    (includes lab)
    • Introduction
    • Eclipse packages for Wizards
    • Contributing Wizards
    • Defining a Wizard Extension
    • Implementing a Wizard
    • Implementing a Wizard Page
    • Customizing a Wizard
    • Controlling Wizard Page Progression
      • Enable/ disable Next , Previous and Finish buttons
      • Finish Processing
    • Displaying messages on the title of the wizard
    • Reusable specialized wizard pages
  11. Add help contribution and product customization
    (includes lab)
    • Introduction
    • Getting the Help Plug-ins and It’s Configuration
    • Add the Help Action and Content
    • Help Content Structure
    • Context-Sensitive Help (F1)
    • Branding - Introduction
    • Define Product Configuration
    • Branding
      • Window Images
      • Program Launcher – Customizing the launcher
      • Splash Screen
      • About Dialog
    • Packaging – Introduction
    • Exporting an RCP Application
  12. Add Feature, Branding and Updates
    (includes lab)
    • Introduction
    • Add the Updates Manager Wizard (Help > Software Updates action)
    • Eclipse packages for adding Updates Manager wizard
    • Create eclipse Feature based product
    • Feature Branding - Introduction
    • Feature Branding
      • About.ini
      • About.properties
      • About.mappings
      • About.html
    • Create eclipse Update-site project to host the product feature and plug-ins
    • Exporting an RCP Application based on the Feature
  13. Eclipse Forms to create rich and powerful user interface
    (includes lab)
    • Introduction
    • Concept of forms (eclipse scrolled form)
    • Use of Eclipse plug-ins to create forms
    • Toolkit to manage colors, hyperlink groups and other aspects of a form, and serve as a factory for many SWT controls
    • Create common controls
      • Hyper link
      • Image link
      • Sections
      • Expandable controls
      • FormText
    • Achieving a flat look using toolkit
    • Use of Layout manager that lays out controls in a manner similar to an HTML table layout algorithm
    • Concept of custom controls
    • Exporting an RCP application
  14. Multi-page Form Editor
    (includes lab)
    • Introduction
    • Use of FormEditor to create eclipse multi-page editor
    • Concept of Managed Forms
    • Create FormPages with the concept of master-details block, nested tab etc
    • Manage events like dirty state, saving, commit for FormPage
Hands-on Labs:
  1. ExPDE: Develop a ReadDataPlugin using PDE in Eclipse
  2. ExMinimalRCP: Building a minimal standalone RCP application
  3. ExSWTRCP: Using SWT in an Application
  4. ExViewsRCP: a custom View using JFace viewer Framework
  5. ExActionsRCP: Adding Actions to Workbench Window and Views
  6. ExEditorRCP: Create customized Database Table Editor using JFace Framework
  7. ExDialogRCP: Set file name through Preference Page and view the data from the same
  8. ExWizardRCP: Wizard to create JDBC database access configuration
  9. ExHelpNBrandingRCP: Add help contribution and product customization
  10. ExUpdatesRCP: Add Feature, Branding and Updates
  11. ExFormUIRCP: Eclipse Forms to create rich and powerful user interface
  12. ExMultiPageEditorRCP: Multi-page form editor

Prerequisites:
Extensible Markup Language (XML), Strong knowledge of Java, design patterns, and GUI development experience. Prerequisites can be satisfied by taking AvantSoft courses: "Java Programming using Eclipse" and "XML for Java programmers using Eclipse".

No comments:

Post a Comment