Eclipse Oxygen: A better workflow for editing in Sirius
Eclipse Oxygen is hitting general availability on June 28. We’re excited to see the new features and changes are happening in the Eclipse ecosystem, so we talked with Mélanie Bats about all the news.
Eclipse Oxygen recently hit its seventh and final milestone. The platform received a handful of improvements towards its general usability. However, that’s not all that’s happening before Eclipse Oxygen is finally released on June 28.
We talked with Mélanie Bats, a software developer at Obeo and an Eclipse committer, about all the new and noteworthy changes.
JAXenter: In a few weeks, the newest Simultaneous Release, Eclipse Oxygen, is hitting General Availability. Every release is special in its own way but what makes Eclipse Oxygen stand out for you?
Mélanie Bats: For me, the Eclipse Oxygen release means the end of another great year as an Eclipse Sirius committer. We worked hard to deliver many new features in Sirius 5 version. This year we focused our efforts on features improving the user experience for both the end users of Sirius-based modelers and for the creators of such tools.
Eclipse Oxygen offers much more new features than Sirius, for me it means also the arrival of Java 9 with a support ready in Eclipse since July. It is great to see that Eclipse continues to evolve to provide support for the new Java 9 features the day of the release. The arrival in November of JUnit 5 support is also something I am waiting for.
As every year the simultaneous release offers many improvements on the Eclipse IDE, a detailed talk What’s new in Eclipse Oxygen was done by Cédric Brun from Obeo at Devoxx France based on Mikaël Barbero’s slides from the Eclipse Foundation.
JAXenter: What changes are planned in Eclipse Sirius for the upcoming release?
Mélanie Bats: There are more than 100 issues fixed for the 5.0 version. We worked on enhancing the decorator management, a high-resolution export and as I said before on improving the UX. Our goal was to get a better workflow for the end users of Sirius-based modelers.
The result of this work is a new editor that allows the user to manipulate in a common place all the concepts of his modeling projects with its semantic models, its usable viewpoints and all its representations (diagrams, trees, tables and matrices).
This work to improve the UX started last year with Sirius 4.0 when we provided a new way to define the Properties View. In this tabbed-based view, it is easier to organize and prioritize how the features of a domain must be displayed.
The new Sirius 5.0 version provides another new smooth user experience by giving the possibility to define dialogs from the properties view or graphical editors. For example, Wizards can also be used in the Sirius tools to help new users in the configuration of model elements during their creation.
In addition, we tried to simplify the properties view definition by providing a new extension mechanism. Thanks to this, the dialogs and Properties view are able to share some common parts of their definition using composition and extension mechanisms in order to keep a consistent user experience with the same look and feel.
JAXenter: What does the Eclipse Sirius project have in store for the rest of 2017 and next year?
Mélanie Bats: Sirius 5.1 will be released with Oxygen.1. At that moment, the session editor provided in Sirius 5.0 as experimental will be finalized. Please do not hesitate to give us your feedback on this new editor, comments are very welcome!
We are still working on performance in order that the number of representations has no impact. This work was started last year by introducing the DRepresentationDescriptor. This internal change was made as a first step to prepare for better scalability down the road. We will continue to work on this until the end of 2017.
JAXenter: Speaking of summer releases, Java 9 and Java EE 8 are fast approaching. What does this mean from the Eclipse Sirius perspective?
Mélanie Bats: From the Eclipse Sirius perspective, the Java 9 arrival is not a big deal, as we already tried to run Sirius on Java 9 runtime and everything seems ready. In fact, we just switched to Java 8 minimal version for Sirius 5.0. We tend to have quite a lot of adopters in big corporations which are in general quite conservative in this regard. This is really great for us as developers as we are finally able to use functional programming in our code. Another benefit of Java 8 for us, was the ability to update APIs without API break by defining default methods in interfaces.
JAXenter: Again, over 80 projects are included in the SR. In your opinion, which one – besides Eclipse Sirius – is the most promising?
Mélanie Bats: Definitely from my point of view the most promising project is the Language Server Protocol also named LSP. Until I heard about LSP, I did not realize how complex it is for language developers to get a good support and tooling of their language in all those different IDEs. A really clear introduction to LSP was given by Sven Efftinge from TypeFox at Eclipse Converge who explained the origin, the status and the potential of LSP for the Eclipse community.
Open sourced by Microsoft for VS Code, the LSP is the new trend for language editors. In a few months, Microsoft, Red Hat, Codenvy and many others started collaborating to implement it for VS Code, Eclipse, Eclipse Che, Emacs and even Gnome Builder! Only open source can create this kind of synergy and cooperation. In Eclipse, it results in three new projects that will be released with the next Eclipse Oxygen:
- LSP4E: provides integration of language servers conforming to the Language Server Protocol into the Eclipse IDE.
- LSP4J: provides a reusable Java implementation of LSP. It implements the types as well as the communication, including serialization to and deserialization from JSON.
- Generic editor: supports easily new languages. For the next release, LSP will allow to get the same level of support for JS in Eclipse and VS Code.
As a developer working on Domain Specific Language, I really believe LSP has a great potential. Imagine you’re developing your own DSL and you easily get support for it in all the editors. This is now possible thanks to Xtext Core.
From the Eclipse Sirius perspective, the Java 9 arrival is not a big deal.
This is only the beginning, there are some remaining issues to solve around extensibility, creating a marketplace, supporting debug features… At the moment the LSP is dedicated to textual editors. I expect that one day it can be extended to graphical editors too!
JAXenter: The successor of Oxygen will be Eclipse Photon. What have you planned for the next release?
Mélanie Bats: We have many different options for next year. Sure, we will work on performance to finalize what we started since Sirius 4.0. We also plan to work on improving the UX. We’ll do this by working on a new Dashboard view based on the Activity Explorer from Amalgam but dynamically interpreted. We are also thinking about mainstreaming some small custom behaviors developed in our open sourced designers such as the UML Designer’s rotatable ports.
If you use Sirius, please tell us what you need, what you want, and what is missing. Our users make our road map, so give us your feedback and stay tuned!