or Connect
AppleInsider › Forums › Software › Mac Software › Apple's open secret: SproutCore is Cocoa for the Web
New Posts  All Forums:Forum Nav:

Apple's open secret: SproutCore is Cocoa for the Web

post #1 of 81
Thread Starter 
One of the biggest revelations at WWDC was quietly unveiled in a session on Friday morning entitled "Building Native Look-and-Feel Web Applications Using SproutCore." While Apple maintained high security during the entire NDA-sealed WWDC session, the secret of SproutCore is out because it is an open source project and people can't stop talking about it.

As Apple's public schedule for WWDC explained, "SproutCore is an open source, platform-independent, Cocoa-inspired JavaScript framework for creating web applications that look and feel like Desktop applications. Learn how to combine SproutCore with HTML5's standard offline data storage technologies to deliver a first-class user experience and exceptional performance in your web application."

The secrets of SproutCore first tumbled out of the bag last fall, when it was revealed that .Mac Web Gallery had been built using the framework. Originally developed by Charles Jolley of SproutIt for use in his online email manager named Mailroom, the SproutCore framework goes beyond other JavaScript frameworks because it is designed to build entire rich applications on the web rather than just adding some animation or sizzle to web pages.

Open Help for JavaScript.

JavaScript is a powerful language that, thanks to its bundling with all modern web browsers, is very widely deployed. However, there is a paucity of strong tools for building anything more than basic scripts to kick off web animations and other dynamic behaviors. That has opened the door for proprietary tools such as Adobe Flash, which is built around ActionScript, which is itself based upon JavaScript.

As outlined in the series Flash Wars: Adobe in the History and Future of Flash, Flash provides a large framework on top to handle things that aren't easy to do in JavaScript itself, but that also requires distributing a Flash plugin runtime. Web applications coded in Flash are no longer interpreted in the web browser itself, but in Adobe's plugin. That makes developers dependent upon Adobe, and also leaves platform vendors such as Apple reliant upon Adobe to provide suitable runtime plugins for their products.

Adobe's Flash plugin for the Mac has long been a second class citizen because Adobe has focused on its Windows version; Steve Jobs also stated that Adobe didn't offer a mobile runtime appropriate for the iPhone, only a Flash Lite version that wasn't capable of running existing desktop Flash content and a desktop version that wasn't suited to run on a mobile device, as described in Steve Jobs pans Flash on the iPhone.

In place of using Flash on its own website, Apple has been working with a number of open scripting frameworks such as Prototype and Script.aculo.us, which mentions Apple on the front page of its website as a high profile user. Those frameworks offer prebuilt code that has been polished to work on all browsers, making it easier for the developer to concentrate on what their web page should be doing rather than repeatedly reinventing the wheel for various low level functions. In that respect, open JavaScript frameworks can replace Flash without requiring any secondary plugin runtime because they are simply open JavaScript that runs in the browser directly.

Introducing SproutCore

Jolley's SproutIt decided to move past common scripting frameworks to develop an entire application development stack based on the Model View Controller architecture. In MVC development, Model data and user interface Views are tied together by discrete Controller logic. This is in contrast to typical web development tools that mix logic, data, and presentation together, resulting in code that is messy and difficult to maintain.

As explained on the developer's website, "SproutCore is a framework for building applications in JavaScript with remarkably little amounts of code. It can help you build full 'thick' client applications in the web browser that can create and modify data, often completely independent of your web server, communicating with your server via Ajax only when they need to save or load data. JavaScript applications are faster, easier to use, and a lot easier to write than complicated Ajax-driven applications. When you use a framework like SproutCore to help you, they can also be a lot of fun to write."

SproutCore pushes more of the application into the browser itself, resulting in the "thick client" designation. That enables a more responsive, full featured experience that feels and behaves more like a desktop app because it is actually running on the local computer rather than waiting for responses from a remote server. The capacity to do this is actually quite new; rapid advances in web browsers over the last year have finally made thick client JavaScript applications practical.

Cocoa for the Web

Apple didn't just use SproutCore, it also contributed major performance updates and added lots of new functionality. Apple's contributions have helped make SproutCore the ideal way to build web applications that work like desktop Cocoa apps, as noted in the article Cocoa for Windows + Flash Killer = SproutCore. Both share a lot of the same conventions such as the use of bindings. SproutCore's bindings allow developers to write JavaScript that automatically runs any time a property value changes. Using bindings, very complex applications with highly consistent behavior can be created with very little glue code.

Apple has also been working on the other side of the client equation to improve its own JavaScript engine in Safari. Announced just prior to WWDC, WebKit's new SquirrelFish JavaScript interpreter will dramatically boost the performance of JavaScript applications like those built in SproutCore.

