I worked on SproutCore projects at Apple for a couple years on the iWork.com team.
A lot of the pros and cons are similar for any thick framework: if you buy into it, you get a lot of power and functionality for free, but you need to fully buy into it and play the game the framework is playing. When your mandate is to build a web app with the size and feel of a native app, SproutCore is a good choice.
SproutCore is in a class with GWT and Cappuccino in that it's a thick-client framework. It is quite a bit of code that enables you to build powerful applications, but only makes sense if you're building a complex application. It contrasts with a small library like JQuery that is very flexible but only provides the minimum required for bootstrapping an app. Both in principle and in design it's similar to building an app using Cocoa instead of just in C.
I'll echo others' statements about the code and documentation. The docs left something to be desired when I was working with SproutCore, but by reading the code, I became a better JavaScript developer.
A lot of the pros and cons are similar for any thick framework: if you buy into it, you get a lot of power and functionality for free, but you need to fully buy into it and play the game the framework is playing. When your mandate is to build a web app with the size and feel of a native app, SproutCore is a good choice.
SproutCore is in a class with GWT and Cappuccino in that it's a thick-client framework. It is quite a bit of code that enables you to build powerful applications, but only makes sense if you're building a complex application. It contrasts with a small library like JQuery that is very flexible but only provides the minimum required for bootstrapping an app. Both in principle and in design it's similar to building an app using Cocoa instead of just in C.
I'll echo others' statements about the code and documentation. The docs left something to be desired when I was working with SproutCore, but by reading the code, I became a better JavaScript developer.