Introduction to Eclipse and Eclipse RCP

Similar documents
Eclipse, Java, Scientific Software, Etc.

Control System Studio (CSS) The next Generation of OPI

10th ICALEPCS Int. Conf. on Accelerator & Large Expt. Physics Control Systems. Geneva, Oct 2005, FR2.6-6O (2005) EPICS Office

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

Introduction to Eclipse

EPICS Office An Initiative for a new Control System Office Framework

Rich Client GUI's with RCP & RAP

VizzAnalyzer goes Eclipse!

Slide 1 CS 170 Java Programming 1 Duration: 00:00:49 Advance mode: Auto

Eclipse in Embedded. Neha Garg : Prerna Rustagi :

Getting the Most from Eclipse

Getting started with Jubula - an UI test automation framework

Rapise Quick Start Guide Testing Java Applications with Rapise

Workbench and JFace Foundations. Part One, of a two part tutorial series

The Eclipse Rich Client Platform

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

Java and JCA. Kenneth Evans, Jr. October 12, Part of the EPICS Getting Started Lecture Series. Argonne National Laboratory

AD105 Introduction to Application Development for the IBM Workplace Managed Client

McAffer_Index.qxd 9/20/2005 9:39 AM Page 495. Index

Virtual Frameworks for Source Migration

eclipse rich ajax platform (rap)

Customized Enterprise Installation of IBM Rational ClearCase Using the IBM Rational ClearCase Remote Client plug-in and the Eclipse SDK

Packaging for Websphere Development Studio was changed with V6R1.

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1

Expeditor Client for Desktop. Client Platform Overview

The Eclipse Rich Ajax Platform

Simulate This! - The Eclipse Platform as an Integrated Computational Environment

Developing Eclipse Rich-Client Applications Tutorial

Simplifying Enterprise Installation of IBM Rational ClearCase

Widgets. Overview. Widget. Widgets Widget toolkits Lightweight vs. heavyweight widgets Swing Widget Demo

IBM Lotus Design Tools

Advanced User Interface Programming Using the Eclipse Rich Client Platform

An Easy Way to Web User Interfaces for Ground Segment Systems

Strategic Developer Report

SilkTest 2010 R2. Release Notes

CHAPTER 1: A GENERAL INTRODUCTION TO PROGRAMMING 1

The little hamlet of Somerset, New Jersey, is home to an official Sun

Implementation of a 2D Graph Viewer

Integrating Web technologies in Eclipse

EntireX Highlights of new Features

ECLIPSE RICH CLIENT PLATFORM

WindowBuilder Graduation & Release Review

A Design Recovery View - JFace vs. SWT. Abstract

IBM Research Report. Breaking Out of Eclipse: Developing an ActiveX Host for SWT

Kenneth Evans, J r. October 12, Part of the EPICS Getting Started Lecture Series

Eclipse 4.x Compatibility Layer: What's hot? What's not?

Eclipse as a Web 2.0 Application Position Paper

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

20. Eclipse and Framework Extension Languages

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

IBM WebSphere Business Integration Event Broker and Message Broker V5.0

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Introduction to Java Programming

Quick tour of the Test and Performance Tools Platform (TPTP) Valentina Popescu IBM Tivoli TPTP AG Lead

Software Development Kit

Application of Java in UG Based CAD Tool Development. Xuefeng Zhang GE Global Research Niskayuna, NY

Eclipse Platform Technical Overview

Eclipse Day at GooglePlex 2009 Joep Rottinghuis Productivity Tools Architect, ebay Inc. August 27, 2009

IBM Workplace Managed Client API Toolkit

Eclipse Environment Setup

Like It Or Not Web Applications and Mashups Will Be Hot

An Eclipse-based Environment for Programming and Using Service-Oriented Grid

Regular Forum of Lreis. Speechmaker: Gao Ang

Exploring Size Metrics for Models

Alborz 1.0 Installation Guide

RAP (The Rich Ajax Platform)

Eclipse Guard: Relative Debugging in the Eclipse Framework

1. Go to the URL Click on JDK download option

Redbooks Paper. IBM Workplace Client Technology (Rich Client Edition) Technical Overview

Certified Core Java Developer VS-1036

Java Training For Six Weeks

Table of Contents. 1 Introduction Downloads Eclipse SDK Installation Eclipse Workspace Eclipse Preferences...

S D K Q U I C K S T A R T

Let's Treat the Eclipse IDE More Like a Product. Productizing open source Eclipse IDEs

In order to support developers, there needs to be a number of tools available which may be involved in the ultimate solution.

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008

EntireX Modernized EntireX Workbench

Goulwen Le Fur Obeo EclipseCon NA 2014

Building JavaServer Faces Applications

Eclipse Architecture and Patterns. Mirko Stocker. Advanced Patterns and Frameworks May, 2015 IFS INSTITUTE FOR SOFTWARE

Control System Studio - Introduction

IBM Workplace Client Technology API Toolkit

First steps with R + Eclipse

Eclipse 4. Brian de Alwis. Abstract

Sterling Selling and Fulfillment Suite Developer Toolkit FAQs

Java Application Development On Linux Ebooks Free

