Vesmír jménem Eclipse
Libor Jelínek (Virtage Software) CZJUG @ Praha 30.9.2013
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek ●
evangelizátor Eclipse
●
zakladatel Eclipse User Group ČR
●
školitel Eclipse, Java, Ubuntu
●
8 let Java, 4 roky Eclipse
●
Eclipse RCP, OSGi, SWT/JFace
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Odkazy Eclipse User Group
http://eclipseczech.cz školení a podpora Eclipse
http://virtage.cz můj blog
http://devblog.virtage.com/ Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Eclipse DemoCamp 11.11.2013 ●
od 17:00 pondělí 11.11.2013
●
ČVUT fakulta strojní, Praha Dejvice
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Osnova a program 1) Úvod historie, úvod, novinky Kepler, známé aplikace nad Eclipse
2) Eclipse jako platforma SDK, RCP, OSGi, plugin, E4
3) Projekty RAP, Scout, RT, EMF, GEF, BIRT, M2, Xtend
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Historie Eclipse ●
1998 začátky v IBM Canada
●
jméno “Eclipse”
●
cíle obecná platforma pro vývoj rich clientů – konsolidace původních IDE IBM VisualAge 2001 konsorcium, uvolnění jako open-source –
● ●
2004 Eclipse Foundation
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Eclipse Foundation ●
jako Codehouse, Apache, Tigris, FSF….
●
občas jsou “darovány”, jiné z inkubátoru
●
member companies a jejich role
●
commercial-friendly EPL licence
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Verze Eclipse Rok
Verze
2004
3.0
2005
3.1
2006
3.2
Callisto
2007
3.3
Europa
2008
3.4
Ganymede
2009
3.5
Galileo
2010
3.6
Helios
2011
3.7
Indigo
2012
4.2/3.8
Juno
2013
4.3
Kepler
2014
4.4
Luna
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Codename
Simultanous release (simrel) ●
od roku 2006 (Callisto)
●
minulý rok dvě verze 3.8/4.2
●
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Kepler SR ●
72 projektů
●
vynecháno Jetty, Virgo, RPP, Xtend
●
428 commiterů
●
54 organizací
●
48k commitů
●
4786 OSGi bundlů
●
915 features
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Kepler stats
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Eclipse IDE ●
IDE pro všechno a nic konkrétně
●
vše je plug-in kromě minimálního OSGi runtime
●
základ Eclipse RCP
●
neinstaluje se
●
multiplaformní
●
package solutions
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Vylepšení JDT – např. ● ●
●
●
convert to 'if-!-return' Javadoc a Declaracation view out of sync Klikatelný balíček v Javadoc view Vylepšení vyhodnocování generik při debuggování Vesmír jménem Eclipse Hledání celého slova
Libor Jelínek, Virtage Software ● www.virtage.cz/eclipse/
JGit a EGit ●
JGit – 100% Java implementace Gitu
●
EGit – GUI klient
●
není součástí všech package solutions
●
JGit v NetBeans, CollabNet GitEye, Gerrit atd.
●
asi nejzásadnější změna v historii Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
(J/E)Git 3.0 v Kepleru ●
Git výrazy (HEAD^, commit hash ap.) Reset dialogu
●
GUI pro git clean
●
Rozpoznání přejmenování
●
GUI pro 3-way merge
●
JGit rychlejší, než nativní Git
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Maven a Eclipse ●
m2e – IDE netural projects
●
Tycho build místo zastaralého PDE Buildu
●
m2e-wtp dosáhl v Kepleru dosáhl verze 1.0 – – – –
Java EE do Maven funkční podpora WTP hot-deploy reaguje na změny pom.xml bez restartu konektory pro JAX-RS, JPA, JSF
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
IDE založené na Eclipse ●
Java - JDT
●
Android – ADT
●
● ● ● ●
●
HTML, CSS, JS – Aptana
● ●
JEE – WTP
PHP – PDT a Zend Studio Python – PyDev Ruby & RoR RadRails
IBM Rational software
●
Go – Goclipse
C/C++ - CDT
●
Scala – Scala IDE
Linux tools
●
Perl - EPIC
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Další a další IDE a nástroje... ●
Spring STS
●
MyEclipse
●
JBoss Studio
●
Nvidia Nsight
●
● ●
●
SAP NetWeaver Studio
●
Force.com IDE
●
Apache Directory Studio SmartGit
Click IDE (Apache Click) BEA Workspace IDE
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Ne IDE aplikace ●
pošta – IBM Lotus Notes a Designer
●
medicína – STEM
●
statistika – Polyspace biologoie – Bioclipse
●
CRM – CAS CRM
●
●
mind mapy – XMind
●
●
… desítky dalších ●
věd. analýza GumTree GIS – uDig GIS
●
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Orion ●
webové IDE pro web vývoj
●
výhody x nevýhody
●
built-in podpora Gitu
●
embed do další aplikace
●
orionhub.org nebo spusťte na localhostu
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
SWT/JFace ●
grafická knižnice SWT/JFace
●
vznik, důvod
●
rozdíl SWT a JFace
●
rozdíl oproti Swingu
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
WindowBuilder ● ●
●
zdarma od Googlu (ne původně) SWT/JFace, Swing, Eclipse workbench (views, editors) renderuje pomocí GEF
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Eclipse SDK, RCP, Platform (“core”) ●
Eclipse SDK = JDT + PDE + Platform
●
Eclipse Platform – základ pro tvorbu IDEs
●
Eclipse RCP = Runtime (nad OSGi) + SWT + JFace + Workbench
●
vše je plug-in kromě Runtime
●
termíny se trochu překrývají
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Eclipse SDK, RCP, Platform (“core”)
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
komponenty Platformy ●
Ant - …
●
Resource management
●
Debug – obecný debug execution framework
●
Releng – PDE Build a nyní spíše Tycho
●
Search – integrovaný pluggable search
●
SWT a JFace
●
●
User Assistance – Help, Welcome page, Cheat sheets UI – okno IDE, window management, Forms, Vesmír jménem Eclipse CNF
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Oproti NetBeans Platform ●
SWT/JFace (rychlost a vzhled)
●
OSGi
●
zdokumentováno
●
eko-systém a komunita
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
OSGi ●
●
●
●
●
modulární systém a “SOA” platforma Runtime postaven nad OSGi frameworkem Eclipse plug-in = OSGi bundle JAR s hlavičkami v manifest.mf Eclipse Equinox
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
OSGi bundle stavy
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
OSGi hlavičky Bundle-Name: Hello World Bundle-SymbolicName: org.wikipedia.helloworld Bundle-Description: A Hello World bundle Bundle-ManifestVersion: 2 Bundle-Version: 1.0.0 Bundle-Activator: org.wikipedia.Activator Export-Package: org.wikipedia.helloworld;version="1.0.0" Import-Package: Libor Jelínek, Virtage Software Vesmír jménem Eclipse org.osgi.framework;version="1.3.0" www.virtage.cz/eclipse/
OSGi bundle vs. Eclipse plug-in ●
MANIFEST.MF – –
●
závilosti publikované balíčky
plugin.xml – Equinox extension mechanism – – –
extension points – bod rozšíření pro ostatní plug-iny extensions – “vložení” (contribution) do ext. pointu kódu i zdroje (obrázek, konf. soubor) v E4 většinou omezeno jen na nastavení konf. souborů ap.
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
E4 ●
●
změna spíše pro programátora
●
–
vývoj založený na DI a anotacích
●
to nejlepší z 3.x
●
zpětná kompatibilita
– ●
●
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
aplikační model modifikovatelný za běhu rozšířitelný
CSS stylování widgetů oddělení model od reprezentace (více rendererů)
Vesmír jménem Eclipse
E4 dependency injection // E3 PlatformUI.getWorkbench(). getActiveWorkbenchWindow(). getSelectionService(). getSelection(); // E4 @Inject ESelectionService Vesmír jménem selectionService; Eclipse Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
E4 IDE aplikace
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
E4 RCP aplikace
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
RAP ●
●
● ●
Rich AJAX Platform → Remote Application Platform bohužel trochu zastíněno GWT (Vaadin), ZK, WaveMaker obecná platforma pro vývoj moderního UI dříve jen web, nyní Andoid a iOS (otevřený protokol)
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
RAP – podrobně ●
Widget toolkit
●
Cross platform
●
standardní JEE servlet
●
OSGi ale i samostatně
●
HA: load balancing, session failover
●
tooling pro RAP – Eclipse for RCP/RAP, WindowBuilder
●
Single sourcing
●
integrace BIRT reportů Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
RAP 2.1 (Kepler) novinky ●
zásadní změna už s 2.0
●
JSON client-server protokol
●
●
řada nových API – např. pro vytvářeních custom widgetů Kepler: –
mnemoniky a akcelerátory vylepšení GC
–
oprava multiple sessions
–
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
v
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Eclipse Scout ●
●
●
●
distribuované enterprise aplikace “generuje” SWT a Swing nebo RAP aplikace funkcionalita Scoutu jsou běžné OSGi služby sada základní služeb od Scoutu
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Eclipse RT ●
ECF
●
Equinox
●
Jetty
●
●
Gemini –
Virgo (dříve Spring DM Server)
– – – – –
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Blueprint (dříve Spring DM) Management DBAccess naming JPA Web
Darované a ostatní ●
EclipseLink
●
Hudson
●
MAT
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Modelování a grafika ●
EMF - modelling
●
GEF – grafické editory
●
BIRT - reporting
●
Startdust - BPM
●
Graphiti
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
EMF ●
●
●
modelling and code generation framework určený k tvorbě aplikací založených na strukturovaném modelu
●
EMF vygeneruje – – –
model specifikován v XMI (XML) (Ecore)
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Java třídy modelu adapter třídy pro zobrazení a editaci základní editor
GEF ●
vytváření rich grafických editorů (a prohlížečů)
●
Podprojekty GEF: –
Draw2d – základ postavený nad SWT GEF (MVC) – to co myslíme pod pojmem GEF
–
Zest – grafy a kreslení
–
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Draw2d
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Startdust
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
BIRT ●
reporting a BI toolset
●
Reporting Designer GUI
●
konsolidace z více zdrojů
●
● ●
deploy/embed do webové aplikace, Swing a ERCP podobné Jasper, Crystal Reports Kepler: umí číst z NoSQL (Cassandra, MongoDB)
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
M2M ●
machine-to-machine
●
“emerging” téma
–
Eclipse M2M Industry Working Group
–
Koneki Paho
–
Mihihi
●
–
otevřené komunikační protokoly nástroje
–
frameworky
–
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
●
Projekty Eclipse M2M
Vesmír jménem Eclipse
Xtend ●
●
●
kompiluje se do Java člověk čitelného zdrojového kódu existující Java knihovny použitelné z Xtendu i obráceně “CoffeScript for Java”
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Příklad HelloWorld class HelloWorld { def static void main(String[] args) { println("Hello World") } }
import org.eclipse.xtext.xbase.lib.InputOutput; public class HelloWorld { public static void main(final String[] args) { InputOutput.println("Hello World"); } }
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Xtext ●
framework pro vývoj – –
● ●
●
programovacích jazyků DSL (domain specific languages)
pomocí gramatiky vše od parseru, linkeru, compileru nebo interpretu předně však rovnou IDE postavené na Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
AspectJ a AJDT ●
● ●
nejpoužívanější aspektově orientované rozšíření Javy podpora ve Spring modularizace crosscutting concerns
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Mylyn ● ●
●
●
task-focused UI integrace do Bugzilla, Trac, Github, ... když chcete být agilní a ALM :-) WikiText
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
Zapojte se! Eclipse.org:
EUGCZ:
●
fórum
●
www.eclipseczech.cz
●
Bugzilla
●
fórum
●
Eclipsepedia
●
Twitter, FB
●
newsletter
●
zdrojáky (git.e + github)
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse
www.virtage.cz Školení Eclipse
Školení Java
●
Eclipse IDE
●
jazyk Java
●
RCP 3.x a 4.x
●
Maven
●
OSGi
●
JUnit
●
SWT/JFace Školení Ubuntu ●
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
uživatel i správce
Vesmír jménem Eclipse
Otázky?
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/
Vesmír jménem Eclipse