Vesmír jménem Eclipse

Transkript

Vesmír jménem Eclipse
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

Podobné dokumenty

Učebnice pro školní rok 2011-12

Učebnice pro školní rok 2011-12 UČEBNICE PRO 3. ROČNÍK A SEPTIMU: Český jazyk: Kouzelné zrcadlo literatury 3 (J. Blažke, Atlantis) – Kupujte až po dohodě s učitelem! Český jazyk pro 3. ročník gymnázia (J. Kostečka, SPN Praha) Ang...

Více

Cvicen´ı 8: Delphi - unita Graph2d, propojen´ı formulár˚u

Cvicen´ı 8: Delphi - unita Graph2d, propojen´ı formulár˚u Přidánı́ unity Graph2d.pas • nakopı́rujte soubory Graph2d.pas a Graph2d.dfm do adresáře, kde máme uložen náš program • pomocı́ Project - Add To Project přidáme novou unitu Graph2d.pas do ...

Více

Automatický rezerva£ní systém

Automatický rezerva£ní systém Součástí práce je programátorská příručka pro tvorbu nových zásuvných modulů a testy použitelnosti aplikace.

Více