Eclipse

dla

Platforma

Śmiertelników

Solidna platforma do budowy aplikacji

 

Marcin Maciukiewicz

//

w w w. c i  u k e s . c o m

//

mm@ciukes.com

Eclipse

To coś więcej niż IDE
społeczność

rozszerzenia

łatwa rozbudowa
   

biblioteki

dystrybucje

Eclipse

Jak to się zaczęło?
Object Technology International

● Projekt powstał w kanadyjskim oddziale IBM ● Rozwijany przez

● Następca VisualAge

● W listopadzie 2001 powstaje fundacja

Eclipse.org

 

Rational Software Red Hat SuSE TogetherSoft Webgain
 

IBM Borland MERANT QNX Software Systems

Platforma

Eclipse

Co to jest?
OSGi Pluginy SWT JFace RCP

 

Punkty rozszerzania
 

EMF

Platforma

Eclipse

Co to jest?
Plug­ins Development Java Development IDE Other Search Team IDE Text Compare Debug

RCP Application Help Update Text

Rich Client Platform Workbench JFace SWT Plug­ins OSGi Workspace

Native UI
   

Native Resources

Platforma

Eclipse

Open Services Gateway initiative

specyfikacje komponentów komponenty zarządzanie

● jasny podział aplikacji na ● dynamiczne

 

 

Punkty rozszerzeń/pluginy

Platforma

Eclipse

punkt rozszerzania (extension point)
możliwość rozbudowy przez niezależnych dostawców

twórca definiuje punkt rozszerzenia (specification) dostawca dodaje rozszerzenie (contribution)

● niezależny

Platforma jest rozbudowywana
   

Platforma

Eclipse Standard Widget Toolkit (SWT)
N at yw L& F na

yw ny

w aj yd

at

ść no

N
 

Spójna biblioteka elementów interfejsu użytkownika
 

Platforma

Eclipse

● ●

Zapewnia standardowe okna dialogowe, okna komunikatów itp. Podstawy do budowy
złożonej interakcji z użytkownikiem

JFace

● Wspomaga

zarządzanie zasobami

( rejestr obrazów i czcionek )

 

 

Platforma

Eclipse

JFace jest uzależnione od SWT
SWT jest niezależne od JFace

SWT + JFace

Interfejs użytkownika w Eclipse
W niektórych wypadkach Eclipse

jest zbudowany z JFace i SWT.
używa SWT bezpośrednio.
Workbench JFace SWT

Native UI
   

Platforma

Rich Client Platform
RCP jest to

Eclipse

● Eclipse

podstawa do budowy aplikacji
● Eclipse

RCP jest to

serce każdej aplikacji
zbudowanej w oparciu o Eclipse
   

Platforma

Rich Client Platform
Menu Toolbar View's Toolbar

Eclipse

View's Toolbar

Editor View

View

View's Toolbar View
   

Platforma

Rich Client Platform

Eclipse

 

 

... w poprzednich odcinkach
● Open

Platforma

Eclipse

Services Gateway initiative (OSGi)

●Eclipse Plug-ins ● JFace

● Standard Widgets Toolkit (SWT) ● Rich Client Platform (RCP)
Rich Client Platform Workbench JFace SWT Plug­ins OSGi

 

  Native UI

Platforma

Eclipse Eclipse Modelling Framework
... dane ... konfiguracja ... komunikacja ...

Każda aplikacja posiada jakiś model Abstrakcyjna i uniwersalna obsługa modeli danych
● Wzorzec

Obserwator5 - wymiana zdarzeń

● Edycja, utrwalanie, prezentacja danych użytkownikowi, walidacja, transakcje, synchronizacja wielu modeli...

 

... EMF to temat rzeka
 

Eclipse Graphical Modelling Framework

Platforma

Graficzny edytor dla każdego

 

Daj mi swój model a stworzę Ci edytor
Jeśli masz model EMF to masz graficzny edytor
 

Wybrane projekty

Eclipse

● ●

UI zorientowane na zadania - Kontekst problemu Współpraca z repozytoriami problemów
Trac, Bugzilla, JIRA i inne

Mylyn

● Kontekst

współdzielony poprzez repozytorium
Jak

JA to naprawiłem?
Co ON tam nabroił?
 

 

Wybrane projekty

Eclipse

Monkey
daje radę

Automatyzacja zadań

● Nie służy do tworzenia pluginów ● Projekt jest w fazie rozwojowej ale ●

Groovy Monkey
Odgałęzienie które pokazuje jak powinno się rozwijać Monkey

● Jest dostępne

