Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4...

45
Eclipse Platform Rise and Shine Javaland 2016 Lars Vogel https://twitter.com/vogella

Transcript of Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4...

Page 1: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Eclipse Platform Rise and Shine

Javaland 2016

Lars Vogelhttps://twitter.com/vogella

Page 2: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Disclaimer: No API talk here, its morea state of the art about Eclipse talk

Page 3: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Lars Vogel

Eclipse PMC memberEclipse PMC memberPlatform UI and e4 Project LeadPlatform UI and e4 Project Lead

vogella GmbH CEO, which vogella GmbH CEO, which supports customer Eclipse supports customer Eclipse RCP and Android RCP and Android implementations and implementations and trainingstrainings

Page 4: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

I hope Eclipse gets even better in 4.6 so that I do not have to use another IDE

Page 5: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

What is the Eclipse (top-level) project?

Eclipse (platform) project

Everything else in the IDE

Page 6: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Histor

y

Page 7: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Eclipse 4.2Once upon a time

Page 8: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

New committers and contributors

Alexander Kurtakov – RedhatMickael Istria – RedhatSergey Prigogin – GoogleStefan Xenos – GoogleSimon Scholz – vogella GmbHTony McCrary – independentJonas Helmig – EclipseSourceDirk Fauth – BoschAndrey Loskutov – independent

Committers

Contributorsgit shortlog -s --pretty=format:"%an" --since "1 year ago" | wc -l

87 contributors in the last year

Page 9: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Eclipse Platform UI

Page 10: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Total platform work including release enginering

Page 11: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Microsoft joined Eclipse yesterday

Page 12: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Eclipse 4.4

Toolbar can be hidden

QuickAccess can be hidden

PerspectiveSwitcher can be hidden

Less whitespace usage

Line numbers

DnD color

Improve default styling (colors)

New Splashscreen and logo

Removed annoying splash screen message

Major improvements in CSSNew icon set

Java 8 support

UI Installation performance much better

Dark theme

Performance

Page 13: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Eclipse 4.5

Closing projects removes the "dead" editors

Faster code completion in JDT

New Splashscreen and logo

Closes tabs to the right / left

More new icons

Better GTK3 supportCustomize perspective dialogs works again

Even better dark theme

Better performance with parallel jobs and interactive UI freeze monitor

Hierarchical project view in Project Explorer

IDE supports e4 views

Page 14: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

A big code clean

Simplified APIRemove dead internal codeRemove Eclipse 2.0 compatibility layerUse annotations in codeUpdate of all plug-ins to relevant Java Versions (Java 7 or Java 8)Usage of Java 8 lambdasUpdate of the tests (partial to Junit 4)

Page 15: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

How does a code cleanup help?

Page 16: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Java Versions for Neon

SWT Java 7Platform Java 8

Page 17: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Stuff we do inEclipse 4.6 (Neon)

Page 18: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Faster Eclipse

Remove unnecessary activators

ImageDescriptors avoid to hit the file system

Solving memory leaks

Avoiding object creation

New split() method on Submonitor class

Less deadlock possiblities

Page 19: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations
Page 20: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Faster Eclipse without Styling

Page 21: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Asynchronize layout calls like in Android

Faster Eclipse

Page 22: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

User feature

Page 23: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Shortcuts for text editor font size

Available for Mars via the saneclipse plug-in: saneclipse.vogella.com

Page 24: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Word-Wrap in text editors supported

Most voted featurerequest these days

Page 25: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Saving some time

Usability is Important!

Page 26: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Full screen mode and ability to hide the toolbar

Available for Mars via the saneclipse plug-in: saneclipse.vogella.com

Page 27: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Platform API Enhancements

Varargs usage

Simpler API for simple things

Data binding enhancements

New Example Code

Page 28: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Unknown text files handling

Page 29: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

PDE support for OSGi declarative services 1.2

Page 30: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Subwords completion and code highlighting in JDT

Google summer of code project from Gábor Kövesdán coached by Noopur Gupta and Lars Vogel

Page 31: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Templates

● Default values for ${word_selection}● New E4 Templates● Custom Date format

Page 32: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Better DnD feedback for views and editors

Page 33: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Provide a smart import wizard

Page 34: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Make GTK3 as good as GTK2

Better styling support (for the dark theme)

HDPI support

SWT

Page 35: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Running the Eclipse IDE / RCP in the browser via Linux Wayland

Page 36: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Filtered ProjectExplorer and Outline

Postfix completion in JDT

Outline that shows Annotations

More usage of plain e4 API in the IDE

More stuff in the pipeline

Page 37: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Redhat is working on great JavaScript support for Eclipse

Redhat provides kickass Eclipse Docker support

Google is reworking the Java Tooling for

maximized performance

Eclipse Git tooling is faster than ever

Gradleware is working on great Eclipse Gradle

support

Cool things out side platform

Page 38: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

But feature X is still missing in Eclipse

Page 39: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Image an IDE which you can

enhance yourself

Page 40: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

I want to help and contribute!

Page 41: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

I want to help and contribute!

Simplified API

Making our tests run in the Gerrit build validation

Convert platform tests to Junit 4

Delete unnecessary whitespace

Deprecated outdated API

Remove deprected API usage

Delete outdated examples

Removed unused internal methods

Fresh Java 8 API

Page 42: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Contribution process is sooo easy

Create Eclipse user and sign CLA

Clone Repo via Gerrit

Write a fix and push it

(Disable or configure API baseline)

Page 43: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Contributing to the Eclipse IDE, Second Edition

http://www.vogella.com/books/eclipsecontribution.html

Available as free download and paper book

Page 44: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Questions?

Page 45: Eclipse Platform Rise and Shine - doag.org · Lars Vogel Eclipse PMC member Platform UI and e4 Project Lead vogella GmbH CEO, which supports customer Eclipse RCP and Android implementations

Thank you

For further questions:@vogellahttp://www.vogella.com

Commercial support:[email protected]