Eclipse dla Śmiertelników
description
Transcript of 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
rozszerzenia
EclipseTo coś więcej niż IDE
łatwa rozbudowa
dystrybucjebiblioteki
społeczność
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
Eclipse Co to jest?Platforma
OSGiPluginy
Punkty rozszerzania
SWT
JFace
RCPEMF
Eclipse Co to jest?Platforma
Rich Client Platform
OSGi
RCP Application
Help Update Text
Workspace
PluginsDevelopment
JavaDevelopment
Other
IDE Text Compare Debug Search TeamIDE
Workbench
Native UI Native Resources
SWTJFace
Plugins
EclipseOpen Services Gateway initiative
Platforma
● specyfikacje komponentów
● jasny podział aplikacji na komponenty● dynamiczne zarządzanie
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
EclipseStandard Widget Toolkit (SWT)Platforma
Spójna biblioteka elementów interfejsu użytkownika
Natywny L
&FNatywna wydajność
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 )
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
EclipseRich Client PlatformPlatforma
● Eclipse RCP jest to
podstawa do budowy aplikacji● Eclipse RCP jest to
serce każdej aplikacji
zbudowanej w oparciu o Eclipse
EclipseRich Client PlatformPlatforma
View
Toolbar
View
ViewEditor
Menu
View's Toolbar
View's Toolbar
View's Toolbar
EclipseRich Client PlatformPlatforma
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
Plugins
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
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
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ł?
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/
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)
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
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
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ść
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/
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
Eclipse... kontra reszta świataPlatforma
Porównania
niemają
sensu
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/