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 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...
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 ...
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.