SproutCore server-side requirements and reliability

I’m wondering about SproutCore’s architecture and whether it requires server-side components. How does it compare to Java when building web applications in terms of reliability and performance?

From what I understand, SproutCore is mainly a client-side framework, but I’m not sure if that’s the complete picture. I’m also curious about Apple’s web services like iWork.com and MobileMe. Were these built entirely with SproutCore and JavaScript, or did they also use backend technologies like Java or WebObjects?

Can someone explain how SproutCore fits into the full-stack development picture? Does it handle everything on the frontend while still needing traditional server technologies?