WebObjects: The Gift that Keeps on Giving

About eleven years ago I became acquainted with Apple WebObjects. WebObjects was in the midst of a transition from Objective-C to Java at the time and I entered the WebObjects picture on the Java side of the equation. The fingerprints of the original Objective-C version of WebObjects were visible throughout the product. You had classes like NSDictionary and NSArray in the foundation package and patterns such as delegation throughout the design. Most/all of these concepts themselves came to WebObjects from NeXTSTEP and OpenStep.

Years later, I entered the world of iOS and Cocoa desktop programming. Much of the learning curve in these technologies was eased due to my prior experience with WebObjects. This is true in spite of the fact that my WebObjects usage involved no Objective-C work at all.  The conceptual cores of iOS and Cocoa share a common heritage with WebObjects.

More recently I had an opportunity to work with the open source object-relational mapping framework called Apache Cayenne. Cayenne was inspired by the Enterprise Objects Framework (EOF) which was part of the WebObjects product. It’s not an exact clone of EOF, but my prior WebObjects experience made me feel right at home with Cayenne. Completing the picture is a recent investigation of Apache Tapestry. Tapestry is a component-oriented web framework also inspired by WebObjects. Working with the component-oriented approach taken with Apache Tapestry felt like going home (albeit to a greatly renovated house.)

So, more than eleven years after first developing with Apple WebObjects, the time investment  that I made in learning/mastering that product is still paying dividends. My hat’s off to all those who have created the line of technologies that both precede and descend from WebObjects.

Advertisement

About Tony Ingraldi
Majesty Software was founded in 2007 by Tony Ingraldi where he spends his time as a consultant and an independent software developer.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.