Those two factors combine to make SproutCore the natural heir to the Yellow Box or Cocoa for Windows, which has been bandied about as a possibility ever since Apple moved away from its cross platform Rhapsody strategy to develop Mac OS X ten years ago. Rather than requiring a Cocoa runtime however, users will only need a web browser with JavaScript support, including Safari, Mobile Safari on the iPhone, FireFox, or Internet Explorer 6/7.

Using SproutCore enabled Apple to deliver a new suite of online apps in MobileMe for a cross platform audience. The natural next step will be to expand those offerings to include others, for example, iWork productivity apps. Because SproutCore is offered under the open source MIT license, anyone can use it to develop their own highly responsive web apps. It also seems likely that Apple will at some point invite third parties to deliver MobileMe applications, either included as part of the subscription service, or with their own nominal fee. That would mirror the company's efforts in creating a mobile software market in the Phone Apps Store.

Until then, Apple is focusing MobileMe as a push messaging alternative to Exchange "for the rest of us," while also leveraging push support in iPhone 2.0 and in the upcoming Mac OS X Snow Leopard client apps to deliver an Exchange Server replacement in Snow Leopard Server.

There's more information about SproutCore on its official website. Apple also has more details on the new MobileMe, and SquirrelFish details are on the Webkit project site.
post #2 of 81
OMG!!!

This is awesome!
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
post #3 of 81
post #4 of 81
Very exciting!
post #5 of 81
Yah... wonder why. Was looking forward to it...

Here is the last cached page form google: http://64.233.169.104/search?q=cache...lnk&cd=1&gl=us
post #6 of 81
Man, Apple is really coming back with a vengeance!
post #7 of 81
At last. I have been waiting for this moment for many years. And to those who said it would never happen, I laugh in your face hahahahahahahaa!

The quicker apple clean up that dirty horrible messy coagulation of internet technologies the better. I pulled out of web development a while back, this might just entice me back.
A company that actually has a clue in the visionless world of the net could cause some real damage, it's like the mobile industry all over again. Ripe for the pickings!
post #8 of 81
Quote:
Originally Posted by bommaah View Post

www.sproutcore.com is down

And this on Apple's 'Official web site' if you search for 'SpoutCore' ...

<0 results found for 'SproutCore'>

SJ is keeping this under wraps a little longer maybe?
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
post #9 of 81
great great great great
Apple had me at scrolling
Reply
Apple had me at scrolling
Reply
post #10 of 81
This is a head on fight with Adobe and Flash ... Plus think what this means for iPhone ('The next Platform') This is the biggest news out of WWDC by far!
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
post #11 of 81
I was thinking the same - from the cache it didn't have any mention of Apple or anything linking or related to them. But if they are taking it in as of their own - then you maybe up to something.

Would like to get my hand on the latest build and play with it ASAP!
post #12 of 81
The current .Mac webmail is slower and more annoying than Yahoo Mail, Gmail and even my ISP mail. If it is a sign of things to come then I'll take a simple full page-refresh, link-following website any day.
post #13 of 81
Quote:
Originally Posted by ascii View Post

The current .Mac webmail is slower and more annoying than Yahoo Mail, Gmail and even my ISP mail. If it is a sign of things to come then I'll take a simple full page-refresh, link-following website any day.

Well, Javascript engines need to be optimised. I think things will run pretty smoothly in Safari 4, and if you're a Firefox kinda guy, just pray Gecko will see a Javascript optimisation too
post #14 of 81
Quote:
Originally Posted by Lorre View Post

Well, Javascript engines need to be optimised. I think things will run pretty smoothly in Safari 4, and if you're a Firefox kinda guy, just pray Gecko will see a Javascript optimisation too

That may help somewhat, but I think the real issue is network latency. The further you are from California, the poorer experience Apple's web apps are.
post #15 of 81
Quote:
Originally Posted by Lorre View Post

Well, Javascript engines need to be optimised. I think things will run pretty smoothly in Safari 4, and if you're a Firefox kinda guy, just pray Gecko will see a Javascript optimisation too

FF3 has been optimizing JS quite well. You can test the different browsers using SunSpider.
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
post #16 of 81
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
post #17 of 81
This is huge.

http://www.roughlydrafted.com/

Great article here.
post #18 of 81
Quote:
Originally Posted by vinney57 View Post

This is huge.

http://www.roughlydrafted.com/

Great article here.

The same guy wrote this article. Don't let the name chance fool you. That right Dan?
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
post #19 of 81
After Core Animation comes... Core Sprout!
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
post #20 of 81
Quote:
Originally Posted by ascii View Post

The current .Mac webmail is slower and more annoying than Yahoo Mail, Gmail and even my ISP mail. If it is a sign of things to come then I'll take a simple full page-refresh, link-following website any day.

