Porting to the NetBeans Platform from the Eclipse RCP

Discussions

News: Porting to the NetBeans Platform from the Eclipse RCP

  1. Kai Tödter, a Principal Engineer at Siemens Corporate Technology, had a recent conversation with Geertjan about his experiences porting an Eclipse RCP application to the NetBeans Platform. In the discussion, Kai describes how he encountered all the major NetBeans APIs, which resulted in his being able to compare them to their equivalents in the Eclipse world.
    Right now, when I get to coach or assist in making platform choices, I would present both, Eclipse RCP and NetBeans Platform, because, as I said before, there are use cases where the NetBeans Platform would be a truly excellent choice.
    Kai explains that one needs to consider many aspects when choosing a Java rich client platform. He argues that no platform fits all use cases. With his Eclipse MP3 manager/player now ported to the NetBeans Platform, Kai is now working to make the source available. He and Geertjan are also planning on preparing a 1:1 feature analysis to illustrate the pros and cons that they feel should be considered when choosing between the two platforms.

    Threaded Messages (27)

  2. Re: Eclipse RCP vs. NetBeans Platform[ Go to top ]

    Beside the Eclipse and NetBeans Jave IDEs, how many people actually use the platforms?
  3. Re: Eclipse RCP vs. NetBeans Platform[ Go to top ]

    Beside the Eclipse and NetBeans Jave IDEs, how many people actually use the platforms?
    For Eclipse RCP - a lot, and growing. For NetBeans - fewer, but also growing. I think the interesting thing about this article is that it illustrates that, no matter which of the platforms you choose, you will be a lot more productive than if you build your entire GUI from scratch. We saw the same with Web development... no matter whether you choose Struts or WebWork or even Rails, you'll be a lot better off with any of these frameworks than if you start off with a plain Servlet spitting out HTML.
  4. Re: Eclipse RCP vs. NetBeans Platform[ Go to top ]

    Beside the Eclipse and NetBeans Jave IDEs, how many people actually use the platforms?
    You are far more productive using a good framework. Why would you re-invent the wheel every time? Just pick up a good framework and concentrate on your application specific business logic. Eclipse RCP is an excellent framework and quite easy to learn.
  5. Toolkit issue[ Go to top ]

    Well, it is SWT though. I run his samples side by side, really, with JDK 6.0 I do not see the difference in L&F between Swing and SWT, or performance for that matter...so why would I use a non-standard toolkit with a lot of cross-platform issues (e.g. MyEclipseIDE still does not offer all of its features on Mac, due to outstanding bugs in SWT). And I like the Swing API a lot more than SWT...so, for me I'd go with Netbeans RCP purely because of that issue.
  6. Re: Toolkit issue[ Go to top ]

    Not until SUN fixed SWING application does not work on dual monitor. I will stick with SWT. How many corporate applications are running on MAC anyway?
  7. I've seen a disproportionate number in the 'real world.' Since Mac OS X is based on Unix, it makes a compelling choice. But what a surprise when people realize SWT is not fully cross platform. There are already dozens of bug reports at https://bugs.eclipse.org/bugs/show_bug.cgi?id=145890 but no action, so you're probably right, Eclipse on Mac (at this time) is not really viable as a major developer platform if you want to avoid surprises.
  8. There are already dozens of bug reports at https://bugs.eclipse.org/bugs/show_bug.cgi?id=145890 but no action, so you're probably right, Eclipse on Mac (at this time) is not really viable as a major developer platform if you want to avoid surprises.
    I know a lot (a lot!) of developers who would beg to differ. While I'm the first to admit that Mac OS is not the best Java development platform, Eclipse on it works just fine. And on top of that, the RCP automatically creates distributions for Windows, Mac OS and Linux at the click of a button. -- Cedric
  9. There are already dozens of bug reports at https://bugs.eclipse.org/bugs/show_bug.cgi?id=145890 but no action, so you're probably right, Eclipse on Mac (at this time) is not really viable as a major developer platform if you want to avoid surprises.

    I know a lot (a lot!) of developers who would beg to differ.

    While I'm the first to admit that Mac OS is not the best Java development platform, Eclipse on it works just fine.

    And on top of that, the RCP automatically creates distributions for Windows, Mac OS and Linux at the click of a button.

    --
    Cedric
    In which ways is Mac OS X not the best development platform, other than the delayed availability of JDK's? And even with that, Apple is catching up. You can now download JSE 6, etc... I still don't get when people say that. I've been developing numerous java apps on mac without any issues. The issues that sometime come up, are same issues you'd experience on every other platform in some form or another. Ilya
  10. In which ways is Mac OS X not the best development platform, other than the delayed availability of JDK's?
    That's already a big one. Off the top of my head, there's also: - No Java ME - No more Cocoa bindings (so much for Apple "supporting" Java) - The schizophreny between the Ctrl and Command keys, which is driving me insane - The MacBookPro can't be used for more than one hour in your lap without making you sterile :-) I am much more productive to do Java development on Windows, personally. -- Cedric
  11. The MacBookPro can't be used for more than one hour in your lap without making you sterile :-)

    I am much more productive to do Java development on Windows, personally.

    --
    Cedric
    Haha, yeah, that's my only complaint though. But to be honest, I think it gets cooler with time:-) Or my thighs are getting used to it:-) I won't be on the first one, probably the second. I think availability is important if you want to test some bleeding edge features. Maybe that's a huge + for you, I can wait. And for the few hours I need to use the latest alpha jdk, I'll dust off my windows:-) I completely agree with Ctrl/Command stuff, but not sure if that's an apple issue and/or swing. Ilya
  12. Works mostly fine[ Go to top ]

    There are already dozens of bug reports at https://bugs.eclipse.org/bugs/show_bug.cgi?id=145890 but no action, so you're probably right, Eclipse on Mac (at this time) is not really viable as a major developer platform if you want to avoid surprises.

    I know a lot (a lot!) of developers who would beg to differ.

    While I'm the first to admit that Mac OS is not the best Java development platform, Eclipse on it works just fine.

    And on top of that, the RCP automatically creates distributions for Windows, Mac OS and Linux at the click of a button.

    --
    Cedric
    I use Eclipse on Mac too, and I find it quite stable. But with the referenced bug, I can't use, for example, MyEclipse's UML tools. If you read the bug conversation, apparently they "need framework support from the Carbon and Cocoa teams to do this. We have two radars tracking it -- one for the Cocoa team and one for the Java team" http://www.myeclipseide.com/index.php?name=PNphpBB2&file=viewtopic&t=12464&postdays=0&postorder=asc&start=0 is another discussion on this bug. If you don't use MyEclipse or other tools that use these SWT features, it's not an issue, but for me and many others it's a pain.
  13. Re: Works mostly fine[ Go to top ]

    There are already dozens of bug reports at https://bugs.eclipse.org/bugs/show_bug.cgi?id=145890 but no action, so you're probably right, Eclipse on Mac (at this time) is not really viable as a major developer platform if you want to avoid surprises.

    I know a lot (a lot!) of developers who would beg to differ.

    While I'm the first to admit that Mac OS is not the best Java development platform, Eclipse on it works just fine.

    And on top of that, the RCP automatically creates distributions for Windows, Mac OS and Linux at the click of a button.

    --
    Cedric


    I use Eclipse on Mac too, and I find it quite stable. But with the referenced bug, I can't use, for example, MyEclipse's UML tools. If you read the bug conversation, apparently they "need framework support from the Carbon and Cocoa teams to do this. We have two radars tracking it -- one for the Cocoa team and one for the Java team"

    http://www.myeclipseide.com/index.php?name=PNphpBB2&file=viewtopic&t=12464&postdays=0&postorder=asc&start=0 is another discussion on this bug.

    If you don't use MyEclipse or other tools that use these SWT features, it's not an issue, but for me and many others it's a pain.
    That's not a Mac issue per say, it's the SWT concept. One of the biggest reasons Sun is not supporting SWT, it's lack of true portability. It works great on "all versions of Windows" though:-) That's Bills understanding of portability.
  14. Re: Works mostly fine[ Go to top ]

    That's not a Mac issue per say, it's the SWT concept.
    No, this is 100% a Mac issue, and even a Mac OS UI guideline. It's recommended to use the Command key for everything, except that certain system shortcuts (such as Command-h and Command-q) should not be overridden, so Mac falls back to Control for these keys. And it really hurts my brain to try and remember when I should use Command and when I should use Control.
    One of the biggest reasons Sun is not supporting SWT, it's lack of true portability.
    I think the main reason why Sun is not supporting SWT is because they didn't invent it :-) SWT works fine on Windows, Mac OS and various flavors of Linux desktops, which probably means 99% of machines out there. The fact that it's less portable than Swing is, by far and large, a myth. I'd go even further saying that SWT gets ported to new UI's faster because they use native widgets, as opposed to Swing, which is forced to emulate the native widgets in Java, and never achieves 100% perfection (see for example the absence of support for single-clicking in the Swing file dialog, or the various subtle pixel differences that you see in Swing windows compared to the host operating system). -- Cedric
  15. Re: Works mostly fine[ Go to top ]

    That's not a Mac issue per say, it's the SWT concept.

    No, this is 100% a Mac issue, and even a Mac OS UI guideline.
    Cedric, I wasn't talking about the shortcuts, rather about the fact that some components, I was talking about the Carbon/Cocoa AWT issue. Although, yes, it seems as if they need support from the apple engineers, that's the whole point that Gosling was trying to make. Not relying on native widgets, components, etc..., rather implementing a consistent interface across all platforms, which Swing solves quite nicely. Yes, alot of us see the 90% garbage swing apps and are quick to jump to conclusions that it's not that good. But then after running my IntelliJ (which I think is a primary example of the best GUI out there Swing or not), I quickly understand that Swing is a wonderful concept that once mastered, can yield great cross platform GUI apps, without waiting for OS engineers to add/fix something to support it. Ilya
  16. Re: Works totally fine[ Go to top ]

    It's simple FUD that keeps getting bandied about like fact, but it's not true. There are no problems with SWT on Mac. SWT works fine on Windows, Mac OS and many flavors of Linux desktops. It works fantastic. Don't take my word for it, re-read Cedric's comments - SWT works great on the Mac. The problem is when you try to use Swing/AWT from within an SWT-based app. I have a great work around suggestion for that ;) There are no problems with SWT on Mac and it's insulting to the developers of the hundreds of apps supporting SWT on Mac. If Java was open source the Swing/AWT problems would have been fixed long ago, but alas they are not. - Don
  17. Re: Works totally fine[ Go to top ]

    It's simple FUD that keeps getting bandied about like fact, but it's not true. There are no problems with SWT on Mac. SWT works fine on Windows, Mac OS and many flavors of Linux desktops. It works fantastic. Don't take my word for it, re-read Cedric's comments - SWT works great on the Mac.
    Maybe for you and Cedric, I've had many crash issues with it and so did many other people that complain about the same incompatibility. It's also notoriously slow, compared to it's Windows performance. And no, it's not a Mac issue, as the rest of my Mac apps run faster on my MacBook than they do on my Windows machine.
    The problem is when you try to use Swing/AWT from within an SWT-based app. I have a great work around suggestion for that ;)
    That's only one of the problems. Maybe the only one you faced.
    There are no problems with SWT on Mac and it's insulting to the developers of the hundreds of apps supporting SWT on Mac.
    No, it's an insult to the SWT library, not the people who chose to use it. Yes, SWT is implemented leaps and bounds better than AWT was and provides a nice bridge interface between the native widgets and SWT, but they will always have portability and stability issues for platforms which they don't invest a lot of resources on.
    If Java was open source the Swing/AWT problems would have been fixed long ago, but alas they are not. - Don
    Oh, here we go with the OS vs. commercial:-) Just because Eclipse open sources their product (which sun java is as well), doesn't mean that anyone can contribute. You can send in bug reports, but commit priveledges are a different story, right? I can argue that you can contribute the same to Java by sending in features/fixes, though the process might not be as robust. As far as Eclipse, I'd argue that IBM controls it just as much as Sun controls Java and it's quality and huge success is only inherent from the amount of money corporations have poured into it. I'm not saying there aren't very successful open source (non-sponsored) projects, there are many more that I can even account for here, but Eclipse is definitely not one of them.
  18. If Windows only, why then java?[ Go to top ]

    Well, with that line of thinking, how many of them need to be done in Java then? Let's just all do them in C# and Windows Forms.
  19. SWT is no longer warranted[ Go to top ]

    It seems to me that most, if not all, the reasons that caused SWT to be created in the first place are no longer valid. Swing has gone through significant improvements over the years to make it completely viable. I understand why so many were attracted to SWT originally, but it seems to me that there isn't much benefit any more from all the work required to maintain it. I used to use MyEclipse but I upgraded my workstation at home to an XP 64-bit OS last fall and was quite perturbed to discover that I could not run Eclipse in a 64-bit JVM. That's when I gave NB another look. Since it was pure Swing, it will run on anything with a JVM. The strides made by the NB team are commendable. Enough so that I didn't renew my subscription to MyEclipse. I'm not going to say that I think NB is better than Eclipse, just that I prefer it now. I think both are extremely capable platforms. Also, I think having both be viable in the market place will push both of them to improve. I think that competition will be good for us all. So, what are the current failings of Swing that make SWT worth the effort?
  20. Re: SWT is no longer warranted[ Go to top ]

    So, what are the current failings of Swing that make SWT worth the effort?
    There are quite a few in my opinion. * SWT does a better job at supporting the native platform. Swing is slowly catching up with JDIC (which hardly anyone uses because it's still a work in progress), but SWT has let you use OLE and COM for quite a while, along with the system tray and other niceties. * SWT looks good. Swing has improved quite a bit, but SWT applications still look very polished. * SWT interfaces are easier to design because the TableLayout is superior to GridBagLayout (stating an opinion here, I'm sure plenty of GridBagLayout experts will disagree, but for one of you, there are ten people like me who, after ten years programming in Java, still need trial and error to get a GBL layout right). * SWT is built on top of a thin and fast native layer, as opposed to Swing which has been plagued for a long time by its AWT foundation. * JFace still offers better high-level UI objects (such as wizards). * Overall, I find that it takes Swing experts to create a good-looking UI in Swing, while the barrier of entry is lower for SWT. That's just a few off the top of my head. -- Cedric
  21. BTW, NB 6.0 RCP fully supports dual monitor setups. See here: http://www.netbeans.org/issues/show_bug.cgi?id=73766 I recall seeing a demo with undocking the views and placing outside of the main NB window, anywhere on the desktop, done exactly for those who need multi-monitor setups. One more point for Swing and NB RCP.
  22. Jacek is right. Here you can see a NetBeans Platform app with undocked views: http://blogs.sun.com/geertjan/entry/jfugue_music_notepad_independent_score
  23. Visual Library 2.0[ Go to top ]

    And there is a new component from NB that I've played a bit with and been pretty impressed. The Visual Library 2.0: http://graph.netbeans.org/documentation.html Run the demos, pretty impressive framework for adding very rich graph/visual objects editing to any app, and with pretty minimal, very object oriented code as well. I can see a lot of Swing apps using this for adding some very rich user functionality to their apps (this library is not bound to NB RCP, it can be used in any Swing app). There is a lot of demos of it as well on Geertran's blog: http://blogs.sun.com/geertjan/entry/download_the_simpsons_visual_library
  24. Re: Toolkit issue[ Go to top ]

    Not until SUN fixed SWING application does not work on dual monitor. I will stick with SWT. How many corporate applications are running on MAC anyway?
    The question is not how many apps are running on Mac, but rather how many developers are running Mac these days and how many more are moving to it. Mac is an incredible platform and after making a switch not long ago, I dread every time I have to touch a windows machine. I'm yet to run into any issues running or finding anything I need. And most apps that are written in "real" java and swing run flawlessly. Eclipse is very unstable at this point, though I can run it, it crashes more than I can handle. Neteans is very very promissing in the arena of open source IDEs. But for me, IntelliJ is king right now. Ilya
  25. Re: Toolkit issue[ Go to top ]

    Not until SUN fixed SWING application does not work on dual monitor. I will stick with SWT. How many corporate applications are running on MAC anyway?
    How many applications are running on dual monitor anyway?
  26. Beside the Eclipse and NetBeans Jave IDEs, how many people actually use the platforms?
    Today developing thick client application without platform(Eclipse/NetBeans) is like developing web application without using frameworks(JSF,Struts,GWT). In RUNA WFE (Open Source Workflow System) we use Eclipse Platform for workflow process designer. Just imaging how much time you will spend to build it from scratch. Regards, Vitaliy S
  27. Re: Eclipse RCP vs. NetBeans Platform[ Go to top ]

    I have been using Eclipse RCP a lot, primarily for its collection of plug-ins, such as BIRT, GEF. Recently I have started to play with GMF. I don't know whether NetBeans has any equivalent. cheers romen
  28. Can anyone compare the NetBeans platform and Eclipse RCP with Spring RCP?