vesmír jménem eclipse - java · debug – obecný debug execution framework releng – pde build...

91
Libor Jelínek, Virtage Software www.virtage.cz/eclipse/ Vesmír jménem Eclipse Vesmír jménem Eclipse Vesmír jménem Eclipse Libor Jelínek (Virtage Software) CZJUG @ Praha 30.9.2013

Upload: others

Post on 10-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Vesmír jménem EclipseVesmír jménem Eclipse

Libor Jelínek (Virtage Software)CZJUG @ Praha30.9.2013

Page 2: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Libor JelínekLibor Jelínek

● evangelizátor Eclipseevangelizátor Eclipse● zakladatel Eclipse User Group ČRzakladatel Eclipse User Group ČR● školitel Eclipse, Java, Ubuntuškolitel Eclipse, Java, Ubuntu● 8 let Java, 4 roky Eclipse8 let Java, 4 roky Eclipse● Eclipse RCP, OSGi, SWT/JFaceEclipse RCP, OSGi, SWT/JFace

Page 3: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

OdkazyOdkazy

Eclipse User GroupEclipse User Group

http:/ /ecl ipseczech.czhttp:/ /ecl ipseczech.cz

školení a podpora Eclipseškolení a podpora Eclipse

http:/ /virtage.czhttp:/ /virtage.cz

můj blogmůj blog

http:/ /devblog.virtage.com/http:/ /devblog.virtage.com/

Page 4: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Eclipse DemoCamp 11.11.2013Eclipse DemoCamp 11.11.2013

● od 17:00 pondělí 11.11.2013od 17:00 pondělí 11.11.2013● ČVUT fakulta strojní, Praha DejviceČVUT fakulta strojní, Praha Dejvice

Page 5: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Osnova a programOsnova a program

1) Úvod1) Úvod

historie, úvod, novinky historie, úvod, novinky Kepler, známé aplikace Kepler, známé aplikace nad Eclipsenad Eclipse

2) Eclipse jako 2) Eclipse jako platformaplatforma

SDK, RCP, OSGi, plug-SDK, RCP, OSGi, plug-in, E4in, E4

3) Projekty3) Projekty

RAP, Scout, RT, EMF, RAP, Scout, RT, EMF, GEF, BIRT, M2, XtendGEF, BIRT, M2, Xtend

Page 6: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Historie EclipseHistorie Eclipse

● 1998 začátky v IBM Canada1998 začátky v IBM Canada● jméno “Eclipse”jméno “Eclipse”● cílecíle

– obecná platforma pro vývoj rich clientůobecná platforma pro vývoj rich clientů– konsolidace původních IDE IBM VisualAgekonsolidace původních IDE IBM VisualAge

● 2001 konsorcium, uvolnění jako open-source2001 konsorcium, uvolnění jako open-source● 2004 Eclipse Foundation2004 Eclipse Foundation

Page 7: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Eclipse FoundationEclipse Foundation

● jako Codehouse, Apache, Tigris, FSF….jako Codehouse, Apache, Tigris, FSF….● občas jsou “darovány”, jiné z inkubátoruobčas jsou “darovány”, jiné z inkubátoru● member companies a jejich rolemember companies a jejich role● commercial-friendly EPL licencecommercial-friendly EPL licence

Page 8: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Verze EclipseVerze Eclipse

Rok Verze Codename

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

Page 9: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Simultanous release (simrel)Simultanous release (simrel)

● od roku 2006 (Callisto)od roku 2006 (Callisto)● minulý rok dvě verze 3.8/4.2minulý rok dvě verze 3.8/4.2●

Page 10: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Kepler SRKepler SR

● 72 projektů72 projektů● vynecháno Jetty, Virgo, RPP, Xtendvynecháno Jetty, Virgo, RPP, Xtend● 428 commiterů428 commiterů● 54 organizací54 organizací● 48k commitů48k commitů● 4786 OSGi bundlů4786 OSGi bundlů● 915 features915 features

Page 11: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Kepler statsKepler stats

Page 12: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Eclipse IDEEclipse IDE

● IDE pro všechno a nic konkrétněIDE pro všechno a nic konkrétně● vše je plug-in kromě minimálního OSGi runtimevše je plug-in kromě minimálního OSGi runtime● základ Eclipse RCPzáklad Eclipse RCP● neinstaluje seneinstaluje se● multiplaformnímultiplaformní● package solutionspackage solutions

Page 13: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 14: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 15: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 16: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 17: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 18: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Vylepšení JDT – např.Vylepšení JDT – např.

● convert to 'if-!-return'convert to 'if-!-return'● Javadoc a Javadoc a

