Almost totally crazy?


So there’s a comment on my JDT and JavaFX blog asking if it is possible to have an SWT-Port which uses JavaFX. So its time to present an even crazier thing than using JavaFX to build an IDE!

You are right I did already explored what the comment requests. I’ve started a proof-of-concept implementation of SWT ontop of JavaFX. Like all SWT-Ports everything starts with the control example.

I’ve only hacked for 1 or 2 days and this is what I have already.

This slideshow requires JavaScript.

Now where to go from here? Frankly, I’m not sure yet. I’ve always pushed hard that e4 is not depending on SWT so for new applications it is not really needed. JavaFX misses some controls (most prominent StyledText) and support things like OwnerDraw in table/trees is extremly hard to implement (read maybe impossible). I think a feasable target is to implement the same level of API, RAP has implemented today.

Anyways such a port needs funding to get implemented so if there are companies out there who want to see such a thing happening:

  • Start with my proof-of-concept and put your engineers on it
  • Hire us (BestSolution.at) to do it for you and the rest of the world

Sources are as always released under EPL.

You can take a look at them in my github repo at https://github.com/tomsontom/e-fx-clipse/tree/master/at.bestsolution.efxclipse.runtime.swt

This entry was posted in Uncategorized. Bookmark the permalink.

10 Responses to Almost totally crazy?

  1. da152 says:

    I really like efxclipse from you and I already starting to play around with JavaFX and OSGi. I am not sure who needs SWT on JavaFX though. In my opinion and most people I talk too, they dont want to hide the nice JavaFX API behind the not so nice SWT API, that does not really fit and miss some of the extended functionality of JavaFX.

    Building a RCP application on JavaFX is if you can start from scratch, you would rather directly want to code against the JavaFX API. Porting an existing RCP will be difficult anyway. And running the IDE under JavaFX is an illusion (I estimate) and not necessary really. Most programmers will be satisfied with the SWT on the native platform UI.

    So why dont we focus on an Eclipse IDE that can create RCP applications that are directly based on JavaFX as a better target for the future ?

  2. Reiner says:

    Number one on my wishlist: SWT for Android.

  3. Daniel Zimmermann says:

    The question whether or not there is a usecase for it, isn’t really that necessary, is it?
    Thumbs up to come with this crazy piece of work so goddam fast!

    Nevertheless, I think I will stick either with pure JavaFX or some e4 rendering engine 🙂

  4. Pingback: JavaFX links of the week, June 11 // JavaFX News, Demos and Insight // FX Experience

  5. Pingback: Java desktop links of the week, June 11 | Jonathan Giles

  6. Solerman Kaplon says:

    Maybe OwnerDraw could be implemented using a canvas node? Don’t know about SWT specifics about it to know if it is feasible

  7. Ivan says:

    I think this is a good start! What missing in SWT is eyes candy. Ya, no doubt SWT native controls give us the speed but if you compare to what .NET can do, some features still missing in SWT like animation… so, running JavaFX on top SWT, it is a good idea as well and luckily this is one of the JavaFX features. SWT for JavaFX ? I really like to see this…

    • Wolfgang says:

      I really like all this familiar solutions based on top of SWT like JFace, the layout managers and existing WYSIWYG editors based on it, databinding or many EMF.Edit features. Wouldn’t this SWT port be a good start to reuse existing technologies without further modification. Even if its not possible to adapt 100% of SWT, your great proof of concept shows that maybe porting 75% of the SWT API are enough for the applications skeleton? Do you think its possible to use this approach to render an FX based e4 application with the default SWT renderer?

      • Tom Schindl says:
        • Ad databinding: Pojo, Bean and EMF-Databinding can be combined with JavaFX – e(fx)clipse provides bundles to do so
        • Ad WYSIWYG: There is SceneBuilder, there is FXGraph and FXML with direct preview support
        • Ad Layouts: e(fx)clipse provides: GridLayout, RowLayout and FillLayout reimplementations for JavaFX
        • Ad e4 renderer: All controls are there but there are hard to tackle things (activation stuff, ….) and IMHO it is much better to rewrite a pure JavaFX one instead which I’ve done and it will be released as a first beta on the weekend

        All in all although it is possible I found nobody to pay me for doing it so, I’ll invest into stuff I can earn money to pay my bills.

  8. Ivan says:

    Great work!!! SWT for JavaFX allow us (SWT developers) to port our existing SWT apps to JavaFX and also with all the familiar api PLUS we can use explore JavaFX api from there as well~ I believe SWT for JavaFX is kind like wrapper right ? In that case we can carry on our works in JavaFX if we wanted to! GREAT JOB!!! Hope this will be SWT 5!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.