The Register® — Biting the hand that feeds IT

Feeds

Is SproutCore worth the Flash and Java iPhone snub?

Shows promise, reveals limitations

Ensure Ease of Recovery with Asigra’s Agentless Software

A little-known open-source project became the subject of intense interest recently, following a session at Apple's developer conference in San Francisco, California. That project? SproutCore.

Apple offered to show WWDC attendees a way to deliver a "first-class user experience and exceptional performance" in web applications using HTML 5 and SproutCore, a platform-independent, Cocoa-inspired JavaScript framework.

Put this together with Apple's aversion to Adobe Systems' Flash or Sun Microsystems' Java on the iPhone, and it seems plausible SproutCore will be Apple's official route to Rich Internet Applications (RIAs) on its increasingly popular phone. There's even more room to conclude this, given SproutCore appears to be used in Apple's MobileMe service.

It's time to take a look at SproutCore.

It turns out that SproutCore is not just a JavaScript framework. It is also a set of development tools, written in Ruby, that generate HTML and JavaScript from templates. The project also includes a test framework and a build tool that generates optimized code ready for upload to a web server. A SproutCore application is deployed as static files; Ruby is not used at runtime.

Apple's MobileMe

SproutCore in Apple's MobileMe - is it for you, too?

OK. Let's not get carried away with the facts SproutCore is open source, it uses JavaScript, and Ruby, and that it works on the iPhone. SproutCore is a work in progress. Internet Explorer is not properly supported, and although IE7 at will be supported soon, SproutCore framework co-founder Charles Jolley has said IE6 may never be catered for. That is understandable, bearing in mind the quirks of IE6, yet Microsoft's obsolete browser still has a 27 per cent market share, according to the latest figures from HitsLink.

Windows is not ideal for developing with SproutCore either, because of differences in the build environment, path structure, and the use of symbolic links. I used Ubuntu Linux, running as it happens on Windows Vista in VirtualBox. The prerequisites are Ruby, Rubygems, and a standard set of build tools, all of which let you install SproutCore with a single command: gem install sproutcore. Alternatively, it runs nicely on a Mac.

That aside, creating a "Hello World" application in SproutCore is a trivial task. A single command generates a skeleton application, with resources neatly arranged into several folders. SproutCore uses a Model View Controller (MVC) architecture. Each web page has its own folder, with sub-folders for models, views, controllers, tests, and language resources. A SproutCore page may be an entire application, since it leans towards the desktop model, in which many actions are possible within a single window.

In the language folder is body.rhtml, where you can start adding content. Here is a label:


<%= label_view :my_label, :tag => 'p', :bind => { :value =>
'Example.detailController.sMessage'} %>

This code is actually embedded Ruby syntax, which SproutCore parses using the Erubis library.

Requirements Checklist for Choosing a Cloud Backup and Recovery Service Provider

Latest Comments

Ruby? Meh.

Nice thing it was ... until I read 'Ruby'. Straight to the trashcan.

I just don't understand Apple's aversion to Java, its exclusion from the iBone is just idiotic. And why, oh why would they go for Ruby ??? I'd rather see Obj-C on the RIA iPhone apps than the horrible Ruby thingy. And I am *not* an Obj-C fan either! (In fact, I think ObjC is kind of Smalltalk disguised as C.)

That other Objective-J sounds better than this, though ... if only because it has _no Ruby_.

0
0
Anonymous Coward

cappucino = extra froth?

A mix of java and cocoa would be a mocha, not a cappucino.

0
0

Not convinced by SproutCore

I have been using various frameworks in the past year or so and have quite some experience in it.

I don't think that SproutCore deserved all the credits it's currently getting. The only real application so far deployed on some decent scale is Apple Web Gallery (or rather .Mac), and honestly performance are lacking badly.

It's remind me a lot almost Microsoft here with how much vaporware stuff is being written when no one for sure has seen a final working app. I think that July 11 is going to show what I suspect : beautiful user interface (classic Apple) but poor performance.

Here is what I suggest when everything is available : let's check browser memory footprint and overall application response time for loading and using it... I think that until we have something to see and use, it's a lot of wasted bandwidth to claim that SproutCore is solving every problem of the web !

As mentioned in an earlier post, Cappuccino is way more oriented toward Cocoa than SproutCore !

SproutCore force you to use Ruby for your development : this is a no go for many folks.

0
0

More from The Register

Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry
Apple at WWDC: Sleek new iOS, death of the big cats, pint-sized Mac Pro
CEO Cook: 'The biggest change to iOS since the introduction of the iPhone'