Declaracation view Declaracation view out of syncout of sync

● Klikatelný balíček v Klikatelný balíček v Javadoc viewJavadoc view

● Vylepšení Vylepšení vyhodnocování vyhodnocování generik při generik při debuggovánídebuggování

● Hledání celého slovaHledání celého slova● Posledně použité Posledně použité

karty hledání karty hledání (“remember last (“remember last used”)used”)

● JUnit přeskočené JUnit přeskočené testytesty

Page 19: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

JGit a EGitJGit a EGit

● JGit – 100% Java implementace GituJGit – 100% Java implementace Gitu● EGit – GUI klientEGit – GUI klient● není součástí všech package solutionsnení součástí všech package solutions● JGit v NetBeans, CollabNet GitEye, Gerrit atd.JGit v NetBeans, CollabNet GitEye, Gerrit atd.● asi nejzásadnější změna v historii Eclipseasi nejzásadnější změna v historii Eclipse

Page 20: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

(J/E)Git 3.0 v Kepleru(J/E)Git 3.0 v Kepleru

● Git výrazy (HEAD^, commit hash ap.) Reset Git výrazy (HEAD^, commit hash ap.) Reset dialogudialogu

● GUI pro git cleanGUI pro git clean● Rozpoznání přejmenováníRozpoznání přejmenování● GUI pro 3-way mergeGUI pro 3-way merge● JGit rychlejší, než nativní GitJGit rychlejší, než nativní Git

Page 21: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Maven a EclipseMaven a Eclipse

● m2em2e – IDE netural projects– IDE netural projects● TychoTycho build místo zastaralého PDE Buildubuild místo zastaralého PDE Buildu● m2e-wtp m2e-wtp dosáhl v Kepleru dosáhl verze 1.0dosáhl v Kepleru dosáhl verze 1.0

– Java EE do Maven funkčníJava EE do Maven funkční

– podpora WTP hot-deploypodpora WTP hot-deploy

– reaguje na změny pom.xml bez restartureaguje na změny pom.xml bez restartu

– konektory pro JAX-RS, JPA, JSFkonektory pro JAX-RS, JPA, JSF

Page 22: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

IDE založené na EclipseIDE založené na Eclipse

● Java - JDTJava - JDT● Android – ADTAndroid – ADT● HTML, CSS, JS – HTML, CSS, JS –

AptanaAptana● JEE – WTPJEE – WTP● IBM Rational softwareIBM Rational software● C/C++ - CDTC/C++ - CDT● Linux toolsLinux tools

● PHP – PDT a Zend PHP – PDT a Zend StudioStudio

● Python – PyDevPython – PyDev● Ruby & RoR - Ruby & RoR -

RadRailsRadRails● Go – GoclipseGo – Goclipse● Scala – Scala IDEScala – Scala IDE● Perl - EPICPerl - EPIC

Page 23: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Další a další IDE a nástroje...Další a další IDE a nástroje...

● Spring STSSpring STS● JBoss StudioJBoss Studio● SAP NetWeaver SAP NetWeaver

StudioStudio● Force.com IDEForce.com IDE● Click IDE (Apache Click IDE (Apache

Click)Click)● BEA Workspace IDEBEA Workspace IDE

● MyEclipseMyEclipse● Nvidia NsightNvidia Nsight● Apache Directory Apache Directory

StudioStudio● SmartGitSmartGit

Page 24: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 25: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 26: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 27: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Ne IDE aplikaceNe IDE aplikace

● pošta – IBM Lotus pošta – IBM Lotus Notes a DesignerNotes a Designer

● CRM – CAS CRMCRM – CAS CRM● mind mapy – XMindmind mapy – XMind● … … desítky dalšíchdesítky dalších

● medicína – STEMmedicína – STEM● statistika – Polyspacestatistika – Polyspace● biologoie – Bioclipsebiologoie – Bioclipse● věd. analýza - věd. analýza -

GumTreeGumTree● GIS – uDig GISGIS – uDig GIS●

Page 28: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 29: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 30: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 31: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 32: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 33: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 34: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 35: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 36: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 37: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 38: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 39: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 40: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 41: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 42: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 43: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

OrionOrion

● webové IDE pro web vývojwebové IDE pro web vývoj● výhody x nevýhodyvýhody x nevýhody● built-in podpora Gitubuilt-in podpora Gitu● embed do další aplikaceembed do další aplikace● orionhub.org nebo spusťte na localhostuorionhub.org nebo spusťte na localhostu

Page 44: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 45: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 46: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

SWT/JFaceSWT/JFace

