Forgot your password?
Technology (Apple) Businesses Technology Apple

Apple's SproutCore, OSS Javascript-Based Web Apps 203

Posted by kdawson
from the mmmm-cocoa dept.
99BottlesOfBeerInMyF writes "AppleInsider is running an article about Apple's new SproutCore Web application development framework, utilizing Javascript and some nifty HTML 5 to offer a 'Cocoa-inspired' way to create powerful Web applications. Apple built on the OSS SproutIt framework developed for an online e-mail manager called 'Mailroom.' Apple used this framework to build their new Web application suite (replacing .Mac) called MobileMe. Since SproutCore applications rely on JavaScript, it seems Apple had good reason to focus on Squirrelfish for faster JavaScript interpretation in Webkit. Apple hosted a session last Friday at WWDC introducing SproutCore to developers, but obviously NDAs prevent developers from revealing the details of that presentation. Apple has a chance here to keep the Web becoming even more proprietary as Silverlight and Flash battle it out to lock the Web application market into one proprietary format or another. Either way, this is a potential alternative, which should make the OSS crowd happy." TechDIrt's writeup on the browser evolving towards acting as an OS expands on the theme AppleInsider raises.
This discussion has been archived. No new comments can be posted.

Apple's SproutCore, OSS Javascript-Based Web Apps