repozytorium skryptów
http://monkey.brain-bakery.com/
 

 

Wybrane projekty

Business Intelligence and Reporting Tools

Eclipse

Report Designer
Wymaga Eclipse.

Instalujesz, projektujesz i masz raport
● Do generowania i prezentacji raportów

nie potrzeba Eclipse
Przeżyj to sam... http://tinyurl.com/27snm9 (jeśli działa)    

Wybrane projekty

Dynamic Languages Toolkit
● Narzędzie/Biblioteka developerska stworzona dla każdego kto zajmuje się językami dynamicznymi. ● Składa się z elastycznych elementów, ułatwiając tworzenie środowisk wspierających dynamiczne języki... Perl, PHP, Ruby, Python, Tcl/Tk

Eclipse

 

 

Wybrane projekty

Eclipse

● Web Tools Platform

... i wiele innych

● Data Tools Platform ● Eclipse Communication Framework ● Open Financial Market Platform ● Open Healthcare Framework
 

Końca nie widać

http://www.eclipse.org/projects/listofprojects.php  

Katalogi pluginów

eclipseplugincentral.com(15) Build and Deploy (25) Code Management (42) Application Management (35) Application Server

Eclipse

eclipse-plugins.info

Database (40) Documentation (15) Editor (54) Entertainment (12) Graphics (7) IDE (68) J2EE Development Platform (21) J2ME (9) Languages (57) Modeling (67) Network (14) Other (37) Process (6) Profiling (9) Rich Client Applications (58) SCM (5) Source Code Analyzer (36) Systems Development (11) Team Development (52) Testing (57) Tools (139) UI (47) UML (34) Web (42) Web Services (18) XML (22) Ant (12) AspectJ (6) Bug Tracker (12) Business Process Tools (20) Code Generation (38) Code Generation/Modelling (19) Code mngt (41) Com,Corba,Idl,... (10) Database (50) Database Persistence (26) Decompiler (4) Deployment (24) Distribution Package (8) Documentation (18) Entertainment (47) Frameworks (11) Info - Website (10) J2EE development platform (68) Languages (51) Languages - C,.Net (19) Languages - Javascript (6) Languages - Macromedia (4) Languages others (42) LDAP (9) Logging (13) Misc (38) Mobile/PDA (16) Modelling (38) Network (13) Obsolete (54) Patterns (8) Profiling (15) Project management (11) Report (9) Rich Client (31) RSS (5) SAP (3) SCM (29) SCM - CVS (11) Source Code Analyzer (48) Source Code Formatter (5) Team (13) Testing (61) Tomcat (8) Tools (101) Tools (jar,classpath) (9) Tools - ContextMenu (22) Tools - Editor Enhancements (32) Tools - for eclipse (56) Tools - Math (4) Tools - Navigation (27) Tools - special editors (20) Tools - WebSearch (6) Tutorial (39) UI (45) UI components (29) UML (47) Web (63) Web Service (36) XML (45)

 

Jest w czym wybierać! Dyskusyjna jakość
 

Platforma
● Aptana ● Red

Wybrane (nie)komercyjne produkty/pluginy
Studio http://www.aptana.com/
Ruby On Rails, PHP, HTML, CSS, JavaScript, Adobe AIR, iPhone

Eclipse

Hat Developer Studio http://www.jboss.com/products/devstudio Development Tools http://rubyeclipse.sourceforge.net/

● PyDev http://pydev.sourceforge.net/ ● Ruby ● Erlide http://erlide.sourceforge.net/

● EclipseFP http://eclipsefp.sourceforge.net/ ● Adobe

Flex Builder http://www.adobe.com/products/flex/
http://www.rssowl.org/

● RSSOwl
 

● Azureus http://azureus.sourceforge.net/  

Platforma

Eclipse

Dystrybucje do komercyjnego produktu

Eclipse.org
● Java Developers ● Java EE Developers ● C/C++ Developers ● RCP/Plug-in Developers ● Classic

Niedaleko od dystrybucji

● ● ●

EasyEclipse http://tinyurl.com/2ox88t Yoxos http://tinyurl.com/23t5zu MyEclipseIDE http://tinyurl.com/22zd8c  

 

Platforma

Eclipse

... kontra reszta świata

Porównania

nie

mają
 

sensu
 

Platforma

Eclipse

Koniec

Marcin Maciukiewicz
mm@bluepocket.biz www.bluepocket.biz

 

Treść tej prezentacji jest objęta licencją Creative Commons Attribution 2.5 Poland License Pełna treść licencji jest dostępna pod adresem http://creativecommons.org/licenses/by/2.5/pl/