WebObjects is a pure Java, complete end-to-end solution for building performance, scalable Web applications using proven technology. WebObjects has you covered from UI presentation back to a best of breed ORM for database persistence. WebObjects supports the latest web technologies and provides you with a consistent API following the best object-oriented design principals. Think of it as Cocoa and CoreData meets Java.
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.
Developed by NeXT and sold to Apple in 1997. The core frameworks are used internally by Apple to power web applications such as the Apple Store, the iTunes Music Store and their Mobile Me applications. What you do on the front end is up to you. Here are some examples of massively scalable applications that have been built by Apple itself:
Originally developed by NeXT Computer Inc., in the mid 1990s, it was ported by Apple to Mac OS X and Mac OS X Server in Objective-C and then completely translated to Java for version 5.0.
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, Jakarta 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.
If you are a J2EE developer, forget what you learned about EJB and Struts, you will be glad to use EOF and WebObjects 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 WebObjects IDE is based on Eclipse. If you ever used Apache Cayenne or Tapestry, you will feel even more at home.
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 WebObjects as a back-end for your Cocoa (and Cocoa touch) application, in fact many members of the community use WebObjects as the back-end of their iPhone applications.
You might have notice that WebObjects is not used on many "public" Web sites, and the main reason to that is that WebObjects 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, WO 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.
While the core of WebObjects is not open source, other frameworks and tools built on top of WebObjects are open source. The two biggest ones are WOLips and Project Wonder. WOLips is a Eclipse plugin to manage your WebObjects applications inside Eclipse, it adds a WOLips perpective, auto-completion in the component editor, JavaRebel support and many other things.
Project Wonder is the biggest collection of open source code built on top of WebObjects. It adds Ajax components, REST support, better errors detection, bug fixes, you name it. It's huge, but you should use it!
Check other projects built on top of WebObjects, you might find something for your needs.
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 com.webobjects.foundation.NSArray, which should be familiar to you. You can also use WebObjects as a back-end for your Cocoa (and Cocoa touch) application.
Forget what you learned about EJB and Struts, you will be glad to use EOF and WebObjects 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 WebObjects IDE is based on Eclipse. If you ever used Apache Cayenne or Tapestry, you will feel even more at home.