Friday, June 20, 2008

SproutCore

Two words have been in the lips of every major tech news site for the past week. Those words are Sprout and Core. Put them together and you get SproutCore, a javascript framework for easily creating rich internet applications. So what does all that mean? Well you could google it and find many blogs that have done an excellent job of explaining it but this is what it boils down to for me: Through command line and the use of special and clear classes one can build a web application in very few steps and use SproutCore's build tools to validate and build the code for deployment on your server. Now that probably didn't make much sense either. If you want to create a web application using the open language of Javascript (as opposed to flash or silverlight which requires a plug-in) then SproutCore makes this task easy. Apple has latched on to SproutCore and helped make it really great. The new Mobile Me service that will be offered next month was made using SproutCore and it sure looks great in the previews.
So how easy is this? Well I had to check it out, being constantly on the lookout for new ways to enrich the Mystic Teacup Project site, and see how it worked. So I started with the classic "Hello World" application tutorial. Of course I didn't follow the tutorial exactly. I replaced "World" with "There" wherever it appeared.

On OS X it requires the Terminal which scared me at first. After a few bumps in the Terminal road I had everything going well. The tags used were fairly self explanatory and as long as you know javascript that part should go smoothly as well. In the end you end up with a very sleek page with the "Hello World!" in big letters with a check box that says "Show Clock" above it. When checked the text will change from "Hello World!" to a clock showing the time in hh:mm:ss. It was easy and fast.

But I couldn't stop yet. I had to try somethings for myself to see if I could change things up a bit. I went through the tutorial again, but making some steps of my own. Instead of replacing things for example, I would add things and try to make it work. To my discouragement parts of it did and parts of it didn't. In the end I had failed at my task but there is major potential for those far better with javascript than I am.

See for yourself at SproutCore.com

No comments: