Eclipse une plateforme universelle pour outils intgrs - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Eclipse une plateforme universelle pour outils intgrs

Description:

'In [...] its most significant announcement in 2001 IBM Corp yesterday ... apprentissage des nouveaux outils plus ais . Encourager l'innovation. moins de temps ... – PowerPoint PPT presentation

Number of Views:104
Avg rating:3.0/5.0
Slides: 46
Provided by: dirkba9
Category:

less

Transcript and Presenter's Notes

Title: Eclipse une plateforme universelle pour outils intgrs


1
Eclipseune plateforme universelle pour outils
intégrés
  • Philippe Mulet
  • Object Technology International, Inc.
  • ParisLab, IBM France

2
Sommaire
  • Introduction
  • La plateforme Eclipse
  • Les extensions SDK JDT PDE
  • Open Source
  • Conclusion

3
Introduction
4
Dans la presse
  • In its most significant announcement in
    2001 IBM Corp yesterday donated a claimed 40
    million of software to a new open source
    application development community called
    eclipse.org.
  • Computergram
  • Suddenly IBM is cool
  • slashdot post

5
Eclipse, cest quoi ?
  • Un ensemble doutils Java et une plateforme pour
    bâtir des outils et des applications
  • Un environnement de développement Java
  • un environnement pour lui-même
  • Un projet Open Source
  • outils permettant le développement OS

6
Motivation
  • Augmenter la productivité des développeurs
  • infrastructure puissante et réutilisable
  • intégration par construction
  • interface utilisateur consistente
  • apprentissage des nouveaux outils plus aisé
  • Encourager linnovation
  • moins de temps à réinventer la roue
  • extensible via des plug-ins
  • Garantir la fiabilité
  • conception robuste pour lindustrie
  • customizable via open source
  • dirigé par une communauté ouverte

7
En quoi cela vous concerne ?
  • En tant que concepteur doutils
  • plus besoin de réinventer la roue
  • intégration automatique
  • fertilisation croisée
  • le middleware des outils
  • En tant que développeur Java
  • vous bénéficiez dun environnement de pointe, que
    vous pouvez étendre et modifier
  • En tant quutilisateur
  • vous pouvez assembler des outils livrés
    séparément pour obtenir un environnement qui
    réponde à vos besoins
  • une plateforme portable pour lindustrie

8
La plateforme Eclipse
9
Un peu dhistoire
  • 1996 - VisualAge for Java
  • implémenté en Smalltalk
  • technologie propriétaire de repository Envy
  • granularité de la méthode
  • exécution du programme cible dans lenvironnement
  • hot code replace
  • API outil réduite pour applications clientes
  • 1999 - VisualAge MicroEdition (VAME-SWING,
    VAME-SWT)
  • implémenté purement en Java
  • technologie de repository Rapier
  • mécanisme de plug-ins
  • pas dAPI publiée

10
Constat
  • Les différents outils sur le marché ne marchent
    pas toujours bien ensemble
  • Les développeurs ont mieux à faire quintégrer
    des outils
  • Les vendeurs doutils ont mieux à faire que de
    réinventer la roue
  • Personne ne peut tout faire bien
  • Mais, une plateforme ouverte et extensible
    permettra à tous
  • daller plus loin
  • daller plus vite

11
Eclipse
  • Une plateforme neutre du point de vue langage
  • les outils Web manipulent Java, HTML, XML, JSPs,
    langages de scripts,
  • Implémenté depuis la base sur des APIs publiées
  • Mécanisme dextension à base de plug-ins
  • Ouvert à différents repository (CVS in 1.0)
  • prédominance du système de fichiers
  • Attirer un maximum de fournisseurs doutils
  • supporte les outils graphiques et ligne de
    commande
  • fonctionne sur un large ensemble de systèmes
  • Windows, Linux, ...
  • Exploiter la technologie Java
  • productivité, portabilité, popularité

12
Vue densemble
Autre outil
Eclipse Platform
Help
Workbench
JFace
Java Development Tooling (JDT)
SWT
Votre outil
VCM
Workspace
Plug-inDevelopmentEnvironment(PDE)
Leur outil
Platform Runtime
Eclipse SDK
13
Mécanisme dextension les Plug-ins
  • Objectifs
  • Tout est plug-in
  • Plateforme runtime
  • découverte de plug-ins au démarrage
  • Virtuellement extensible à linfini
  • activation et chargement paresseux des plug-ins
  • tout plugin est décrit par un manifeste
    (plugin.xml)
  • les interconnexions entre plug-ins sont
    explicites
  • Extensibilité contrôlée
  • définition de points dextension (boîtes noires)
  • ajout de services, pas remplacement
  • Recherche de classes efficace (lookup)
  • les plug-ins déclarent leurs prérequis
  • Support pour étendre des plug-ins existants
  • fragments