6367(Print), ISSN (Online) Volume 4, Issue 2, March April (2013), IAEME & TECHNOLOGY (IJCET)

Keep on Swinging. Productivity layers on top of SWT. Karsten Schmidt SAP AG.

BPS79- Sample Reports View

Workplace Client Technology, Micro Edition. WCTME Enterprise Offering Application Developer s Guide

Eclipse (1/3) Deepak Dhungana Institute for System Engineering and Automation

Webcast: IBM WebFacing Tool Enhancements

Eclipse and Framework Extension Languages

Rational Systems Developer

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing

Leveraging the Model-View- Presenter Pattern in Rich Client Applications

open source RCP Eclipse based Visualization analysis Python Workflow

AppDev StudioTM 3.2 SAS. Migration Guide

IBM Rational Host Access Transformation Services, Version 7.1

Transcription:

Introduction to Eclipse and Eclipse RCP Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 13, 2006 Argonne National Laboratory, Argonne, IL

Eclipse Eclipse is an Open Source community It was started in 2001 by IBM IBM donated a lot of research Controlled the early development, but later relinquished control Out of the box it looks like a Java IDE It is really a Plug-in manager That happens to come with Java Development plug-ins. You can take these out and put your own (and/or others) in 2

Very Extensible and Very Flexible Java Development Tools (JDT) Plug-in Development Environment (PDE) Eclipse Project Eclipse Platform Another Tool Your Tool Their Tool Modified From: Tony Lam, ICALEPCS Presentation, October 2004 3

Eclipse Foundation Membership Strategic Developers (13 as of Jan 2006) At least 8 developers assigned full time to developing Eclipse Contribution up to $250K Strategic Consumers (4) Contribution up to $500K Can reduce the dues by contributing 1-2 developers Three other tiers Bottom line $$$ and Developers (currently > 150 full time) 4

Eclipse Consortium Strategic Members * * * * * Strategic Consumer 5

Eclipse as a Java IDE 6

Rich Client Platform (RCP) Rich Client is a term from the early 1990 s that distinguished applications built with Visual Basic and the like from Console or Simple applications Eclipse is particularly suited to Rich Client applications The possibility of using the Eclipse platform for applications was there from the beginning, but foreshadowed by its use as an IDE In the early days it required hacking to make Rich Clients RCP is now (as of Eclipse 3.1) supported by the interface and encouraged You essentially use Eclipse as a framework for your application You inherit all of its built-in features As well as those from other community plug-ins You include only the plug-ins you need Is a very extensible development platform You can use plug-ins developed by others as needed Others can use yours and extend them 7

Eclipse As a Rich Client Platform Looks like an application, not an IDE Inherits a lot of functionality Persistence (Properties and Preferences) Help Featured About dialog (like Eclipse s) Splash screen Dockable windows, and much more Java Application RCP Application 8

Probe on Steroids Leveraging the Eclipse Framework 9

An RCP Application is Also a Plug-In 10

Bottom Line Is a very powerful and extensible IDE and Framework Is Open Source Has a community Is supported by most of the industry Has a large number of developers (>150) Has significant financial backing Are many 3 rd -party Plug-ins, both free and commercial Is continuing to expand and improve rapidly Is free Downsides Is a continually changing, moving target 11

AWT vs. SWT You have to decide AWT / Swing (Abstract Windowing Toolkit) Write once, run anywhere Formerly ugly, with bad performance Now look and work well Use garbage collection Come with the JDK and JRE SWT / JFace (Standard Window Toolkit) The important fact is that Eclipse uses SWT, not AWT Supposed to look better, run faster A thin wrapper around native widgets SWT components must be disposed (vs. garbage collected) Owing to need to free native resources Need JNI libraries for each platform Distribution is through the Eclipse Foundation, not Sun 12

AWT vs. SWT More Considerations It is not easy to convert between them The SWT look is not obviously better The performance difference may not be there either, today Eclipse uses SWT They are supposed to mix and match, but??? Sun is unlikely to include SWT support in the JDK and JRE soon 13

SWT Platform Dependence Example: Working Windows dialog doesn t work right on Linux 14

Combining Swing and SWT SWT_AWT Bridge ContentPane of JFrame is embedded in an SWT Composite Menu Initialization is separate from other UI initialization Standalone Swing version uses Swing menus RCP versions uses RCP workbench menus Both can call same instance methods (or not) This application also uses JAI and J3D Both are Java extensions Don t play well with Eclipse 15

Handling Legacy code The JNI version of JProbe does not run in Eclipse RCP Has to do with Eclipse class loaders and its handling of CLASSPATH Your RCP application executable is really eclipse.exe -classpath = startup.jar, period Problem is generic and not limited to JCA Bottom line: Your working JNI application may not work under Eclipse Has been worked around for JCA by rewriting the JNI part of JCA Now released as JCA 2.1.7 and CAJ 1.0.5 Further explanation is beyond the scope of this presentation 16

Useful Books Excellent, Must have Only RCP book For the Help Plug-in 17

Thank You This has been an APS Controls Presentation 18

Thank You This has been an APS Controls Presentation 19