Eclipse dla Śmiertelników

26
 Eclipse Solidna platforma do budowy aplikacji dla Platforma Marcin Maciukiewicz // www.ciukes.com // [email protected] Śmiertelników

description

Wprowadzenie do platformy do Eclipse

Transcript of Eclipse dla Śmiertelników

Page 1: Eclipse dla Śmiertelników

   

EclipseSolidna platforma do budowy aplikacji

dla

Platforma

M a r c i n M a c i u k i e w i c z / / w w w. c i u ke s . c o m / / m m @ c i u ke s . c o m

Śmiertelników

Page 2: Eclipse dla Śmiertelników

   

rozszerzenia

EclipseTo coś więcej niż IDE

łatwa rozbudowa

dystrybucjebiblioteki

społeczność

Page 3: Eclipse dla Śmiertelników

   

EclipseJak to się zaczęło?● Projekt powstał w kanadyjskim oddziale IBM● Rozwijany przez Object Technology International

● Następca VisualAge● W listopadzie 2001 powstaje fundacja

Eclipse.orgIBM Borland MERANT QNX Software Systems

Rational Software Red Hat SuSE TogetherSoft Webgain

Page 4: Eclipse dla Śmiertelników

   

Eclipse Co to jest?Platforma

OSGiPluginy

Punkty rozszerzania

SWT

JFace

RCPEMF

Page 5: Eclipse dla Śmiertelników

   

Eclipse Co to jest?Platforma

Rich Client Platform

OSGi

RCP Application

Help Update Text

Workspace

Plug­insDevelopment

JavaDevelopment

Other

IDE Text Compare Debug Search TeamIDE

Workbench

Native UI Native Resources

SWTJFace

Plug­ins

Page 6: Eclipse dla Śmiertelników

   

EclipseOpen Services Gateway initiative

Platforma

● specyfikacje komponentów

● jasny podział aplikacji na komponenty● dynamiczne zarządzanie

Page 7: Eclipse dla Śmiertelników

   

EclipsePunkty rozszerzeń/pluginyPlatforma

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

● twórca definiuje punkt rozszerzenia (specification)

● niezależny dostawca dodaje rozszerzenie (contribution)

Platforma jest rozbudowywana

Page 8: Eclipse dla Śmiertelników

   

EclipseStandard Widget Toolkit (SWT)Platforma

Spójna biblioteka elementów interfejsu użytkownika

Natywny L

&FNatywna wydajność

Page 9: Eclipse dla Śmiertelników

   

EclipseJFacePlatforma

● Zapewnia standardowe okna dialogowe, okna komunikatów itp.

● Podstawy do budowy złożonej interakcji z użytkownikiem

● Wspomaga zarządzanie zasobami

( rejestr obrazów i czcionek )

Page 10: Eclipse dla Śmiertelników

   

EclipseSWT + JFacePlatforma

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

● Interfejs użytkownika w Eclipse jest zbudowany z JFace i SWT.

W niektórych wypadkach Eclipse

używa SWT bezpośrednio.Workbench

Native UI

SWTJFace

Page 11: Eclipse dla Śmiertelników

   

EclipseRich Client PlatformPlatforma

● Eclipse RCP jest to

podstawa do budowy aplikacji● Eclipse RCP jest to

serce każdej aplikacji

zbudowanej w oparciu o Eclipse

Page 12: Eclipse dla Śmiertelników

   

EclipseRich Client PlatformPlatforma

View

Toolbar

View

ViewEditor

Menu

View's Toolbar

View's Toolbar

View's Toolbar

Page 13: Eclipse dla Śmiertelników

   

EclipseRich Client PlatformPlatforma

Page 14: Eclipse dla Śmiertelników

   

Eclipse... w poprzednich odcinkachPlatforma

● Open Services Gateway initiative (OSGi)●Eclipse Plug-ins● Standard Widgets Toolkit (SWT)● JFace● Rich Client Platform (RCP)

Rich Client Platform

OSGiWorkbench

Native UI

SWTJFace

Plug­ins

Page 15: Eclipse dla Śmiertelników

   

EclipseEclipse Modelling FrameworkPlatforma

Każda aplikacja posiada jakiś model... dane ... konfiguracja ... komunikacja ...

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

Page 16: Eclipse dla Śmiertelników

   

EclipseGraphical Modelling FrameworkPlatforma

Graficzny edytor dla każdego

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

Page 17: Eclipse dla Śmiertelników

   

EclipseMylynWybrane projekty

● UI zorientowane na zadania - Kontekst problemu

● Współpraca z repozytoriami problemów

Trac, Bugzilla, JIRA i inne

● Kontekst współdzielony poprzez repozytorium

Jak JA to naprawiłem?

Co ON tam nabroił?

Page 18: Eclipse dla Śmiertelników

   

EclipseMonkeyWybrane projekty

● Automatyzacja zadań● Nie służy do tworzenia pluginów

● Projekt jest w fazie rozwojowej ale daje radę● Groovy Monkey

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

● Jest dostępne repozytorium skryptówhttp://monkey.brain-bakery.com/

Page 19: Eclipse dla Śmiertelników

   

EclipseBusiness Intelligence and Reporting ToolsWybrane projekty

● 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)

Page 20: Eclipse dla Śmiertelników

   

EclipseDynamic Languages ToolkitWybrane projekty

● 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

Page 21: Eclipse dla Śmiertelników

   

Eclipse... i wiele innychWybrane projekty

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

Końca nie widać http://www.eclipse.org/projects/listofprojects.php

Page 22: Eclipse dla Śmiertelników

   

Eclipseeclipseplugincentral.com

Katalogi pluginów

Application Management (35) Application Server (15) Build and Deploy (25) Code Management (42) 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)

eclipse-plugins.infoAnt (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ść

Page 23: Eclipse dla Śmiertelników

   

EclipseWybrane (nie)komercyjne produkty/pluginy

Platforma

● Aptana Studio http://www.aptana.com/

Ruby On Rails, PHP, HTML, CSS, JavaScript, Adobe AIR, iPhone

● Red Hat Developer Studio http://www.jboss.com/products/devstudio

● PyDev http://pydev.sourceforge.net/

● Ruby Development Tools http://rubyeclipse.sourceforge.net/

● Erlide http://erlide.sourceforge.net/

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

● Adobe Flex Builder http://www.adobe.com/products/flex/

● RSSOwl http://www.rssowl.org/

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

Page 24: Eclipse dla Śmiertelników

   

Eclipse DystrybucjePlatforma

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

● EasyEclipse http://tinyurl.com/2ox88t

● Yoxos http://tinyurl.com/23t5zu

● MyEclipseIDE http://tinyurl.com/22zd8c

Niedaleko od dystrybucji do komercyjnego

produktu

Page 25: Eclipse dla Śmiertelników

   

Eclipse... kontra reszta świataPlatforma

Porównania

niemają

sensu

Page 26: Eclipse dla Śmiertelników

   

EclipseKoniec

Platforma

Marcin [email protected]

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