● grafická knižnice SWT/JFacegrafická knižnice SWT/JFace● vznik, důvodvznik, důvod● rozdíl SWT a JFacerozdíl SWT a JFace● rozdíl oproti Swingurozdíl oproti Swingu

Page 47: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

WindowBuilderWindowBuilder

● zdarma od Googlu (ne původně)zdarma od Googlu (ne původně)● SWT/JFace, Swing, Eclipse workbench (views, SWT/JFace, Swing, Eclipse workbench (views,

editors)editors)● renderuje pomocí GEFrenderuje pomocí GEF

Page 48: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 49: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Eclipse SDK, RCP, Platform (“core”)Eclipse SDK, RCP, Platform (“core”)

● Eclipse SDK = JDT + PDE + PlatformEclipse SDK = JDT + PDE + Platform

● Eclipse Platform – základ pro tvorbu IDEsEclipse Platform – základ pro tvorbu IDEs

● Eclipse RCP = Runtime (nad OSGi) + SWT + JFace + Eclipse RCP = Runtime (nad OSGi) + SWT + JFace + WorkbenchWorkbench

● vše je plug-in kromě Runtimevše je plug-in kromě Runtime

● termíny se trochu překrývajítermíny se trochu překrývají

Page 50: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Eclipse SDK, RCP, Platform (“core”)Eclipse SDK, RCP, Platform (“core”)

Page 51: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

komponenty Platformykomponenty Platformy

● Ant - …Ant - …● Resource managementResource management● Debug – obecný debug execution frameworkDebug – obecný debug execution framework● Releng – PDE Build a nyní spíše TychoReleng – PDE Build a nyní spíše Tycho● Search – integrovaný pluggable searchSearch – integrovaný pluggable search● SWT a JFaceSWT a JFace● User Assistance – Help, Welcome page, Cheat User Assistance – Help, Welcome page, Cheat

sheetssheets● UI – okno IDE, window management, Forms, UI – okno IDE, window management, Forms,

CNFCNF● Commands – nahrazují SWT ActionsCommands – nahrazují SWT Actions

Page 52: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Oproti NetBeans PlatformOproti NetBeans Platform

● SWT/JFace (rychlost a vzhled)SWT/JFace (rychlost a vzhled)● OSGiOSGi● zdokumentovánozdokumentováno● eko-systém a komunitaeko-systém a komunita

Page 53: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

OSGiOSGi

● modulární systém a modulární systém a “SOA” platforma“SOA” platforma

● Runtime postaven Runtime postaven nad OSGi nad OSGi frameworkemframeworkem

● Eclipse plug-in = Eclipse plug-in = OSGi bundleOSGi bundle

● JAR s hlavičkami v JAR s hlavičkami v manifest.mfmanifest.mf

● Eclipse EquinoxEclipse Equinox

Page 54: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

OSGi bundle stavyOSGi bundle stavy

Page 55: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

OSGi hlavičkyOSGi hlavičky

Bundle-Name: Hello WorldBundle-Name: Hello World

Bundle-SymbolicName: Bundle-SymbolicName: org.wikipedia.helloworldorg.wikipedia.helloworld

Bundle-Description: A Hello World bundleBundle-Description: A Hello World bundle

Bundle-ManifestVersion: 2Bundle-ManifestVersion: 2

Bundle-Version: 1.0.0Bundle-Version: 1.0.0

Bundle-Activator: org.wikipedia.ActivatorBundle-Activator: org.wikipedia.Activator

Export-Package: Export-Package: org.wikipedia.helloworld;version="1.0.0"org.wikipedia.helloworld;version="1.0.0"

Import-Package: Import-Package: org.osgi.framework;version="1.3.0"org.osgi.framework;version="1.3.0"

Page 56: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

OSGi bundle vs. Eclipse plug-inOSGi bundle vs. Eclipse plug-in

● MANIFEST.MFMANIFEST.MF– závilostizávilosti

– publikované balíčkypublikované balíčky

● plugin.xml – Equinox extension mechanismplugin.xml – Equinox extension mechanism– extension points – bod rozšíření pro ostatní plug-iny extension points – bod rozšíření pro ostatní plug-iny

– extensions – “vložení” (contribution) do ext. pointu extensions – “vložení” (contribution) do ext. pointu kódu i zdroje (obrázek, konf. soubor)kódu i zdroje (obrázek, konf. soubor)

– v E4 většinou omezeno jen na nastavení konf. v E4 většinou omezeno jen na nastavení konf. souborů ap.souborů ap.

Page 57: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

E4E4

● změna spíše pro změna spíše pro programátoraprogramátora

