Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Develop Naked Object Applications in NetBeans IDE

DZone's Guide to

How to Develop Naked Object Applications in NetBeans IDE

· Java Zone
Free Resource

Find your next Integration job at DZone Jobs. See jobs focused on integration, or create your profile and have the employers come to you!

Naked Objects is an open source application development platform that encourages you to write behaviourally complete domain objects, from which an object-oriented user interface can be automatically generated using reflection. The IDE that is typically used for such applications is Eclipse, but as they can be built using Ant or Maven you have a certain amount of freedom. Here I will show how our favourite IDE can be easily used with both approaches with just a little tweaking here and there.

  • The classic Ant approach suggests that you define a Naked Object library and then create a normal project that uses it. This approach requires a little longer setup time but reduces the normal working cycle and generates a simpler set of artifacts. As a drawback, the tutorial only shows how to generate the drag'n'drop interface.

  • The Maven approach lets you start very quickly, but generates six different projects and the build cycle is somewhat slower. On the other hand, you get the web interface for free. You can also follow this advice to slighly reduce the time required to start the application.

As you are in no way bound to the above UIs, there is also a project to generate a user interface based on the NetBeans Platform.

Find your next Integration job at DZone Jobs. See jobs focused on integration, or create your profile and have the employers come to you!

Topics:

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}