Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [science-iwg] e3 or e4

Hi:

>> Am 05.09.2016 um 11:41 schrieb Matt.Gerring@xxxxxxxxxxxxx:
>> I am working on a new project... Keep things e3 or allow e4 dependencies
I’ve been asking myself the same question, and found no perfect solution.

The Eclipse 3 RCP API offers a lot:
* Online help
* Preference UI
* Search UI
* Navigator Framework
* Console View
* Team (git, cvs, ..) UI
* P2 UI for installing optional features, or to self-update the product
* Many existing tools that you can add to your product

Eclipse E4 offers
* Model
* Dependency injection

The latter is neat if you want to create a new product from scratch, where you don’t need online help, preference UI, ..
Especially if you consider using JavaFX instead of SWT.
Unfortunately, model and DI is pretty much all you get for now.
You’ll need to implement every ‘part’ on your own, including UI for help, preferences, ..

At the 2016 EclipseCon US there was a talk "Tips and tricks for your Eclipse 4 migration” by Olivier Prouvost  and  Brian de Alwis that clarified the situation a bit for me.
They suggested that the “Compatibility Layer” may be misnamed. They saw E4 as a low-level mechanism for creating UI components. RCP adds the “workbench” idea with associated policies, and support for online help etc.
The pure, old Eclipse 3.x is dead and will no longer me maintained.
But many applications that go beyond just a toy demo of yet another address book still benefit a lot from the workbench.
The IDE is very unlikely to be rewritten into pure E4 ‘parts'. It’ll stay with the “Compatibility Layer”, which might better be called “Workbench Layer”.
So if your target platform is Eclipse 4.x, and you use the RCP API related to the workbench (i.e. basically the Eclipse 3 API), you can call that an Eclipse 4 application. You can also use an “e4view” for parts that are coded on the E4 model level, or add some parts via E4 model fragments, but overall you’re still in the workbench situation and a lot of code will use the existing Eclipse3 API. And: you have to use SWT.

-Kay

Back to the top