Why not Eclipse?

The jMonkeyEngine’s default IDE (Integrated Development Environment) bases on the NetBeans RCP (Rich Client Platform). There is a RCP for Eclipse too, so why don’t we use Eclipse as IDE for jMonkey? Well, there’s several reasons:

  1. Eclipse uses a proprietary GUI system (SWT), NetBeans uses the Java-default AWT implementation for which a high-performance canvas display exists in LWJGL/jME3. AWT compatibility allowed e.g. integration of plugins like NeoTexture.

  2. Eclipse projects are proprietary and they can not be opened without Eclipse. The NetBeans Platform uses the ANT standard which works outside the IDE as well, and can be extended by other build processes that use ANT (e.g. Android deployment). Furthermore, Eclipse can open projects generated by the NetBeans-based jMonkeyEngine SDK if needed.

  3. There is no way to extend Eclipse projects properly as there is no global concept of a “Project” in the RCP.

  4. Eclipse RCP does not offer a Nodes API that allows easy wrapping of the SceneGraph into a visual representation.

  5. Eclipse RCP only has commercial GUI editors, NetBeans comes with a free AWT GUI editor for designing plugins.

  6. The two Platforms are the same feature-wise.

  7. The core jME3 developers use NetBeans IDE.

If you come from another IDE and want to try jMonkeyEngine SDK, you can easily set up the keyboard shortcut mappings to resemble the configuration you are used to. Profiles exist for Eclipse, IntelliJ and others. Just go to Settings → Keymap and select one of the existing profiles.