SproutCore 101 – Intro

Got interested in learning the? SproutCore? (SC) Javascript framework. Looks like it’s been used to do some pretty spiffy stuff. I have a few hesitations though.

  1. “Running Target” API.? Cutting edge taken to the extreme means that the very core of things might change. Techniques you develop now may not even work in 2 months. The next release of the framework may look like an entirely different framework altogether. I got slightly burned by this when I got into Rails a while back at just exactly the wrong time. SC looks like it might be just about at that point where things are going to get pretty mixed up.
  2. Poor documentation.? Because the API isn’t completely stabilized, documentation for even some of the most basic things is difficult to find. The “Into to SproutCore” tutorial shows you how to make a single-view application, and that’s about as useful as a static webpage with some hand-coded JS. Learning this thing is going to require taking it apart and learning exactly how it works for myself.?
  3. Social Interaction Requirement.? Yes, I know it’s pathetic and sad that this is an issue. But with many environments there’s a surplus of blogposts, tech articles, books, and other “static” resources describing almost every imaginable problem you may have and it’s various solutions. With a new developing framework like SC the only way to get information can be to actually get involved and ask questions on the discussion list, or IRC channel. While I am not completely opposed to this, it does slow down the learning/development process and really isn’t my style.

SC looks like such an interesting framework, and I’d love to actually get in on the ground-floor of something for once before it’s been done to death. So what I’m going to try, is taking apart SC as much as needed to learn how to use it, and while I’m at it, write some better tutorials. I’ll need to keep in mind the “running target” aspect of things, but hopefully the core concepts don’t change too much too frequently.

I’ve already started experimenting, followed the intro tutorials, checked out the example source. None of the examples provide sufficient complexity however. For example, the “photos” demo app doesn’t even let you blow up a photo to full size. (Which would illustrate how you use views, something I’ve been having trouble understanding.)

Time to create my own demo app!