Comments Filter:
  • by Nicky G (859089) on Monday June 16, 2008 @09:17PM (#23817637)
    • Uh-oh,

      You've linked to Roughly Drafted - the site that was caught trying to spam digg [].

      Roughly Drafted is poorly written & not credible. Please don't link to it - as the unofficial apple weblog puts it []:

      Posts like this that use underhanded techniques and shoddy math to prove a biased point aren't helping the Mac community. In fact, they're making it look even worse because, once found out, they are (rightfully) transformed into key evidence for clueless Apple fanaticism, which can easily harm the reputati

      • by Nicky G (859089) on Monday June 16, 2008 @09:44PM (#23817821)
        Sorry, I don't keep up with the minute-by-minute Mac fanboy vs. Windows fanboy battles on the Intertron -- just linking to a relevant article on the subject at hand. I actually don't use Digg, so I have no idea about the history there. Some of Daniel's articles come off as a bit skewed, sure, but it's his blog and he's entitled to his opinion. Plus, is trying to get a few people to email Digg and Apple, which your linked blog article claims, the same as "spamming" it? Give me a break.
      • by Gewalt (1200451) on Monday June 16, 2008 @10:00PM (#23817925)
        Wait a minute... Did you just post on a blog that some other blog doesn't like its competitor blog and that somehow this other blog is supposed to be able to decide which blogs are harmful to me? ...whiney fanboy indeed...
      • by Admiral Ag (829695) on Monday June 16, 2008 @10:07PM (#23817959)

        Roughly Drafted is one of the better Apple blogs out there. I don't agree with everything the guy says, but it is original and interesting, unlike most Apple blogs, which are just rehashes of press releases (sadly much like the rest of the news).
      • Re: (Score:3, Informative)

        by tm2b (42473)
        I would agree, except that the SproutIt official blog [] names it as the blogger's favorite article on the topic.
      • by Angostura (703910)
        In this case, the Roughly Drafted article is well written and appears credible , so that rather looks like an ad bloginem attack.
  • by Denger256 (1161267) on Monday June 16, 2008 @09:30PM (#23817717)
    That's my question. I have seen too many apps that "help" you create websites but the code it generates is a mess. And if you want to integrate it with another app forget it.
    For example where I work we were building a B2C app and instead of wasting coder time building the bla bla stuff around the real working site. They used go live and in the end we had to re-do it all.
    • by riceboy50 (631755) on Monday June 16, 2008 @09:41PM (#23817793)
      I think you are misunderstanding the purpose of this. It's not an application that generates code for you. It's an application framework, like Cocoa is for the native OSX environment, which provides simple abstracted access to do certain tasks via APIs. This just allows application developers to spend less time worrying about "under the hood" code to make things cross-browser compatible and so forth.
    • Re: (Score:2, Informative)

      by ahankinson (1249646)
      SproutCore doesn't write the code for you. It simply abstracts the low-level stuff (like calling XHttpRequest directly) to a higher level so you can just call: drag_and_drop(Object) and it will do all the backend stuff for you.
  • correction (Score:4, Informative)

    by Anonymous Coward on Monday June 16, 2008 @09:36PM (#23817763)
    You can get "some" services which are "similar" to .mac for free.

    But not all of them and not in the same way.

    There are a number of nuances that can not be completely replicated by the free alternatives and they certainly will not be as tightly integrated into the OS and into 3rd party apps that run on the OS.

    Sorry, but you're dismissing some things you don't know everything about.

    And calling people retards certainly does not help your case.

  • proprietary (Score:5, Informative)

    by bcrowell (177657) on Monday June 16, 2008 @09:42PM (#23817803) Homepage

    Apple has a chance here to keep the Web becoming even more proprietary as Silverlight and Flash battle it out to lock the Web application market into one proprietary format or another.

    It's not true that Flash is completely proprietary. There are multiple open-source compilers, and there's an open-source browser plugin. You do have to work hard to develop in flash using an OSS software stack, but there are people doing it. Gnash, the open-source browser plugin, has gotten to the point where it can play you-tube videos, provided you have the right hardware and sacrifice an unblemished calf. Adobe has also been slowly moving in the right direction as far as open-sourcing some of their code, and relaxing some of the more onerous licensing restrictions. A lot of the problems with making flash more open are actually problems with codecs, and that situation is also showing signs of improving, with support for less patent-encumbered codecs being added to newer versions of flash.

    • Re:proprietary (Score:5, Insightful)

      by mrsteveman1 (1010381) on Monday June 16, 2008 @09:57PM (#23817905)
      Yea but, whats the point?

      If things can be accomplished with COMPLETELY open and free (as in freedom) frameworks and languages, why choose Flash?
      • Re: (Score:3, Interesting)

        by josath (460165)
        I definitely agree...but some things just can't be done in javascript. If you need more performance, video/audio, real tcp/ip socket connections (not that crazy 'comet' hack, or wasteful polling), zlib compression, even if you want to rotate an image to an arbitrary degree on the client with antialiasing, then you need flash. Java applets take too long to load, even though the runtime performance is usually better than flash. Flash has the advantage over Silverlight of install base. SVG has limited browser
        • Re:proprietary (Score:5, Informative)

          by Dak RIT (556128) on Monday June 16, 2008 @10:42PM (#23818179) Homepage

          SproutCore is pretty impressive for building real JS web applications, although the story doesn't real end there.

          There's a convergence of other improvements, such as HTML5, CSS, and SVG, that are filling a lot of the multimedia roles previously the domain of flash.

          For example, WebKit already supports CSS transforms [], gradients [], client-side database storage [], animation [], HTML5 media [], downloadable fonts [], masks [], reflections [], etc.

          A lot of these things are only available in WebKit right now, although they've all been proposed or will be proposed as web standards in the near future, and provide a nice glimpse at where the web is heading. Web 3.0 (or whatever marketing term people come up with) is clearly though going to be focused on multimedia.

          • by yabos (719499)
            I hope Firefox picks this up fast and/or it gets into the standard soon because it's really great but only works with Webkit so you can't really use it unless you're writing an iPhone web application or something only used by people using pre release versions of Webkit(or Safari 4 when it's out).
        • Apple is also working on getting CSS transformations into the CSS standard. This will allow you to do to your arbitrary image rotations with only CSS and you can control it with javascript by just setting the element's style attribute. They're also working on CSS animations and transitions to bring Core Animation like effects to the web browser. Check out the Webkit nightlies if you want to see it for yourself. It's quite impressive and easy to use. Hopefully it'll be supported by more than just Webkit
      • Re: (Score:2, Interesting)

        by John Dowdell (1253028)
        "If things can be accomplished with COMPLETELY open and free (as in freedom) frameworks and languages, why choose Flash?" The key word in that sentence may be the first.... ;-) (The original story seemed strange to me... many screenfuls of text, with the elevator pitch seeming to be "One particular JavaScript Framework will Rule The World -- *if* it's from Apple!" The weblogs didn't show much skepticism today, so I'm glad to see some realistic questioning here at Slashdot.) jd/adobe
        • Yea i know, if sproutcore can't do what people seem to think it will then theres a problem, but it appears to be a reasonable way of doing things.

          I think well defined standards implemented by the browser might be a better approach than binary apps running in a plugin.

          By the way, JDs post is not a troll.
      • While Flash does have its uses (videos, sites like Homestarrunner, etc), making Flash-based websites in general usually just makes for horrible unusable sites. I can't stand going to a site and having the *entire page* just being a flashblock icon, knowing that when I click it I'll have to trudge through a slow, horribly designed site. You want to do animation or something like that (like Homestarrunner), sure Flash is fine for that. But PLEASE don't use it to make your site.
    • Re:proprietary (Score:5, Insightful)

      by appleguru (1030562) on Monday June 16, 2008 @09:59PM (#23817921) Homepage Journal
      You're missing the point... flash and silverlight require plugins to work in a web browser. Not only is this an extra install for the end user, it also means not all platforms and browsers will be supported (A great example being no flash/silverlight on the iPhone...) The nice thing about "SproutCore" is that is 100% based on web standards (HTML, XML, JavaScript, etc) and will work on any platform and in any browser that follows those standards out of the box, no plugins needed!
      • by Foofoobar (318279)
        Not true... only works in Safari. Much like XUL only works in Mozilla based browsers. This is more similar to XUL but I see XUL having an easier time as Firefox has a larger install base and doesn't require installing Ruby.
        • by Jellybob (597204)
          The demos worked fine for me in the latest RC of Firefox 3.

          SproutCore only requires Ruby on the server and developer side, for the end user it's just HTML.
    • Re:proprietary (Score:5, Insightful)

      by erikina (1112587) <> on Monday June 16, 2008 @10:07PM (#23817963) Homepage
      I look at Flash opening its specifications as an act of desperation by Adobe to save it from Silverlight. And I've tried Gnash, and to call it usable is a joke. I experienced a total of 1 or 2 websites that it actually worked with. Swfdec was a little better. And the youtube "working" (does it even seek yet?) is not some natural consequence of a decent flash player, but the result of specifically targeting it - and is highly unrepresentative of the rest of the web.

      These days, I try not use flash (got flashblock) but for the times I need it, the official Adobe is installed. Perhaps when Silverlight gets released for linux, and developers start using it - Adobe will lift its game a bit.
    • Re: (Score:2, Insightful)

      by Anonymous Coward
      The part of the article you quoted actually makes no sense. Apple has a chance to keep the Web becoming more proprietary by releasing OSS framework? I think the submitter means

      Apple has a chance here to keep the Web from becoming even more proprietary as Silverlight and Flash battle it out to lock the Web application market into one proprietary format or another.
    • Reply by anonymous was actually mine:

      By the same measure, Win32, Microsoft Office formats, and numerous other formats out there aren't proprietary because you can implement it.

      Sorry mate, it is proprietary. Until the day that I see Adobe not only make the specification available without needing to sign an NDA (which they've done just recently), but also completely opensource the whole plugin (without any exceptions) and licence it under something like CDDL or BSD, I'd sooner cheer lead for Microsoft and Sil
  • lockin (Score:5, Interesting)

    by Speare (84249) on Monday June 16, 2008 @09:50PM (#23817863) Homepage Journal

    I started writing on DOS. (I won't count the Apple ][.) Wrote for PDP-11s. Wrote for Windows. Wrote for SGI GL (before OpenGL). Each new platform was yet another paradigm, yet another set of non-portable libraries or techniques.

    I like POSIX, and I like portable languages and toolkits that I can take from platform to platform. I like writing little graphical apps or command-line tools in Perl, Python, GTK, SDL, OpenGL that I can run on Linux, Windows, Mac OS X, or even my Nokia N810. All the knowledge is transferrable, all the benefits of the little tools are transferrable with a little work to smooth out details like widget placement or font decisions.

    I never bothered to get deep into Objective C, because while it's theoretically transferrable, it is really just used to write for the Apple Carbon/Cocoa/Core/Whatever/Don'tNitPickItsJustAnExample* stack. Same went for DirectX on Windows when I still wrote software for Windows. I would like to make apps that do whizzy things with Core Animation or whatever, but I just can't make myself get excited at the prospect of learning yet another vendor-lockin technology. The hardware-accelerated compositing is cool, the effortless scripting of visual objects is interesting, but not interesting enough to actually learn something that won't be portable.

    If I really want a visual effect like Core This or Direct That, I will write a portable library to do it in OpenGL on Python or something. Or if the need isn't extreme, I'll just wait for someone else to write the general library if it ever happens.

  • Apples and Oranges (Score:4, Informative)

    by A Guy From Ottawa (599281) on Monday June 16, 2008 @09:52PM (#23817873)
    From TFA, SproutCore is basically a rich set of JavaScript libraries. Flame/mod away, but it's true.

    Flash/Silverlight don't only contain the same app struts for you to build upon, but they are also incredibly powerful application hosting frameworks with rich graphics and multimedia libraries to go beyond what HTML can render.

    Comparing SproutCore to Flash and especially Silverlight is nonsense. Saying it's a Flash/Silverlight killer is delusional.
    • by MightyYar (622222) on Monday June 16, 2008 @10:03PM (#23817949)

      Flame/mod away, but it's true.
      Now, there's no need for that, now is there? :)

      I don't think anyone expects SproutCore to "kill" Flash in its current usage - mostly ads and multimedia. I think the claim is that SproutCore could kill Flash's aspirations (via AIR) to become a standard for building rich apps on the browser.

      I mean, you have to admit that if you were considering building a rich app, and you were looking at all of the options... well, now Apple has some real rich apps working via javascript and Google has always had their javascript rich apps - at the very least it shows you that you can be successful while sticking with javascript.
      • Flash in its current usage - mostly ads and multimedia.
        Which is the reason I switch Flash of by default. I just plan hate ads with animations and websites which play music.


    • Apples and Apples (Score:3, Insightful)

      by TubeSteak (669689)

      Comparing SproutCore to Flash ... is nonsense.
      It's apples to apples.
      Flash & anything javascript related is a security bomb waiting to go off.
      Just because this is coming from Apple doesn't remove the deficiencies in Javascript.
      /I don't actually know anything about Silverlight's security or lack thereof, so I left them out of this.
      • by MightyYar (622222)

        Flash & anything javascript related is a security bomb waiting to go off.

        Please pardon my naivety...

        Why is an app built on javascript to run on a web browser more insecure than a standalone app that does the same thing? I mean, why are you worse-off from a security standpoint if you use Apple's "Mobile Me" mail as opposed to a binary application on your desktop from Apple?

        Intuitively, I would think that the javascript solution would be a bit safer, since it at least is supposed to run in a sandbox. A downloaded app can do anything it wants once you double-click it.

        I understand

    • ... because it's not as though Webkit provides rich multimedia [] at all, and I guess Sprout could never provide any of those "struts" to build any applications [] at all...

      Yep, that's right, delusional...

    • Yeah, that's what I got out of it as well.

      JavaScript libraries are better and more capable than they ever have been, but they can't escape being what they are. There are just too many questions that they are not the right answer for, and getting cross-platform cross-browser compability to be as good as the promise of open standards is not yet there for any reasonably complex web app. (That is to say, you can get a complex app to work right on a variety of platforms, but you're kidding yourself if you thin
      • Re: (Score:3, Insightful)

        by Shag (3737)

        more and more I'm seeing businesses ask for extremely rich interface intranet-ish apps to be done as web apps, and then be frustrated when the standards/JavaScript/etc. solution either is quirky or non-performant in some way that really matters to them. I think this kind of app is going to be done more and more with Flex or Silverlight or something similar in the next few years, and I don't see SproutCore as seriously competing in that space.

        Back when I first started getting paid to do web stuff (early 1995) businesses routinely asked for things that made no sense for the web, and couldn't be done cross-platform with out-of-the-box browers.

        It's so nice to see that businesses still haven't gotten a clue, and prefer technologies that will isolate chunks of their potential customer base.

        (Remember, when you code something for Flash N, all those people with Flash N-1 or N-2 are screwed until they install the new version, presuming the new version's

    • From TFA, SproutCore is basically a rich set of JavaScript libraries. Flame/mod away, but it's true.
      From TFA, SproutCore is basically a set of ASCII text files that someone typed into some .js files. Flame/mod away, but it's true.
  • by zogger (617870)
    How do those seekrit sh-h-h-h-h don't tell nobody! NDAs work with OSS? The "O" part starts for "open". "..and now here we show you these open source new goodies, but you can't tell anyone about them, no details, nor show them, but they are really open, honest!"

    Good luck with that. Apple makes some good stuff, but let us not confuse them with being some sort of "open" champions, because they are *not*.
    • by foniksonik (573572) on Tuesday June 17, 2008 @03:40AM (#23819917) Homepage Journal
      Uh... ever used a OSS language or library to create something really cool? Did you just hand it out immediately to anyone who glanced your way? Probably not... you probably enjoyed the attention for a little while, then doled it out when you had everything packaged up nice and pretty so nobody would know that you hadn't quite cleaned up your fancy pants code before announcing it.

      Same is true with Apple. They often keep things closed or at least private until they are ready for general consumption.... ie: well documented APIs, community tools in place, a stable codebase, etc.

      NDAs work just fine with OSS... you don't have to publicly announce what you are *planning* to do with OSS.

    • by Angostura (703910)
      My guess would be that the NDA didn't cover anything to do with the technology - it is out there for all to try. It probably covered Apple's plans for using the technology. And that seems quite reasonable to me.
  • An odd fit? (Score:3, Interesting)

    by iamghetto (450099) on Monday June 16, 2008 @10:12PM (#23817997) Homepage
    The photo gallery [] demo on fails to work on Opera - the right photo pane not even rendering. Although Opera isn't widely used, with its exceptional standards-compliance it's a great barometer for how compatible something may ultimately be.

    It's an interesting idea, and maybe I'm missing the "awesomeness" of it, but I don't find a compelling reason to switch to this over a standard development stack. It just seems as though it's a highly widgetized javascript framework, running on ruby.

    I develop in Rails and C#, and I'd just as soon use jQuery [] and it's host of extensions to build my own application like widgets that I could use across any backend.

    I've looked through the documentation and I'm hoping I'm just missing something about SproutCore's awesomeness.
    • Re:An odd fit? (Score:4, Interesting)

      by 93 Escort Wagon (326346) on Tuesday June 17, 2008 @01:45AM (#23819265)

      Although Opera isn't widely used, with its exceptional standards-compliance it's a great barometer for how compatible something may ultimately be.
      Fans of Opera always say this; but it's been my experience, when developing web apps, that Opera tends to lag behind Firefox and even Safari when it comes to CSS support - specifically when it comes to using Javascript to modify various CSS parameters on the fly.

      When I have filed bug reports against Opera the developers have been very responsive - but still, the fact is that I've had to file bug reports because of shortcomings in Opera.

      • Re: (Score:3, Informative)

        by Yvan256 (722131)
        I'm still waiting for Opera to add simple border-radius support. I thought Opera 9.5 would finally add it, but sadly it didn't.

        So it's square corners for Opera and IE6/IE7. I'm not patching things up via SVG to have round corners in Opera.

  • Tags on the article at time of posting: apple, rails, ruby, rubyonrails (tagging beta) ruby really that lame that people are tagging unrelated articles to grassroots this bitch into existence?...
    • Re: (Score:3, Insightful)

      by K. S. Kyosuke (729550)

      We have also created some build tools that will take care of efficiently packaging your HTML, JS, and CSS for delivery over the web that are based on Ruby. However, Ruby is not required for you to use SproutCore except during development.
      Besides from being lazy enough not to investigate further, do you have any other reason to call a perfectly fine programming language "a bitch" just for the sake of a part of its users?
    • Re: (Score:3, Informative)

      by AchiIIe (974900)
      > is ruby really that lame that people are tagging unrelated articles to grassroots this bitch into existence?

      I personally tagged ruby in there because the project owner did the same,
      see: []
  • by VGPowerlord (621254) on Tuesday June 17, 2008 @12:03AM (#23818713) Homepage
    After reading a bit about this, it sounds like something similar to Google's GWT [] (with Gears []), except that SproutCore uses Ruby instead of Java.

    How do the two compare?
  • by phuul (997836) on Tuesday June 17, 2008 @01:47AM (#23819297)
    It seems like the guys at 280 Slides [] have been working on something similar. They have an Apple background and called their language Objective-J, from what I can tell it's an extension on JavaScript in a similar manner to way Objective-C is to C. Their Cocoa like framework on Objective-J is called Cappuccino.

    Now I don't know if SproutCore is anything like what they are doing (wasn't at WWDC so I don't know the details), but the end goals of both projects seem like the same thing. A language and framework where whatever you make should just work across browsers. It's very early days for both, so we will have to see. From the article it seems like SproutCore is going to be fairly open. The 280 North guys seem like they want something similar for Objective-J and Cappuccion but they are still working on cleaning up the frameworks.

    Either way, the competition should be good and hopefully bring sanity to the client side scripting world.
    • Thank you -- This is all kinds of awesome, and I hadn't heard a lick about it before!

    • by yabos (719499)
      I just read about Objective-J a few days ago. I wonder what Apple thinks about it. It's basically a lot of porting of AppKit and they even call their frameworks the same thing (AppKit, Foundation etc.). It seems quite interesting and if anyone can make Javascript behave more like Objective-C then I'll definitely be looking into it more.
  • Summary has yet again a "Bullshit about Flash" factor in it.

    The reference implementation of the Flash VM may be proprietary, but the formats and standards involved have been open source and independantly speced longer that Java has been open sourced. In fact it was Adobes SVG that was a reaction to Macromedia openin the flash swf format. That's how long Flash has been as open as you can wish for.

Never put off till run-time what you can do at compile-time. -- D. Gries