- 1 Planning page for Neon
- 2 Themes
- 2.1 Performance and stability
- 2.2 Simplify and improve the user experience
- 2.3 Code cleanup
- 2.4 Improvements in the Jobs API and usage
- 2.5 Consistent usage of adapters
- 2.6 Generify and simplify platform API
- 2.7 Simplify committer and contributor workflow
- 2.8 Rework platform ui tests
- 2.9 Enhance Eclipse RCP programming model
- 2.10 Java 8 support in JFace Databinding
- 2.11 Migrate Mylyn notifications framework to platform UI
- 2.12 CSS Enhancements and better support for the dark theme
Planning page for Neon
Our planning list and assumptions are .
Performance and stability
The Eclipse Platform UI team need to continue to improve stability and performance of the user interface. This includes regressions but also improvements compared to 3.x. The UI freeze monitoring and the reports created by the automatic error reporting tooling will also be used for this activity.
Items for improvements are improved performance in the the rendering of the SWT based components, the option to disable CSS styling via preferences and improve handling of background jobs.
Simplify and improve the user experience
The Eclipse Platform UI team plans to simplify the user workflow. For example, by adding the smart import wizard to platform, the user experience for importing project should be improved. We also plan to provide user enhancements like shortcuts for increasing the font size in an editor and a full screen mode in which distracting items, like toolbars, menus, trims, etc. are hidding.
It is also planned to finish the support of HDPI screens (bug 382972) which was started in Eclipse 4.4. but unfortunately not finished due to some late discovered issues.
The Eclipse Platform UI team plans to reduce references to internal API from the code. We also work on removing dead internal code and to remove references to deprecated API. We will also investigate if we can use @Nullable and @NotNullable annotations. We will also retire outdated examples and put them on Github.
Improvements in the Jobs API and usage
The Eclipse Platform UI team plans to improve the performance of the Jobs framework, focusing on the usage of SubMonitor and its performance. For this we will cooperate with Equinox and other project to replace the usage of SubProgressMonitor.
Consistent usage of adapters
The Eclipse Platform UI team plans to work with Equinox to improve the handling of adapters in platform.ui. The target is to replace isolated adapter solutions in the platform.ui code, simplify the usage of the adapter pattern and provide a consistent API.
Generify and simplify platform API
The Eclipse Platform UI team plans to evaluate and, if possible, implement generics in its API. This journey started in 4.4 but needs to continue. Generics are planned to be evaluated at for JFace Dialogs, the JFace Viewers and JFace Databinding.
Simplify committer and contributor workflow
The Eclipse Platform UI team will continue to simplify the workflow of existing and new committers and contributors. This includes the activation of more test suites during the Gerrit build trigger, code cleanup, migration of the tests to modern constructs (JUnit4, modern Assert frameworks, etc). It also includes the update of the code to remove compiler warnings. To be more inviting to other Open Source contributors we also need to update our code with constructs of modern Java versions.
Also the Eclipse Platform UI team plans to clean-up the bug database. Currently the bug database is full of outdated an already solved bugs, which makes finding real problems in the bug database complex.
Rework platform ui tests
The team plans to migrate all existing tests to JUnit 4 and evaluate the usage of better matching frameworks to simplify the tests. As far as possible, all tests should be configured to run via the Gerrit build trigger to ensure stability of the code contributions.
Enhance Eclipse RCP programming model
The Eclipse model should be improved. For example, enhancements are planned for modeling wizards and dialogs as well as handling of core expressions. Core expressions are currently only evaluated for tool and menu items but should also be evaluated for toolbars. It is planned to evaluate if the additional dependency to javax.annotation can be removed in platform without breaking existing clients.
Java 8 support in JFace Databinding
The Eclipse Platform UI team plans to support the new Date and Time API from Java 8 in JFace Databinding.
Migrate Mylyn notifications framework to platform UI
The Eclipse Platform UI team plans to migrate the Mylyn notification framework to platform UI. This change has been discussed with the Mylyn team and was well received.
CSS Enhancements and better support for the dark theme
The Eclipse Platform UI team plans to enhance CSS support. A new CSS parser will be evaluated to support CSS 3.0 and to improve performance. The Eclipse Platform UI team will continue to cooperate with other teams like JDT and SWT to improve the styling capabilities in general and the dark theme as a special use case of the CSS styling.