| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html> |
| <head> |
| <title>What's the Difference between NetBeans Platform and Eclipse RCP?</title> |
| <meta name="DESCRIPTION" content="NetBeans Books"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| </head> |
| <body> |
| <h1>What's the Difference between NetBeans Platform and Eclipse RCP?</h1> |
| |
| <p>When looking for a rich-client platform as the basis of your applications, |
| you will find that there are only two to choose from—the NetBeans |
| Platform and Eclipse RCP. |
| <p>The NetBeans Platform and Eclipse RCP are more similar than they |
| are different. Both provide a framework for desktop application |
| developers. In both cases, a large number of features are provided |
| out of the box, from a docking framework, to an action system, |
| to update facilities, <a href="https://platform.netbeans.org/description.html">and much more besides</a>. In both cases, a rich |
| set of <a href="http://bits.netbeans.org/dev/javadoc/index.html">APIs</a> are provided, accompanied by many <a href="https://netbeans.org/kb/trails/platform.html">tutorials</a>, |
| <a href="http://wiki.netbeans.org/NetBeansDeveloperFAQ">FAQs</a>, and several <a href="https://platform.netbeans.org/articles/books.html">books</a>. |
| |
| <p>However, there <i><u>are</u></i> some very significant differences that |
| you need to be aware of when choosing between them. |
| |
| <p><b>Comparison Chart</b> |
| |
| <p><table class="full-width colapse"> |
| <tr> |
| <th></th> |
| <th style="padding:13px" class="">NetBeans Platform</th> |
| <th style="padding:13px" class="">Eclipse RCP</th> |
| </tr> |
| <tr><td rowspan="1" style="padding:13px" class="b-all"><i>UI Toolkit</i></td> |
| <td style="padding:13px" class="b-all">Standard Swing toolkit</td> |
| <td style="padding:13px" class="b-all">SWT</td></tr> |
| |
| <tr><td rowspan="1" style="padding:13px" class="b-all"><i>UI Design</i></td> |
| <td style="padding:13px" class="b-all">Free, award winning, Matisse GUI Builder</td> |
| <td style="padding:13px" class="b-all">Commercial alternatives</td></tr> |
| |
| <tr><td rowspan="1"style="padding:13px" class="b-all"><i>Module System</i></td> |
| <td style="padding:13px" class="b-all">Standard OSGi module system <p>or NetBeans-specific module system</td> |
| <td style="padding:13px" class="b-all">Standard OSGi module system</td></tr> |
| |
| <tr><td rowspan="1"style="padding:13px" class="b-all"><i>Build System</i></td> |
| <td style="padding:13px" class="b-all">Out of the box, Maven or Ant</td> |
| <td style="padding:13px" class="b-all">Proprietary</td></tr> |
| |
| <tr><td rowspan="1"style="padding:13px" class="b-all"><i>JDK Support</i></td> |
| <td style="padding:13px" class="b-all">VisualVM, a NetBeans Platform application,<br/>is in the JDK, |
| so many JARs from the<br/>NetBeans |
| Platform are in the JDK too</td> |
| <td style="padding:13px" class="b-all">No equivalent support</td></tr> |
| |
| <tr><td rowspan="1" style="padding:13px" class="b-all"><i>Training</i></td> |
| <td style="padding:13px" class="b-all">Free community-based trainings <p>for non-commercial |
| organizations</td> |
| <td style="padding:13px" class="b-all">No equivalent support</td></tr> |
| </table> |
| <p> |
| |
| <p><b>Details</b> |
| <p>Below follow more details on each of the points in the table above. |
| <ul> |
| |
| <li><p><b>UI Toolkit.</b> When you use the NetBeans Platform, you |
| will be programming with the official standard UI toolkit, which |
| is Swing. Eclipse RCP, on the other hand, makes use of SWT instead. |
| There are many advantages in using Swing instead of SWT. For example, |
| there are thousands of 3rd party libraries available in Swing, which |
| means that they are very easy to integrate into NetBeans Platform |
| applications. SWT does not have that kind of wideranging support |
| and therefore you will have far less 3rd party libraries to choose |
| from. An example is in the area of UI testing: while Swing has Jemmy |
| and similar tools, there are no great equivalents for SWT. In |
| addition, SWT requires that native libraries be included with |
| the end product, for each platform to which you deploy. |
| </p> |
| |
| <p>Thanks to Swing's look & feel support, you can completely customize |
| the appearance of your application, so that it is totally unique |
| and doesn't resemble any other application on the NetBeans Platform: |
| <p><img src="https://netbeans.org/images_www/screenshots/platform/blueMarine_thumb.png"/> |
| <p>Many other screenshots of NetBeans Platform |
| applications can be found <a href="https://platform.netbeans.org/screenshots.html">here</a>. |
| |
| <li><b>UI Design.</b> The award winning Matisse GUI Builder is |
| a standard part of NetBeans IDE. You can use it when prototyping |
| and designing your applications on top of the NetBeans Platform. |
| Its drag-and-drop capabilities and point-and-click features |
| make this an ideal environment for UI design. Many NetBeans Platform |
| users have cited this feature, together with the support for |
| Swing, as their main reasons for choosing the NetBeans Platform. |
| Eclipse RCP has |
| a similar tool, based on the Matisse GUI Builder, although it |
| is not free. |
| |
| <li><b>Module System.</b> Both NetBeans Platform and |
| the Eclipse RCP makes use of the <i>de facto</i> |
| standard module system, which is OSGi. In addition, |
| the NetBeans Platform provides its own module system, based |
| the standard Java approach to modularity, |
| relying on an extension to the JDK 6 ServiceLoader class for |
| intermodular communication. |
| |
| <li><b>Build System.</b> A feature specific to the NetBeans Platform |
| is the fact that its build system is based on Ant. Ant is |
| a standard, non-vendor specific build tool. As a result, you |
| are not locked into NetBeans IDE but can, instead, use the |
| command line to build your NetBeans Platform applications. |
| In fact, you can build NetBeans Platform applications out of the box |
| with Ant, and also fairly easily with Maven. |
| |
| <li><b>NetBeans Platform in the JDK.</b> Since JDK 6 Update 7, |
| many of the JARs that make up the NetBeans Platform are part of the JDK. |
| The JARs need to be there because Java VisualVM, the new JDK tool, |
| is created on top of the NetBeans Platform. When building your |
| application on top of the NetBeans Platform, this fact |
| can be useful, both |
| for development and delivery purposes. |
| |
| <li><b>Free Training.</b> The NetBeans team offers free <a href="http://edu.netbeans.org/courses/nbplatform-certified-training/">NetBeans |
| Platform certification</a> to universities, colleges, and schools, as well as |
| non-commercial institutions in general. (Write to users@edu.netbeans.org |
| if you are interested.) A customized version of this course |
| is available to companies, at a standard price. Eclipse RCP |
| does not offer free trainings of this kind. |
| |
| </ul> |
| <h3>Further Reading</h3> |
| |
| <ul> |
| <li><a href="https://platform.netbeans.org/testimonials.html">Customer Testimonials</a> |
| <li><a href="https://netbeans.org/community/articles/boeing-netbeans-platform.html">What |
| Made Boeing Choose the NetBeans Platform?</a> |
| <li><a href="http://netbeans.dzone.com/news/interview-porting-a-crm-applic">What |
| Made Sepix Choose the NetBeans Platform?</a> |
| <li>Two documents of presentations where Eclipse RCP |
| and NetBeans Platform were compared: |
| <ul> |
| <li><b>NetBeans Platform vs. Eclipse.</b> Slides by Jaroslav |
| Tulach and Lukas Barton. |
| <br>Download: [<a href="http://edu.netbeans.org/contrib/slides/netbeans-platform/nb-vs-eclipse.pdf">PDF</a>] |
| </li><li><b>NetBeans Platform vs. Eclipse.</b> JavaOne 2008 |
| technical session by Kai Toedter and Geertjan Wielenga. |
| <br>Download: [<a href="http://edu.netbeans.org/contrib/slides/netbeans-platform/Eclipse-RCP-NetBeans-Platform- JavaOne-2008.pdf">PDF</a>] |
| </li></ul> |
| <p> |
| </ul> |
| |
| <p> |
| </body> |
| </html> |