Following Apple on the road to rich web apps
Roughly Drafted has an interesting (and long) article that discusses Apple, Adobe, Google and Microsoft, and their different approaches to developing rich applications for the web. The article is very readable for a non-technical audience, and well-researched, too.
The article contrasts Apple's mature development tools and platform frameworks with Google's new open-source tools (like Google Gears). Further, it discusses closed frameworks like Adobe Flash and Microsoft Silverlight, and why Apple is ignoring those in favor of open-source, standards-based development for both apple.com and support for the iPhone.
Then it gets good. Daniel Eran Dilger writes about Charles Jolley's SproutCore, a JavaScript framework that Apple has adopted for its own rich web apps, based on a Cocoa-like model-view-controller foundation with bindings, key value observing, and view controls. Think JavaScript on Rails. SproutCore bares its teeth at Adobe's development tools, all ready to show off in Apple's upcoming release of Mobile Me.
"That makes SproutCore a light Cocoa alternative for deploying web apps that look and feel like Mac OS X desktop apps," Dilger writes.
It's a good read for a Sunday afternoon, and will get you thinking about the kinds of apps that you can build (more easily than ever) for the web. If you enjoyed Brett's earlier video about 280 North, you're sure to love this.
Thanks, William!
Share
Categories
Roughly Drafted has an interesting (and long) article that discusses Apple, Adobe, Google and Microsoft, and their different approaches to...
Add a Comment
For the past few years I've been developing a better program to build websites, and web based apps. I hoping to have it out in the near future. Anyway, I just wanted to mention it, and say I really enjoy reading all the comments.
Thanks
Robert
Zoshe Foundation
http://www.zoshe.com
Regarding Roughly Drafted's essay, "long" is an understatement. Dilger spends almost 3000 words -- though it seemed much longer -- blathering on about the SproutCore javascript framework being "Cocoa for the Web" (and linking to many more blatherings on the history of Cocoa) when in reality, SproutCore is absolutely, completely unrelated to the OS X API.
SproutCore, too, like the Roughly Drafted piece, is rather bloated -- the "Hello World" example loads 440K of javascript code to display two words.
Having following many JS framework for web 2.0 I am not sure if anyone at TUAW has really dig into SproutCore and looked at how big it is and how slow it is on regular basis -I am not even talking about the memory footprint that damned thing has on Safari or Firefox.
If I recall correctly that framework has already been used on .Mac with the web gallery application and oh man this is quite a big slow pig... I remember that when it came out the framework was I think close to 500K of JavaScript to download and slowish like hell. Try to use a gallery on Windows and you will feel even more pain !!
What worst and people don't realize is that in order to make things faster for the web gallery instead of improving the JS framework SpoutCore they instead decided to use Akamai ! Try to do a ping gallery.mac.com and you will see what host is replying to it! For me looking for a JS framework that was the deal killer : if in order to get performance you need to use Akamai then something is definitely wrong!
I think Apple did bet on the wrong horse here and MobileMe is going to be an interesting story to follow.
It is worth noting that Google analytics, arguably one of the company's most complex RIA's requires the Adobe Flash player.
June 16 2008 at 10:00 AM Report abuse Permalink rate up rate down ReplyTrue, but it's also worth noting that Google Analytics was not a homegrown product: Google bought Urchin in 2005.
June 16 2008 at 10:17 AM Report abuse Permalink rate up rate down ReplyIt's called "Gears" now, the "Google" prefix has been dropped.
June 16 2008 at 2:33 AM Report abuse Permalink rate up rate down ReplyI don't know how someone can read such a fanboy like Daniel Eran.
As an owner of various Apple machines, I'm ashamed that someone thinks that apple owners are like him.
I partially agree... sometimes Dan's analysis and commentary are spot-on, well written and an excellent foil to the PC punditry on the web and print. And then other times it reads like he's writing strictly for the kool-aid crowd and sounds no different from the pundits he goes after.
There seems to be something of a quest to find the one cross-platform RIA builder to rule them all. It seems pretty likely that having some diversity would be good.
From my perspective, I still haven't seen anything that comes close to Seaside on Squeak/Smalltalk. I don't mean to be dismissive of MVC on Sprout and other Javascript frameworks, but Seaside is much closer to real MVC than any of them.
I've only played with Sprout for about an hour, but I find my interest wanes fairly rapidly with anything (Rails, TurboGears included) that requires html templates.
(Of course, Seaside has its own problems with scalability and so forth, but for most of the apps I build that really isn't such an issue.)
The other really interesting development is Lively Kernel from Sun. It's only an experimental system, but again, I think it goes quite a bit further than Sprout.
What would be really great would be if Apple revisited a WebObjects-like internet engine, combining aspects of systems such as Seaside and Lively Kernel, and used Obj-C instead of Java. The idea of being able to build a Mac app in Cocoa, then share at least the model classes with a web app would be just wonderful. That's pretty much what I'm doing currently with Seaside/Smalltalk. The earliest versions of WebObjects did actually use Obj-C.
Wishful thinking, perhaps. But I do think Apple should consider developing their own sub-set of web development tools, based on open source code.
Can the writer please explain how SproutCore can make stand-alone cross-platform _desktop_ applications? That seems to be what Adobe AIR does.
Big difference between desktop-like apps and desktop apps.
A more, ahem, apples-to-apples comparison might be SproutCore to other JavaScript frameworks like Spry.
http://labs.adobe.com/technologies/spry/
or comparison to a few other of the dozen or so JavaScript frameworks and libraries-
http://en.wikipedia.org/wiki/List_of_JavaScript_libraries#JavaScript
True, Flex would have been a more apples-to-apples comparison, but I think one of the points the article was making was that Apple's adoption of open standards for its own web development excludes Flash, Flex and AIR. Apple already has Cocoa, of course, for desktop app development.
Longer-term, I think desktop use of smaller apps well-suited for JS-based implementation will drop off sharply as mobile platforms mature. JavaScript implementations like SproutCore, Spry, and Objective-J, IMHO, will be most useful on iPhone (of course) and eventually Android platforms.
Even so, you could combine a SproutCore app with something like Fluid, for example, and you have a pretty good standalone desktop experience.
@mobilemind: See Fluid (http://fluidapp.com). Combined with a sensible caching model and a recent version of WebKit, you are 98% there. Someone with a need to do so could get an offline SproutCore app running within a day or so. (I know some people doing exactly that on an internal project.)
Hot Apps on TUAW
Deals of the Day
more deals- Refurb Apple MacBook Air Laptops: 12" 64GB SSD for $699 + free shipping
- JVC Motion Sensing Clock Radio with Dual iPod Docks for $55 + free shipping
- Apple iPhone Headset with Mic for $4 + $2 s&h
- miFrame Picture Frame Dock for iPad for $64 + $8 s&h
- Refurb Apple iPod nano 8GB MP3 Player for $99 + free shipping, 16GB for $119
- Hannspree Apple-Shaped 28" 1080p LCD HDTV for $270 + free shipping
Software Updates
more updates- EFI Firmware Update brings Lion Internet Recovery to 2010-model Macs
- OS X Lion 10.7.3 released with Safari 5.1.3, Wi-Fi bug fix
- Aperture updated to 3.2.2, addresses Photo Stream issue
- Apple updates Keynote to address Lion issues
- Google Search app gets new look on iPad
- Apple releases Apple TV Software Update 4.4.3



12 Comments