● vývoj založený na DI vývoj založený na DI a anotacícha anotacích

● to nejlepší z 3.xto nejlepší z 3.x● zpětná kompatibilitazpětná kompatibilita

● aplikační modelaplikační model– modifikovatelný za modifikovatelný za

běhuběhu

– rozšířitelnýrozšířitelný

● CSS stylování CSS stylování widgetůwidgetů

● oddělení model od oddělení model od reprezentace (více reprezentace (více rendererů)rendererů)

Page 58: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

E4 dependency injectionE4 dependency injection

// E3// E3

PlatformUI.getWorkbench().PlatformUI.getWorkbench().

getActiveWorkbenchWindow().getActiveWorkbenchWindow().

getSelectionService().getSelectionService().

getSelection();getSelection();

// E4// E4

@Inject@Inject

ESelectionService selectionService;ESelectionService selectionService;

Page 59: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

E4 IDE aplikaceE4 IDE aplikace

Page 60: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

E4 RCP aplikaceE4 RCP aplikace

Page 61: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

RAPRAP

● Rich AJAX Platform → Remote Application Rich AJAX Platform → Remote Application PlatformPlatform

● bohužel trochu zastíněno GWT (Vaadin), ZK, bohužel trochu zastíněno GWT (Vaadin), ZK, WaveMakerWaveMaker

● obecná platforma pro vývoj moderního UIobecná platforma pro vývoj moderního UI● dříve jen web, nyní Andoid a iOS (otevřený dříve jen web, nyní Andoid a iOS (otevřený

protokol)protokol)

Page 62: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

RAP – podrobněRAP – podrobně

● Widget toolkitWidget toolkit● Cross platformCross platform● standardní JEE servletstandardní JEE servlet● OSGi ale i samostatněOSGi ale i samostatně● HA: load balancing, session failoverHA: load balancing, session failover● tooling pro RAP – Eclipse for RCP/RAP, tooling pro RAP – Eclipse for RCP/RAP,

WindowBuilderWindowBuilder● Single sourcingSingle sourcing● integrace BIRT reportůintegrace BIRT reportů

Page 63: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 64: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 65: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

RAP 2.1 (Kepler) novinkyRAP 2.1 (Kepler) novinky

● zásadní změna už s 2.0zásadní změna už s 2.0● JSON client-server protokolJSON client-server protokol● řada nových API – např. pro vytvářeních řada nových API – např. pro vytvářeních

custom widgetůcustom widgetů● Kepler:Kepler:

– mnemoniky a akcelerátorymnemoniky a akcelerátory

– vylepšení GCvylepšení GC

– oprava multiple sessionsoprava multiple sessions

Page 66: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

v

Page 67: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Eclipse ScoutEclipse Scout

● distribuované distribuované enterprise aplikaceenterprise aplikace

● ““generuje” SWT a generuje” SWT a Swing nebo RAP Swing nebo RAP aplikaceaplikace

● funkcionalita Scoutu funkcionalita Scoutu jsou běžné OSGi jsou běžné OSGi službyslužby

● sada základní služeb sada základní služeb od Scoutuod Scoutu

Page 68: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Eclipse RTEclipse RT

● ECFECF● EquinoxEquinox● JettyJetty● Virgo (dříve Spring Virgo (dříve Spring

DM Server)DM Server)

● GeminiGemini– Blueprint (dříve Spring Blueprint (dříve Spring

DM)DM)

– ManagementManagement

– DBAccessDBAccess

– namingnaming

– JPAJPA

– WebWeb

Page 69: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Darované a ostatníDarované a ostatní

● EclipseLinkEclipseLink● HudsonHudson● MATMAT

Page 70: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Modelování a grafikaModelování a grafika

● EMF - modellingEMF - modelling● GEF – grafické editoryGEF – grafické editory● BIRT - reportingBIRT - reporting● Startdust - BPMStartdust - BPM● GraphitiGraphiti

Page 71: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

EMFEMF

● modelling and code modelling and code generation frameworkgeneration framework

● určený k tvorbě určený k tvorbě aplikací založených aplikací založených na strukturovaném na strukturovaném modelumodelu

● model specifikován v model specifikován v XMI (XML) (Ecore)XMI (XML) (Ecore)

● EMF vygenerujeEMF vygeneruje– Java třídy modeluJava třídy modelu

– adapter třídy pro adapter třídy pro zobrazení a editacizobrazení a editaci

– základní editorzákladní editor

Page 72: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

GEFGEF

● vytváření rich grafických editorů (a prohlížečů)vytváření rich grafických editorů (a prohlížečů)● Podprojekty GEF:Podprojekty GEF:

– Draw2d – základ postavený nad SWTDraw2d – základ postavený nad SWT

– GEF (MVC) – to co myslíme pod pojmem GEFGEF (MVC) – to co myslíme pod pojmem GEF

– Zest – grafy a kresleníZest – grafy a kreslení

Page 73: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Draw2dDraw2d

Page 74: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 75: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 76: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 77: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 78: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

StartdustStartdust

Page 79: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

BIRTBIRT

● reporting a BI toolsetreporting a BI toolset● Reporting Designer GUIReporting Designer GUI● konsolidace z více zdrojůkonsolidace z více zdrojů● deploy/embed do webové aplikace, Swing a deploy/embed do webové aplikace, Swing a

ERCPERCP● podobné Jasper, Crystal Reportspodobné Jasper, Crystal Reports● Kepler: umí číst z NoSQL (Cassandra, Kepler: umí číst z NoSQL (Cassandra,

MongoDB)MongoDB)

Page 80: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 81: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 82: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

M2MM2M

● machine-to-machinemachine-to-machine● ““emerging” témaemerging” téma● Eclipse M2M Industry Eclipse M2M Industry

Working GroupWorking Group– otevřené komunikační otevřené komunikační

protokolyprotokoly

– nástrojenástroje

– frameworkyframeworky

● Projekty Eclipse M2MProjekty Eclipse M2M– KonekiKoneki

– PahoPaho

– MihihiMihihi

Page 83: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

XtendXtend

● kompiluje se do Java kompiluje se do Java člověk čitelného člověk čitelného zdrojového kóduzdrojového kódu

● existující Java existující Java knihovny použitelné z knihovny použitelné z Xtendu i obráceněXtendu i obráceně

● ““CoffeScript for Java”CoffeScript for Java”

Page 84: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

class HelloWorld {class HelloWorld {

def static void main(String[] args) {def static void main(String[] args) {

println("Hello World")println("Hello World")

}}

}}

import org.eclipse.xtext.xbase.lib.InputOutput;import org.eclipse.xtext.xbase.lib.InputOutput;

public class HelloWorld {public class HelloWorld {

public static void main(final String[] args) {public static void main(final String[] args) {

InputOutput.println("Hello World");InputOutput.println("Hello World");

}}

}}

Příklad HelloWorldPříklad HelloWorld

Page 85: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

XtextXtext

● framework pro vývojframework pro vývoj– programovacích jazykůprogramovacích jazyků

– DSL (domain specific languages)DSL (domain specific languages)

● pomocí gramatikypomocí gramatiky● vše od parseru, linkeru, compileru nebo vše od parseru, linkeru, compileru nebo

interpretuinterpretu● předně však rovnou IDE postavené na Eclipsepředně však rovnou IDE postavené na Eclipse

Page 86: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

AspectJ a AJDTAspectJ a AJDT

● nejpoužívanější nejpoužívanější aspektově aspektově orientované rozšíření orientované rozšíření JavyJavy

● podpora ve Springpodpora ve Spring● modularizace cross-modularizace cross-

cutting concernscutting concerns

Page 87: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

MylynMylyn

● task-focused UItask-focused UI● integrace do Bugzilla, integrace do Bugzilla,

Trac, Github, ...Trac, Github, ...● když chcete být agilní když chcete být agilní

a ALM :-)a ALM :-)● WikiTextWikiText

Page 88: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Page 89: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Zapojte se!Zapojte se!

Eclipse.org:Eclipse.org:● fórumfórum● BugzillaBugzilla● EclipsepediaEclipsepedia● newsletternewsletter● zdrojáky (git.e + zdrojáky (git.e +

github)github)

EUGCZ:EUGCZ:● www.eclipseczech.czwww.eclipseczech.cz● fórumfórum● Twitter, FBTwitter, FB

Page 90: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

www.virtage.czwww.virtage.cz

Školení EclipseŠkolení Eclipse● Eclipse IDEEclipse IDE● RCP 3.x a 4.xRCP 3.x a 4.x● OSGiOSGi● SWT/JFaceSWT/JFace

Školení JavaŠkolení Java● jazyk Javajazyk Java● MavenMaven● JUnitJUnit

Školení UbuntuŠkolení Ubuntu● uživatel i správceuživatel i správce

Page 91: Vesmír jménem Eclipse - Java · Debug – obecný debug execution framework Releng – PDE Build a nyní spíše Tycho Search – integrovaný pluggable search SWT a JFace User

Libor Jelínek, Virtage Softwarewww.virtage.cz/eclipse/

Vesmír jménem Eclipse

Otázky?