and mac.com doesn't even support SSL. I hope me.com rectifies this glaring omission.
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
post #21 of 81
sproutcore.com was up this morning - I know as I was deciding to use that or 280North's Objective-J/Cappuchino framework.

http://ajaxian.com/archives/an-inter...and-cappuccino

sproutcore.com had a demo of a gallery application that looked and behaved like iPhoto or mobileme's gallery.

280North have an online presentation package that runs like Keynote - http://280slides.com/

Excellent stuff from both companies. You'd hope the two would get together though.
post #22 of 81
I Keynote viewer app for Windoze is definitely needed. However, iWork and iLife apps definitely need to remain Mac-only! There have to be many reasons for people to switch - you can't give it all away!
post #23 of 81
Quote:
Originally Posted by Cubert View Post

I Keynote viewer app for Windoze is definitely needed. However, iWork and iLife apps definitely need to remain Mac-only! There have to be many reasons for people to switch - you can't give it all away!

I think iWork and Mobile Me can benefit from each other. It would be nice that if I were to install iWork on my Mac AND have a Mobile Me account that it would tell the Mobile Me servers to enable the iWork app buttons when viewing via the web. This would allow me to view and edit documents that I wish to auto-sync to Mobile Me. It would also sync them across my Macs and potentially to my Windows machines, too.

I can see this being an value add that would increase sales for both iWork and Mobile Me. Personally, I have no use for iWork because TextEdit can read RTF and DOC files, but if I need iWork to be able view them and sync them effortlessly to my online account I would consider purchasing it. I could always use Google Docs, but that requires some effort on my part.

As for Keynote on Windows, I think having one built into Mobile Me would be fine with an option to export as PPT. You can already save as a PPT file so I don't see a need for a standalone viewer on Windows to accomplish this.
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
post #24 of 81
Quote:
Originally Posted by Cubert View Post

I Keynote viewer app for Windoze is definitely needed. However, iWork and iLife apps definitely need to remain Mac-only! There have to be many reasons for people to switch - you can't give it all away!

I totally disagree. Totally!
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
post #25 of 81
Quote:
Originally Posted by solipsism View Post

As for Keynote on Windows, I think having one built into Mobile Me would be fine with an option to export as PPT. You can already save as a PPT file so I don't see a need for a standalone viewer on Windows to accomplish this.

We're going slightly off topic now but there is a need for a Keynote compatible viewer (280slides isn't it btw - I said it was Keynote-like) because the PPT export loses many of the fancy transitions that only Keynote is capable of and Powerpoint isn't.

MVC Frameworks like Sproutcore and Cappuccino and the data storage in HTML5 make it much easier for web developers to get that bit closer.

My only concern though is that you need a decently fast javascript interpreter and decently fast computer to run the apps.
post #26 of 81
Quote:
Originally Posted by aegisdesign View Post

My only concern though is that you need a decently fast javascript interpreter and decently fast computer to run the apps.

I'm not sure if it's in the Safari 4 beta yet, but WebKit started implementing ways to reduce page loading latency a few months back which suggest that page loading will appear to occur much faster.

"When script loading halts the main parser, we start up a side parser that goes through the rest of the HTML source to find more resources to load. We also prioritize resources so that scripts and stylesheets load before images. The overall effect is that we are now able to load more resources in parallel with scripts, including other scripts."

http://webkit.org/blog/166/optimizin...n-web-browser/
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
post #27 of 81
post #28 of 81
Quote:
Originally Posted by vinney57 View Post

This is huge.

http://www.roughlydrafted.com/

Great article here.

Thanks for the link.
post #29 of 81
Perhaps this will be the secret sauce that unlocks the potential of AppleTV. Watch movies, listen to music AND use it as your internet portal, with desktop-like web apps all at your disposal.
post #30 of 81
Quote:
Originally Posted by coffeetime View Post

Perhaps this will be the secret sauce that unlocks the potential of AppleTV. Watch movies, listen to music AND use it as your internet portal, with desktop-like web apps all at your disposal.

Apple could add Cocoa apps and Safari to it right now, but it would negate the intended use of the device, and make it more difficult to use. If you want a Mac for your home entertainment system the Mac Mini makes an excellent option with a faster CPU, more RAM and an optical drive.
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
post #31 of 81
Quote:
Originally Posted by solipsism View Post

Apple could add Cocoa apps and Safari to it right now, but it would negate the intended use of the device, and make it more difficult to use. If you want a Mac for your home entertainment system the Mac Mini makes an excellent option with a faster CPU, more RAM and an optical drive.

