Vesmír jménem Eclipse



Podobné dokumenty
Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Co by měl umět dobrý vývojář. Petr Adámek Home Credit International a.s.

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

KIV/PIA 2013 Jan Tichava

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links

Spring framework 2.0. Roman Pichlík CZJUG

Maven. Aplikační programování v Javě (BI-APJ) - 2 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

Domino 10 nové komponenty a související témata (node.js, ES )

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

IBM Software Group IBM - SWG. Petr Chmelik WebSphere, IBM ČR a SR. Name Title Company IBM Corporation

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Webové programování je CHALENGE! Milan Čapoun, Samuel Šramko

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

Ruby on Rails: zapomeňte na Javu

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Multiplatformní GUI toolkity

GWT pro pokročilé. MoroSystems, s.r.o. Pavel Klobása. Senior Java Developer.

Využití JBoss Fuse ve skandinávské energetice

MATURITNÍ PRÁCE dokumentace

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc

Video tutoriál pro prostředí Eclipse

Web frameworks v praxi

Proč Angular JS framework?

Programátorská příručka

Multiplatformní osobní organizér v jazyce Java

Platformy / technologie. Jaroslav Žáček

SWT & MigLayout. Alternativy Java GUI v praxi. Pavel Janečka & Tomáš Chlouba. červen 2011

- 1 - Smlouva o dílo. uzavřená podle 536 a násl. obchodního zákoníku v účinném znění

Různé tváře WebSphere Portal

SPECIFIKACE PŘEDMĚTU PLNĚNÍ

Server-side technologie pro webové aplikace

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Statická analýza kódu - za kód bez chyb

1 Nástroje pro správu verzí. 1.1 Pojmy:

Technologie Java. Jaroslav Žáček

Nástroje pro průběžnou integraci a testování

Úvod. Leden Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 22

Systémová administrace portálu Liferay

<Insert Picture Here> Vývoj portálových řešení v Javě

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

SUTOL 2012 konference

Ant aneb Ferda Mravenec, práce všeho druhu

INFORMAČNÍ SYSTÉMY NA WEBU

Platformy NetBean a Eclipse. Úvod

ArcGIS for Server. V oblasti správy, vizualizace a zpracování prostorových dat nabízí ArcGIS for Server tyto možnosti:

Bakalářské. Vzdělání: Telefon: Ostrava. Bydliště: Ukázky práce: Správa a monitoring platformy provozované na AWS

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Architektura aplikace

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

PV239/WP. Vývoj univerzálních Windows Store aplikací. Mgr. David Gešvindr MCSD: Windows Store MCSE: Data Platform MCT MSP

Převod LN aplikace do xpages

Úvod do Groovy pro Java experty

D R U P A L V O J T Ě C H K U S W O J T H A

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/ nyní Freelancer. 09/ /2010 Univerzita Tomáše Bati ve Zlíně

Workshop Exact Software CEE

Platformy NetBean a Eclipse. Úvod

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

Úvod do programování v jazyce Java

Free & Open Source software. Liberix. prezentací. Open Source. software. Free Software. projektů pro studenty. Rekapitulace. Liberix o.p.s.

ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

X33EJA Enterprise Java

Bakalářská práce. Rozšíření frameworku pro ověřování kompatibility softwarových komponent

Životní cyklus IT systémů

Web Services na SOAP

Začínáme s vývojem pro Android

Web frameworks v praxi Tomáš Krátký

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

Michal Podzimek

Obsah. Předmluva Začínáme: překlad, spuštění a ladění 27

Java Server-side. Štěpán Kuchař. VŠB-TUO FEI Katedra informatiky

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta

Dynamické programovací jazyky

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Bakalářská práce Přehled nástrojů pro automatické testování aplikací

Univerzita Pardubice

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

SharePoint 2010 produktové portfolio a licencování

Platforma průmyslové spolupráce

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Herní aplikace pro. komponent na OS Android

Web Frameworks Java Server Faces. Petr Aubrecht CA

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Mobile application developent

Transkript:

Libor Jelínek (Virtage Software) CZJUG @ Praha 30.9.2013

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

Odkazy Eclipse User Group http://eclipseczech.cz školení a podpora Eclipse http://virtage.cz můj blog http://devblog.virtage.com/

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

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

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

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

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 Codename

Simultanous release (simrel) od roku 2006 (Callisto) minulý rok dvě verze 3.8/4.2

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

Kepler stats

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

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í Hledání celého slova

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

(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

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

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

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

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

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

SWT/JFace grafická knižnice SWT/JFace vznik, důvod rozdíl SWT a JFace rozdíl oproti Swingu

WindowBuilder zdarma od Googlu (ne původně) SWT/JFace, Swing, Eclipse workbench (views, editors) renderuje pomocí GEF

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í

Eclipse SDK, RCP, Platform ( core )

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, CNF

Oproti NetBeans Platform SWT/JFace (rychlost a vzhled) OSGi zdokumentováno eko-systém a komunita

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

OSGi bundle stavy

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: org.osgi.framework;version="1.3.0"

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.

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 aplikační model modifikovatelný za běhu rozšířitelný CSS stylování widgetů oddělení model od reprezentace (více rendererů)

E4 dependency injection // E3 PlatformUI.getWorkbench(). getactiveworkbenchwindow(). getselectionservice(). getselection(); // E4 @Inject ESelectionService Vesmír jménem selectionservice; Eclipse

E4 IDE aplikace

E4 RCP aplikace

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)

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ů

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

v

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

Eclipse RT ECF Equinox Jetty Gemini Virgo (dříve Spring DM Server) Blueprint (dříve Spring DM) Management DBAccess naming JPA Web

Darované a ostatní EclipseLink Hudson MAT

Modelování a grafika EMF - modelling GEF grafické editory BIRT - reporting Startdust - BPM Graphiti

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) 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í

Draw2d

Startdust

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)

M2M machine-to-machine emerging téma Eclipse M2M Industry Working Group Koneki Paho Mihihi otevřené komunikační protokoly nástroje frameworky Projekty Eclipse M2M

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

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"); } }

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

AspectJ a AJDT nejpoužívanější aspektově orientované rozšíření Javy podpora ve Spring modularizace crosscutting concerns

Mylyn task-focused UI integrace do Bugzilla, Trac, Github,... když chcete být agilní a ALM :-) WikiText

Zapojte se! Eclipse.org: EUGCZ: fórum www.eclipseczech.cz Bugzilla fórum Eclipsepedia Twitter, FB newsletter zdrojáky (git.e + github)

www.virtage.cz Školení Eclipse Školení Java Eclipse IDE jazyk Java RCP 3.x a 4.x Maven OSGi JUnit SWT/JFace Školení Ubuntu uživatel i správce

Otázky?