Dashboard > WOCommunity > ... > wocommunity Web site content > Why WebObjects
  WOCommunity Log In View a printable version of the current page.  
  Why WebObjects
Added by Pascal Robert, last edited by Pascal Robert on Feb 01, 2010  (view change)
Labels: 
(None)

Introduction

I was told that the "Why WebObjects" page is not enough "positive", so to gather comments and suggestions about that page, I created this page so that people can submit their ideas to redo the "Why WebObjects" page.

Pascal Robert's suggestion (and David Holt mods )

There's NOTHING you can't do!

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.

Rock solid.

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:

The Apple Store front-end optimized for browsers:
http://store.apple.com/us/browse/home/shop_mac/family/imac

iTunes Store runs natively on Windows and Mac desktops as part of iTunes and it now sports a new web based client
Check out iTunes preview here http://www.apple.com/itunes/
or download iTunes for Windows or Mac http://www.apple.com/itunes/download/
The backend is all WebObjects.

Mobile Me http://www.apple.com/mobileme/features/me-dot-com.html leverages the Sproutcore http://sproutcore.com/ Javascript framework for its UI. Sproutcore talks to many backend written with WebObjects.

You can also use WebObjects to power cloud based iPhone / iPad applications using RESTful services in Project Wonder.

There are many other examples of applications developed and deployed by others! http://www.wocommunity.org/community.html

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.

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, Jakarta projects, etc.) and the cross platform portability that Java developers depend on.

Now that the development tools are 100% Java (link to WOLips description), 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.

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 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.

It's to build Web applications, not Web sites

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.

Project Wonder and WOLips

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 (link to /page/projects), you might find something for your needs.

Site running on a free Atlassian Confluence Open Source Project License granted to ObjectStyle. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.4 Build:#809 Jun 12, 2007) - Bug/feature request - Contact Administrators