Extensions
plug-in
Point dextension
Interface dextension
14
Manifeste de plug-in
Identification du plugin, classe exécutable,
version
ltplugin nameMyPlugin" class"com.example.
Plugin ltrequiresgt ltimport
pluginorg.eclipse.core.resources"/gt ltimport
pluginorg.eclipse.ui "/gt lt/requiresgt
ltruntimegt ltlibrary nameyourApp.jar"/gt
lt/runtimegt ltextension-point nameExample"
idfoo"/gt ltextension point"org.eclipse.ui.pre
ferencepages"gt ltpage idcom.example.myprefpage
" icon"icons/image.gif" titleMy
title" classcom.example.mywizard"gt
lt/pagegt lt/extensiongt lt/plugingt
Liste des plug-ins prérequis. Extension dynamique
du classpath
Classpath local pour ce plug-in
Définition dun point dextension
Configuration dune extension de page de
préférences
15
Eclipse SDK 1.0
  • Workbench
  • Gestion de resources
  • Projets dotés de natures
  • Modèle de programmation en équipe
  • Synchronization du workspace
  • Toolkit de Widgets
  • Framework dinterface utilisateur
  • Framework extensible dédition de texte
  • Framework de déboguage
  • Outils de développement Java
  • Outils de développement de plug-ins
  • Système daide
  • Exemples
  • Adaptateur VCM pour CVS
  • Scriptage dinterface utilisateur
  • NLS
  • Latin Enablement (Group 1 locales)
  • DBCS Enablement (Japanese, TC, SC, Korean) on Win
    2000, 98, NT
  • Initial BiDi Enablement (Hebrew, Arabic) on Win
    2000

16
Eclipse SDK 2.0
  • Enrichissement des outils de développement Java,
    incluant
  • Support Hot code replace
  • AST API jusqu à lexpression
  • Nouveau builder incrémental, compatibilité 1.4
  • Recherche opérationnelle partout
  • CodeAssist et CodeSelect plus performants
  • API team VCM
  • Debug pour langages procéduraux
  • Ressources distantes modulables
  • Installation/Mise à jour automatisée
  • Améliorations PDE
  • Adaptateur WebDAV (sans versionage)
  • Améliorations de localisation Unicode, GB 18030
  • Améliorations du système daide
  • Moteur de recherche Lucene
  • Amélioration de laccessibilité
  • Résolution des problèmes de performance et
    mémoire
  • Progrès Linux Globalization et accessibilité
  • Progrès du portage GTK 2.0

17
Gestion des ressources
  • Modèle du système de fichier local
  • workspace
  • projets
  • répertoires, fichiers
  • Notification des modifications
  • deltas
  • Natures
  • builders transformation des resources
  • Partage de resources (VCM)
  • CVS, ClearCase
  • extensible

18
Pourquoi SWT?
  • I have been using the Java IDEs. They have
    major performance issues. I have seen similar
    problems with other large swing apps having huge
    memory footprints and being dog-slow at
    everything. Where are the bottlenecks? Is the JVM
    just a big memory eater, or could it be swing
    that is at fault?"
  • --B. Madigan, member, programming theory
    practice http//www.javaworld.com

19
(No Transcript)
20
SWTun toolkit pour interface utilisateur
  • Un ensemble de widgets portables
  • accéder aux widgets natifs avec une API
    OS-indépendante
  • simple et efficace
  • faire moins pour faire plus
  • Plateformes supportées
  • win32
  • linux/motif, solaris/motif, aix/motif
  • qnx/photon, linux/gtk,
  • winCE, palmsOS
  • En cours
  • MacOS X

21
Comparaison Swing/AWT et SWT
22
JFaceun framework pour interface utilisateur
  • Un framework UI bâti au-dessus de SWT
  • viewers adaptateurs de modèles pour widgets SWT
  • tree, tables, list, styled text, ...
  • texte support dédition de texte structuré
  • coloration, code assist, réconciliation
  • frameworks de dialogue, préférence et wizard
  • actions

23
Workbench
  • Une interface utilisateur commune
  • plug-in workbench
  • vues navigation, propriétés
  • éditeurs edit files, e.g. Java Editor
  • perspectives arrangement de vues et d éditeurs
  • layouts mosaïque, empilées, détachées
  • Etendu par contributions
  • vues, éditeurs, pages de préférences, wizards,

24
Workbench Composants standards
25
Démo
26
Les extensions SDK JDT PDE
27
Java Development Tools
  • Défis
  • outils Java bâtis au-dessus dune infrastructure
    fondée sur un système de fichiers
  • structure logique dun programme, au lieu de
    fichiers et no. de ligne
  • préserver les fonctionalités existantes dans
    VA/Java
  • Objectifs
  • supporter la programmation exploratoire
  • compilation incrémentale
  • exécuter/déboguer du code avec erreurs de
    compilations
  • historique au niveau de la méthode
  • refactoring
  • hot code replace
  • rendre la programmation Java fun
  • code assist, support de génération de code
    generation