Not to mention that the current Apple TV would likely be woefully underpowered to run JavaScript fast enough to be useable. Isn't the CPU similar to a 1 GHz Pentium or something like that? And without Bluetooth you'd be tethered with a keyboard sitting 2 feet in front of your big screen TV.

But we digress...
post #32 of 81
Quote:
Originally Posted by solipsism View Post

As for Keynote on Windows, I think having one built into Mobile Me would be fine with an option to export as PPT. You can already save as a PPT file so I don't see a need for a standalone viewer on Windows to accomplish this.

You my friend have obviously not tried exporting your graphic rich Keynote presentation into PPT, to play on a coporate PC only network, only to feel dissapointed in ALL that is lost. I've been wishing for a PC Keynote Player as well. Years ago MS use to provide a free PPT Player for Mac before they finally released PPT on Mac. Why can't Apple do the same?
post #33 of 81
Sprout is Javascript with Cocoa Bindings equivalent bindings for the Web.
post #34 of 81
Quote:
Originally Posted by Wiggin View Post

Not to mention that the current Apple TV would likely be woefully underpowered to run JavaScript fast enough to be useable. Isn't the CPU similar to a 1 GHz Pentium or something like that? And without Bluetooth you'd be tethered with a keyboard sitting 2 feet in front of your big screen TV.

It's a 1Ghz Pentium-M 'Crofton'. It'd be fast enough to run most javascript apps. It's easily quicker than most of the G4 era Macs and would seem like a speed demon compared with say an iPhone.
post #35 of 81
Quote:
Originally Posted by monstrosity View Post

...I pulled out of web development a while back, this might just entice me back...

Yup. I just might get back into thar Web if it is as sexy as "Cocoa For Web". I love hot chocolate and interntet p... oh ok *aheM*.

Back on topic, hope you all in the US and those on the cutting edge push this into the mainstream as soon as possible. It will filter to the rest of the world in about 5 years. Let's bring it down to 2 years. As much as I still think Flash has a useful role, COCOA FOR WEB w000t. Bring on the fanboy accusations...
post #36 of 81
Quote:
Originally Posted by lantzn View Post

You my friend have obviously not tried exporting your graphic rich Keynote presentation into PPT, to play on a coporate PC only network, only to feel dissapointed in ALL that is lost.

I have not. I have only played with iWork to see how they work. That is too bad that they aren't more compatible.
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
Dick Applebaum on whether the iPad is a personal computer: "BTW, I am posting this from my iPad pc while sitting on the throne... personal enough for you?"
Reply
post #37 of 81
Quote:
Originally Posted by mdriftmeyer View Post

Sprout is Javascript with Cocoa Bindings equivalent bindings for the Web.

Cocoa For Web sounds tres cool, though...
post #38 of 81
Quote:
Originally Posted by aegisdesign View Post

It's a 1Ghz Pentium-M 'Crofton'. It'd be fast enough to run most javascript apps. It's easily quicker than most of the G4 era Macs and would seem like a speed demon compared with say an iPhone.

Interestingly, as you all know well, the Pentium M was the design that fueled Intel's "Core Duo, Core2" recovery after getting its butt handed to it by AMD during the terrible Pentium 4 days.
post #39 of 81
No one has mentioned this here, but .Mac Web Gallery and iWeb pages do not render in Firefox 3 as of Release Candidate 3. It is hard to say if this will hurt Apple's standing as Safari and WebKit are creeping into the Windows realm, but it is frustrating to build these cute little galleries only to have to send more instructions to friends and relatives so they can actually see them.
post #40 of 81
Well, the site is still down - not a good omen for a framework that is supposed to be being adopted by Apple - so I'm reduced to empty speculation.

How is this different than something like extjs or Echo other than it does things in a Cocoa-like way?

I checked the RoughlyDrafted article and didn't see anything of substance beyond maybe: "A key component of its clean MVC philosophy that roots SproutCore into Cocoa goodness is bindings, which allows developers to write JavaScript that automatically runs any time a property value changes." So you can have property watchers and do things when things change without explicitly invoking a function. Sounds nice, not earth-shattering or paradigm shifting or anysuch.

And as aegisdesign pointed out, there's already some competing frameworks in the form of Objective-J/Cappucino and Coherent - so now we have multiple Cocoa-like JavaScript libraries.

Sure, SproutCore sounds interesting to help developers used to writing code for OS X to carry those thought processes over to the web, but I don't see that as a game changer. Nor do I see the hordes of web developers not following "the Mac Way" suddenly getting religion and adopting this framework just because Apple endorses it.

Sorry for being a doubter, but right now I see lots of sizzle and not much substance.

- Jasen.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Mac Software
AppleInsider › Forums › Software › Mac Software › Apple's open secret: SproutCore is Cocoa for the Web