Why Project Wonder?
You may think “Why should I use Project Wonder” when all the cool kids are using Ruby On Rails and PHP ?

There's NOTHING you can't do!

Project Wonder started its life as a collection of open source frameworks build on top of Apple's WebObjects. Over time, Wonder became as large as WebObjects and not only provided complimentary frameworks but also provided fixes for WebObjects bugs, and development and deployment tools. Starting with Snow Leopard, Apple stopped providing releases of WebObjects outside Apple, but the community love WebObjects so much that we decided to continue development with Project Wonder.

It provides a powerful and mature set of Object-Oriented frameworks for managing Object-Relational Mapping (ORM) to any JDBC-compliant database, Session Management, Undo/Redo/Revert, Ajax, Web Services, full Java Client applications, Rapid Application Development, file upload/download and many other popular internet and enterprise application technologies.

It is an incredibly flexible set of frameworks exemplified by Apple's own use of it for such varied applications as the iTunes Music Store, the on-line Apple Store, Concierge and MobileMe.

Rock solid.

It's mature. WebObjects 1.0 was released in 1996, in a time where people were using Perl or CGI in C. Project Wonder started its life in 2001. Apple uses it to power many of their biggest properties (iTunes Store, Apple Online Store, App Store backend, Radar, etc.). But it's not only Apple who use it, many developers outside Apple use it to build fantastic Web applications and services!

Java on the Web, Done Right!

Enjoy working in a clean and elegantly designed set of coherent, consistent frameworks. Delight in spending your time implementing features instead of fussing with infrastructure. You don't have to deal with EJB, J2EE containers, Struts and the like. There is no need to hand edit XML and use dependancy injection to get the pieces to co-operate. Of course, WebObjects has full access to the universe of Java libraries (JavaMail, Apache projects, etc.) and the cross platform portability that Java developers depend on.

Now that the development tools are 100% Java, you can develop and deploy on any OS that can run Java. This allow you to use other Java libraries with WebObjects, many in the community use libraries and tools like Apache Commons inside their WebObjects apps.

What's in for Cocoa developers

Since WebObjects was in Objective-C in the past, it shares some design patterns with Cocoa. You use Cocoa because you like clean APIs, good tools, faster development process and turnaround, and KVC ? WebObjects, because of its NeXT foundation, shares a lot of concepts coming from Cocoa (especially Foundation). You don't use java.util.Vector, you use com.webobjects.foundation.NSArray, which should be familiar to you. You can also use Project Wonder as a back-end for your Cocoa (and Cocoa touch) application, in fact many members of the community use Project Wonder as the back-end of their iOS applications.

It's to build Web applications, not Web sites

You might have notice that Project Wonder is not used on many "public" Web sites, and the main reason to that is that Project Wonder was made to build Web applications, not Web sites. If you only want to have a contact form or make a read-only Web site, Project Wonder is not a tool for that. But if you need to build a Web app that needs to fetch and update content, WebObjects is your friend. It's funny to see people go crazy over some Web frameworks to create Web apps, because WebObjects was doing that since day one.

I’m a Cocoa developer, why should I use Project Wonder?

Well, you use Cocoa because you like clean APIs, good tools, faster development process and turnaround, and KVC ? WebObjects, because of its NeXT foundation, shares a lot of concepts coming from Cocoa (especially Foundation). You don’t use java.util.Vector, you use NSArray, which should be familiar to you. You can also use Project Wonder as a back-end for your Cocoa (and Cocoa touch) application.

I'm a J2EE developer, why should I use Project Wonder?

If you are a J2EE developer, forget what you learned about EJB and Struts, you will be glad to use EOF and components instead. But the fun part is that you don't need to learn a new language. You can reuse some of the code of your J2EE apps, and the official Project Wonder IDE is based on Eclipse. If you ever used Apache Cayenne or Tapestry, you will feel even more at home.