28
JDT
  • Ensemble de plug-ins pour services Java
  • Extensible
  • API JDT
  • points dextension
  • Prérequis pour WSAD, PDE
  • Perspectives
  • standard, hiérarchie, à la VAJ
  • Modulable Core Debug UI

29
JDT/Core
  • Infrastructure (non UI)
  • builder Java incrémental
  • JCK 1.3a / 1.4
  • Java Model
  • navigation dans arbre déléments Java
  • manipulation déléments Java
  • hiérarchie de types
  • CodeAssist et CodeSelect
  • moteur de recherche précis, indexage
  • évaluation de fragments de source
  • formattage de source
  • DOM Java

30
JDT/UI
  • Extensions du workbench spécifique à Java
  • vue des packages
  • vue des hiérarchies de type
  • navigation dans arbre déléments Java
  • hiérarchie de types
  • vue Outline Java
  • wizards pour créer des éléments Java
  • éditeur Java
  • coloration du source
  • partitions dans le texte (codeAssist, codeSelect)
  • granularité de la méthode
  • annotations dans la marge
  • refactoring
  • comparaisons structurelles

31
JDT/Debug
  • Support Debug Java
  • breakpoint, watchpoint,
  • lancer un VM Java en mode Run/Debug
  • sattacher à une VM active
  • évaluation dexpression dans contexte dexécution
  • page scrapbook
  • hot code replace

32
Les contributions des plug-ins Java
Java Perspective
Packages View Type Hierarchy View
Java Editor
Workbench
Wizards New Project,Package, Class, Interface,
...
PreferencesCode Formatter, coloring, templates
...
Java Nature
Core
Java Builder
Java Build Errors
points dextension
33
Perspective Java
34
PDE aide à la conception de plug-ins
  • Extension du JDT
  • Projet plug-in
  • ajoute la notion de plug-ins sur des projets Java
  • plug-ins, fragments, features
  • vue du manifeste
  • dépendances
  • Automatise
  • création
  • maintenance
  • import
  • déboguage
  • déploiement

35
Démo
36
Un projet Open Source
37
Eclipse en Open Source
  • Open Source depuis le 7 novembre 2001
  • CPL (common public license)
  • Processus dassemblage OS
  • assemblages étagés nocturne ? intégration ?
    stable
  • Développement OS signifie communication intense
  • listes de mailing lists, groupe de news,
    bugzilla
  • nous sommes devenus plus lent
  • mais notre développement est devenu plus
    transparent

38
eclipse.org une méritocratie
  • eclipse.org cimente une communauté qui contribue
  • conseil de délégués
  • définissent les projets
  • nomment les chefs de projets
  • examinent les projets
  • chefs de projets
  • gèrent le projet
  • établissent les règles de conduite
  • Chacun peut faire avancer Eclipse
  • groupes de discussion
  • design, code, documentation
  • Responsabilité f (contribution)

39
Direction dEclipse
  • Conseil de délégués venant des sociétés engagées
    à
  • utiliser la plateforme Eclipse en interne
  • concevoir des offres commerciales
  • contribuer et soutenir publiquement eclipse.org
  • Régie par la Common Public License
  • gratuité du code source
  • droits de redistribution pour le monde entier
  • permet lutilisation dans produits dérivés
  • détails sur http//www.eclipse.org

40
Whos on Board?
  • Wide range of software vendors on Eclipse board
  • Represent various development tool markets

September 2002
41
Conclusion
42
Status
  • version 1.0 livrée
  • version 2.0 en cours, builds disponibles sur
    www.eclipse.org quotidiennement
  • 150 sociétés signataires
  • 1200 développeurs
  • gt 1.000.000 téléchargements

43
Whos Shipping on Eclipse?
  • Rational XDE Professional v2002 Java Platform
    Edition
  • Rational Clearcase Plug-in for Eclipse Windows
  • Instantiations CodePro Studio V1.1
  • Parasoft Jtest 4.5a
  • Versant enJin 2.2.3
  • Merant PVCS Version Manager 6.8
  • Serena ChangeMan DS
  • Starbase StarTeam WebSphere Studio Integration
    Version 1.0
  • Telelogic Technologies North America, Telelogic
    CM Synergy 6.2

44
Whos Shipping on Eclipse?
  • IBM uses eclipse for WebSphere Studio product
    line
  • IBM WebSphere Studio Application Developer,
    Version 4.0.3
  • IBM WebSphere Studio Application Developer
    Integration Edition for Windows, v4.1
  • IBM WebSphere Studio Site Developer Advanced for
    Windows, V4.0.3
  • IBM WebSphere Studio Device Developer 4.0
  • IBM WebSphere Development Studio for iSeries
    V5R2
  • IBM WebSphere Studio Enterprise Developer (in
    beta)

September 2002
45
Venez nous rejoindre
  • www.eclipse.org
Write a Comment
User Comments (0)
About PowerShow.com