Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » e(fx)clipse » Newbie questions about e(fx)clipse
icon6.gif  Newbie questions about e(fx)clipse [message #1759832] Tue, 18 April 2017 10:23 Go to next message
Marcelo Ruiz is currently offline Marcelo RuizFriend
Messages: 12
Registered: April 2017
Junior Member
Hi E(fx)clipse community!

I am very new to E(fx)clipse and I have a few questions. I am used to work with the NetBeans Platform to develop Java+Swing applications, but I need to develop now a pure javafx8 application (so using the hybrid Frankenstein NetBeans Platform + JavaFx is out of the question). I also tried the Griffon application framework and I found the lack of documentation, kind-of-complex approach to testing, and lack of a window system in the framework a bit discouraging (although one of the project leaders is always extremely helpful in the forums). Working with Griffon made me appreciate the flexibility of Gradle, though.

Finally, I am considering E(fx)clipse as an alternative, but I can't find a lot of information about it. My questions are:

- Am I forced to program with Eclipse to use the E(fx)clipse RCP? Can other IDEs that support OSGi be used?

- Does the window system have any limitations compared to what I see in Eclipse?

- Does E(fx)clipse RCP use the same approach than Netbeans RCP mixing Swing/SWT with the JavaFX thread? Does it use FxCanvas as Netbeans uses JFXPanel inside of the Swing TopComponents?

- What I read on the E(fx)clipse website states that it uses JavaFx 2.x, and that left me wondering if this platform will be a suitable candidate to develop with JavaFX 8. Will a pure JavaFx in the platform mix JavaFx 2.2 with JavaFx 8? Am I getting this right? It's a little bit confusing...

- What should I study to be able to program using the platform? I was thinking of geting a book on Eclipse RCP 4, but I don't see anything related to JavaFX in the ones I considered. On Amazon Eclipse Rich Client Platform does not have great reviews. I also saw "Eclipse 4 RCP: The complete guide to Eclipse application development" selling for $2000 and it is out of my price range for books (but for that price I bet it might have the answer to all the questions I might have... hahaha). Seriously, I don't know how different the approach of programming with Eclipse and E(fx)clipse are and I don't want to spend time learning something I won't end up using.

- Are there complete tutorials or an application example available? I have seen articles and videos in YouTube but the applications seem simple and do not use the windowing system for example.

- Is the E(fx)clipse RCP platform suitable for Test Driven Development?

Any other thoughts/suggestions?

Sorry about all the questions and thanks for your help!

Marcelo
Re: Newbie questions about e(fx)clipse [message #1759912 is a reply to message #1759832] Wed, 19 April 2017 20:29 Go to previous messageGo to next message
Christoph Keimel is currently offline Christoph KeimelFriend
Messages: 475
Registered: December 2010
Location: Germany
Senior Member
Hi Marcelo,

I'm not on the e(fx)clipse team, but I will try to answer your questions.

- Am I forced to program with Eclipse to use the E(fx)clipse RCP? Can other IDEs that support OSGi be used?

I am not sure which combinations will work, but I know that they are working on this:
https://tomsondev.bestsolution.at/2017/03/05/efxclipse-and-the-future-of-e4-on-javafx/
https://tomsondev.bestsolution.at/2017/03/05/e4-on-javafx-with-the-bnd-maven-plugin-with-vs-code/

- Does the window system have any limitations compared to what I see in Eclipse?

I am not aware of any limitations. The min/max works a little differently and afaik efxclipse doesn't support detaching parts with drag & drop at the moment. On the other hand efxclipse has additional stuff like transition animations and css theme management.

- Does the - Does E(fx)clipse RCP use the same approach than Netbeans RCP mixing Swing/SWT with the JavaFX thread? Does it use FxCanvas as Netbeans uses JFXPanel inside of the Swing TopComponents?

No. E(fx)clipse is pure JavaFX. You can embed Swing/SWT if you want, but that is up to you.

- What I read on the E(fx)clipse website states that it uses JavaFx 2.x, and that left me wondering if this platform will be a suitable candidate to develop with JavaFX 8.

You must have hit some old links. E(fx)clipse makes good use of Java8 features. For example, a lot of the APIs have been reworked to play good with lambdas.

Will a pure JavaFx in the platform mix JavaFx 2.2 with JavaFx 8? Am I getting this right? It's a little bit confusing...

No, this will not mix. JavaFX is part of the JDK. If you use Java8 you get JavaFX 8.

- Are there complete tutorials or an application example available? I have seen articles and videos in YouTube but the applications seem simple and do not use the windowing system for example.

There are tutorials here:
https://wiki.eclipse.org/Efxclipse/Tutorials

Some other helpfull stuff:
https://wiki.eclipse.org/Efxclipse/Runtime/Recipes

And there are demos and tests in the runtime repository:
https://github.com/eclipse/efxclipse-rt

- Is the E(fx)clipse RCP platform suitable for Test Driven Development?

Sure.

Hope this helps,
Christoph

Re: Newbie questions about e(fx)clipse [message #1759919 is a reply to message #1759912] Wed, 19 April 2017 23:08 Go to previous messageGo to next message
Marcelo Ruiz is currently offline Marcelo RuizFriend
Messages: 12
Registered: April 2017
Junior Member
Hi Christoph!

Thanks for your answer and for taking the time to write back. I really appreciate it: it was very helpful.

I have some follow up questions (and thoughts) that maybe you or someone from the e(fx)clipse team could answer (or comment on).

My ideal situation would be to use Gradle as the build tool, program in Netbeans (I am very used to it, and I tried switching to Eclipse a few times and I it doesn't feel intuitive for me), use JavaFX8 only, and test drive the application.

The two articles regarding the direction of e(fx)clipse were really informative. Thank you for pointing them out to me. It seems that I will be able to use Gradle in the future (but I don't know when). I wish I could start experimenting right now! I was investigating and found a very interesting plugin to use the Eclipse RCP with Gradle that unfortunately seems not to be active anymore: https://github.com/akhikhl/wuff/wiki

Regarding using JavaFx8 only, you answered my question, but I still have a doubt: what about testing the UI? Is there a recommended tool? I read code from an example that uses e(fx)clipse and I noticed they use Jemmy, but it might be an old example. Do you know if TestFX can be used for manipulating the framework components like menus? Is there a recommended tool?

I read the tutorials links you shared. Taking into consideration what I want to do and the fact that I have no experience with Eclipse RCP 4 at all, do you think reading online tutorials will be preferable to reading a book that covers Eclipse RCP 4 (even though not touching developing with JavaFX)?

Finally, thanks to Tom as well for all the hard work (if he ever reads this, he can be sure that I really like his ideas for the future). I hope drag and drop support for the view components, moving tabs to the edges and even outside of the main window will make it in future versions of the platform. I feel they're really important when developing complex applications with many views.

Thanks again,

Marcelo
Re: Newbie questions about e(fx)clipse [message #1759927 is a reply to message #1759919] Thu, 20 April 2017 05:26 Go to previous messageGo to next message
Dirk Fauth is currently online Dirk FauthFriend
Messages: 2421
Registered: July 2012
Senior Member
Hi,

as Christoph I am also not part of the e(fx)clipse team. But I will also try to answer. Smile

My first question is, do you want to write a plain JavaFX application or an Eclipse 4 RCP application based on JavaFX? From all your statements the second one should be your answer, but I just want to be sure.

From my experience building an E4 application with Gradle is not working very well. I have also seen the wuff project, but to be honest, I don't trust it I suppose it misses several things. And with pom-less Tycho the amount of work to bring up for setting up a build is quite low. Of course that is my personal opinion and I think it would be helpful if other build tools would also support building E4 RCP applications. But as of now I am not aware of other support.

The same is true at the moment for the IDE. The E4 tooling is currently only available in Eclipse AFAIK. So for example the Eclipse model editor is an Eclipse plugin and not available for other IDEs. I'm not sure if Tom plans to port that to Netbeans or IntelliJ.

I understand that you want to use the IDE you are used to, but if you want to start with Eclipse 4 RCP with JavaFX now, I think you need to look at Eclipse and e(fx)clipse.

Regarding the testing, IIRC there was some discussion for using TestFX. The official integration has stopped because of licensing issues. But in the end after rendering you have a JavaFX application, so I think usage of TestFX should be possible. But I haven't tested that yet.

Regarding the books on Eclipse 4, well actually I liked Eclipse 4 Rich Client Platform. But it is true that books written some time ago does not match the current state of development sometimes. But the basic concepts (and more) should be covered. Typically only the sceenshots and some tab names should have changed. Nothing you are not able to clarify on trying out. That is btw the same for blogs or tutorials in the internet. It is not possible for every author to keep these kind of things up to date all the time. The online tutorials which are part of the book are typically more up-to-date. So sometimes combining the book with his online tutorials are the match to go on: http://www.vogella.com/tutorials/eclipse.html

I have written some tutorials some years back to get started with E4 and then migrate to e(fx)clipse. So you get an understanding of E4 and then see what is different with e(fx)clipse. But they are also outdated. Maybe worth to look at, but you will definitely need to do some transition to get to the current state of development:
https://blog.codecentric.de/en/2015/02/eclipse-rcp-cookbook-basic-recipe/
https://blog.codecentric.de/en/2015/02/swt-javafx-migration-eclipse-rcp-cookbook/

Regarding the migration to JavaFX Christoph has written a tutorial that is more up to date, but also outdated compared to the current state. My blog post was on e(fx)clipse 1.2 and his already on the 2.0 state: http://www.kware.net/?p=64
So his tutorial shows the settings needed with the 2.x line.

I hope that helps a bit.

Greez,
Dirk
Re: Newbie questions about e(fx)clipse [message #1759939 is a reply to message #1759919] Thu, 20 April 2017 08:07 Go to previous messageGo to next message
Christoph Keimel is currently offline Christoph KeimelFriend
Messages: 475
Registered: December 2010
Location: Germany
Senior Member
Marcelo Ruiz wrote on Thu, 20 April 2017 01:08
I hope drag and drop support for the view components, moving tabs to the edges and even outside of the main window will make it in future versions of the platform. I feel they're really important when developing complex applications with many views.


Hi Marcelo,

Moving tabs (parts in e4 lingo) around has been supported for quite some time. I haven't used this though, so you should try it and see if that is what you are looking for.

See: https://tomsondev.bestsolution.at/2014/08/09/efxclipse-1-0-new-features-drag-and-drop-for-e4javafx-applications/

To enable this feature you need to add two addons:
org.eclipse.fx.ui.workbench.renderers.base/org.eclipse.fx.ui.workbench.renderers.base.addons.DnDAddon
org.eclipse.fx.ui.workbench.renderers.base/org.eclipse.fx.ui.workbench.renderers.base.addons.CleanUpAddon

Cheers,
Christoph
Re: Newbie questions about e(fx)clipse [message #1759985 is a reply to message #1759927] Thu, 20 April 2017 20:50 Go to previous messageGo to next message
Marcelo Ruiz is currently offline Marcelo RuizFriend
Messages: 12
Registered: April 2017
Junior Member
@Dirk
Thanks for your answer!
You were right in your assumptions. I want a pure JavaFX based on the Eclipse Platform. I do not want to mix SWT with JavaFX.
Thanks for all the information about the tutorials. I will definitely take a look at them.
I guess I will have to start giving a new look at Eclipse.
I know Tom will work on breaking the limitation of being tied to Eclipse, and I think it is really good news for the platform!

@Christoph
Thanks again for your help!
I will definitely take a look at the links you shared to learn more about moving part!

@EveryoneElse
If you are in a similar situation and want to get a nice overview nice overview of e4 is capable of: http://developer.eclipsesource.com/tutorials/#eclipse4
It does not cover JavaFX, though.
Re: Newbie questions about e(fx)clipse [message #1759996 is a reply to message #1759985] Fri, 21 April 2017 05:25 Go to previous message
Dirk Fauth is currently online Dirk FauthFriend
Messages: 2421
Registered: July 2012
Senior Member
Your welcome!

You should look at e4 as the platform. It provides you several features and functionality out of the box, like model based UI and dependency injection support. SWT or JavaFX are "only" the UI toolkits. For both you don't need e4. You can write applications with SWT or JavaFX without ever touching the platform. But the platform features make it nice to create rich client applications based on them.
Previous Topic:What happend to org.eclipse.fx.ui.services.sync.UISynchronize?
Next Topic:In Linux Mint Eclipse don't refresh fxml after Scene Builder edit
Goto Forum:
  


Current Time: Tue Jun 27 05:27:54 GMT 2017

Powered by FUDForum. Page generated in 0.02523 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software