Apple's SproutCore, OSS Javascript-Based Web Apps 203
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.
Another good article on this... (Score:4, Informative)
Roughly Drafted==Spam (Score:2, Informative)
You've linked to Roughly Drafted - the site that was caught trying to spam digg [wordpress.com].
Roughly Drafted is poorly written & not credible. Please don't link to it - as the unofficial apple weblog puts it [tuaw.com]:
Re:Roughly Drafted==Spam (Score:5, Insightful)
Re:RoughlyDrafted (Score:4, Informative)
Over a thousand of my readers wrote Digg to ask it to stop censoring my articles (and cc:ed me) after a small contingent of Digg users complained that I was poking at their Xbox, Zune, and Windows Enthusiast views.
Digg has never accused me of creating scores of accounts, and some anonymous blog entry is not "credible evidence."
Promoting articles I write by submitting them to sites designed for that purpose is not spam.
Supporter here (Score:5, Insightful)
I just wanted to throw in some words of support in the midst of the AC wasteland from people who can't even post with a real userID.
Re:Hi Daniel. (Score:4, Funny)
Re:Roughly Drafted==Spam (Score:4, Funny)
Re:Roughly Drafted==Spam (Score:4, Insightful)
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:2, Offtopic)
I am a regular reader both RoughlyDrafted and TUAW. I don't care about past spats, but I like both blogs.
Re: (Score:3, Informative)
Re: (Score:2)
But what will the code look like? (Score:4, Insightful)
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.
Re:But what will the code look like? (Score:5, Informative)
Re:But what will the code look like? (Score:4, Informative)
Re: (Score:2, Informative)
SproutCore isn't *that* young (Score:3, Informative)
So the core is much older and tested rather well. The only thing that's new is the hype
Btw. The Ars Technica article on SproutCore is good as well SproutCore: rich web apps in JavaScript, no Flash needed [arstechnica.com]
Re: (Score:3, Interesting)
Just taking a glace at it, I agree that it would be difficult to integrate sproutcore with an exisitng web app, its really an entirely different approach.
Re: (Score:2, Informative)
correction (Score:4, Informative)
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)
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)
If things can be accomplished with COMPLETELY open and free (as in freedom) frameworks and languages, why choose Flash?
Re: (Score:3, Interesting)
Re:proprietary (Score:5, Informative)
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 [webkit.org], gradients [webkit.org], client-side database storage [webkit.org], animation [webkit.org], HTML5 media [webkit.org], downloadable fonts [webkit.org], masks [webkit.org], reflections [webkit.org], 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.
Re: (Score:2)
Rotating images, enter CSS transformations (Score:3, Informative)
Re: (Score:2, Interesting)
Re: (Score:2)
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.
Re: (Score:2)
Re:proprietary (Score:5, Insightful)
Re: (Score:2)
Re: (Score:2)
SproutCore only requires Ruby on the server and developer side, for the end user it's just HTML.
Re: (Score:2, Informative)
Re: (Score:2, Interesting)
Re: (Score:2)
Re:proprietary (Score:5, Insightful)
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)
Re: (Score:2)
You are correct. That was a typo on my part. Thanks for the correction.
Stupid fucking browser (Score:2)
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)
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.
Re:lockin (Score:5, Funny)
Re: (Score:3, Insightful)
Re:lockin (Score:4, Informative)
Apples and Oranges (Score:4, Informative)
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.
Re:Apples and Oranges (Score:5, Insightful)
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 off (Score:2)
Martin
Apples and Apples (Score:3, Insightful)
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.
Re: (Score:2)
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
Re: (Score:2)
Yep, that's right, delusional...
Simon.
Re: (Score:2)
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)
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
Re: (Score:2)
How does that work? (Score:2, Insightful)
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*.
Re:How does that work? (Score:4, Insightful)
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.
Re: (Score:2)
An odd fit? (Score:3, Interesting)
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 [jquery.com] 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)
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)
So it's square corners for Opera and IE6/IE7. I'm not patching things up via SVG to have round corners in Opera.
Re: (Score:2)
tagging retards... (Score:2, Funny)
Re: (Score:3, Insightful)
Re: (Score:2, Informative)
Just to make sure, here's all the links that the post refers to:
http://www.appleinsider.com/articles/08/06/16/apples_open_secret_sproutcore_is_cocoa_for_the_web.html [appleinsider.com]
http://www.sproutit.com/ [sproutit.com]
http://www.sproutcore.com/ [sproutcore.com]
http://techdirt.com/articles/20080530/0022021266.shtml [techdirt.com]
Re: (Score:2)
"If you haven't yet installed SproutCore, it's really easy if you have Ruby installed on your machine."
"Note that if you are on a Mac, you will need the developer tools installed as well for Ruby to work."
Re: (Score:3, Interesting)
But otherwise it looks like a front-end toolkit, so its not clear to me how much it actually depends on RoR.
Re: (Score:2)
Re: (Score:3, Informative)
I personally tagged ruby in there because the project owner did the same,
see: http://code.google.com/p/sproutcore [google.com]
How does it compare to GWT? (Score:3, Interesting)
How do the two compare?
280 North seems to have the same idea in mind. (Score:5, Informative)
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.
+1 Informative (Score:2)
Yeah (Score:2)
Flash swf is an open documented and speced format (Score:2)
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.
Re:There are many areas where Apple matters (Score:5, Interesting)
There are 6 million iPhones out there (Score:2)
Don't get me wrong, I have an iPhone myself, but let's be real here - people will be loading binary apps on it starting in July, at which point web development will become an inconvenience on the iPhone for a lot of things.
Re:There are 6 million iPhones out there (Score:5, Interesting)
Re: (Score:2)
The other main package manager, Cydia, is based on apt, and it too will draw an HTML page for its intro, but the UI, search, actual management functions, everything else is CocoaTouch.
HTML makes a lot of sense when you have applications with fluid data that should be refreshed. WebKit is compac
Re: (Score:2)
Happy?
My point was that parent was incorrect to predict that binaries will kill webapps when binaries have been here pretty much all along and new webapps appear almost hourly... because they are so easy and convenient to create.
Re: (Score:2)
Just because *gasp*, they both use WebKit to render webpages doesn't make them webapps. In fact, isn't WebKit the only rendering engine available on the iPhone right now? Yes, yes it is.
Re: (Score:2)
Again, parent was claiming binaries would kill webapps, that somehow adding binaries to iPhone would mysteriously make webapps inconvenient. I disagreed. To make my case, I pointed out that binaries have been here all along and webapps are doing just fine with HTML -- in fact, some binaries, such as Installer.app, actually used HTML. Now please stop trolling me.
Re:There are 6 million iPhones out there (Score:5, Informative)
The most important thing about the iPhone isn't the sleek design, the touchscreen, iTunes integration, or any other single feature. It's the way that people use the device. Specifically, it's that people actually use it to do stuff besides making phone calls. Examples:
Almost 85% of iPhone owners browse the Web on their phones, versus 58% of the U.S. smartphone market and 13.1% of the overall U.S. mobile market, according to mobile research firm M:Metrics.
Some 31% of iPhone owners watch mobile TV or video, like Google's (GOOG) built-in YouTube software, compared to 4.6% of the overall market.
About 20% of iPhone owners access Facebook, versus 1.5% of the overall market.
And 74% of iPhone owners listened to music on their phones, compared to 28% of the smartphone market and 6.7% of the overall market.
Even if the usage is overstated that's still a hell of a lot of mobile Internet users.
The iPhone isn't like a regular smartphone. Rather than trying to supplement an experience for someone with existing shitty expectations of the big boy Internet on mobile devices, it's trying to broadly appeal to the market and it's becoming a catalyst that is literally changing the dynamics of the mobile data market.
Saying that people will be loading binary apps will kill off web development is like saying Web 2.0 is pointless because we all have Windows.
Web 2.0 exists because (Score:2)
Re:Web 2.0 exists because (Score:5, Insightful)
Re:Web 2.0 exists because (Score:4, Insightful)
Re:Web 2.0 exists because (Score:4, Informative)
microb was a big step forward, and I hear it's getting ever better in the dev builds. But even with the bigger screen and higher resolution, the act of browsing the web is more awkward on an NIT than the pan-n-zoom iPhone. Even on an NIT you need to pan and zoom a great deal. However, it's not optimized for that kind of use, and switching zoom levels and scrolling about is a choppy experience.
The Flash support is also largely theoretical; the device has neither the horsepower nor the video bandwidth to actually handle a flash file of any complexity. If you let it fully buffer a youtube video, it does 'ok'. If you save off smaller flash games to the internal memory, then dump the browser and play the files directly, it can do some files passably. But it's not the experience anyone thinks of when you say 'flash support'. It's the kind of experience that makes me disable the flash plugin because it's a net negative on the act of browsing.
And the points below about the horrible UI in general are sadly accurate. The Nokia Internet Tablets are still heavily stylus-focused, awash with lazy desktop-style interfaces, with a disappointing half-effort toward finger support. Don't get me wrong: I love having a stylus. I love being able to sketch, doodle and jot with accuracy. I just don't want the device to assume its presence means they can ask me to drag it out every time I need to choose between 'Ok' and 'Cancel'. Nor do I want the apps to assume that since it's there, they can load up every screen with tiny buttons, checkboxes, etc.
As the devices stand today - there's no contest. For a handful of geeks, the NITs are wildly superior devices. For everyone else, they're a mess; a promising mess, but a mess none-the-less. And a mess that Nokia doesn't seem to know what to do with.
Here's to hoping that their Trolltech acquisition means good things. But after comparing maemo's last two years to the iPhone's last one -- I have little reason to believe the NITs will ever be better browsing devices for the average user than the iPhone at any given point in time -- despite its advertised java and flash support.
Re: (Score:2)
awkward to use (Score:2)
Because the design language and interface UI requirements are different when you're making an application driven by touch as opposed to a "normal" web page with miniscule widgets and links designed to be manipulated by a mouse/cursor combination.
If you don't design for fingers, then the application WILL be awkward to use. Period.
Re: (Score:2)
Re:There are 6 million iPhones out there (Score:5, Interesting)
Web development is for the web, not targeted at the iPhone. Whether or not key customers can view your content is a big deal. iPhone users will have more impact than their numbers suggest, just as Mac users do.
The fact that this also benefits Linux users is just a nice finish.
Re:There are 6 million iPhones out there (Score:4, Informative)
Wrong [phonemag.com]
The iphone took about 2.5% (you were off by an order of magnitude). Don't get me wrong, this figure is very impressive for a new entry to the mobile market, but falsely inflating figures just makes you look stupid.
Or perhaps you don't know the difference between 'phone' & 'smartphone'?
Re:There are 6 million iPhones out there (Score:4, Informative)
Re: (Score:2)
Flash is (more or less) only available for major operating systems on x86-based architectures.
Non-Intel Linux isn't supported, and 64-bit OSes aren't supported on any platform. For a piece of software as major and significant as Flash, this is a pretty big deal.
PPC Macs are still supported, although support has been waning for several years, and was never all that good to begin with (extremely slow and buggy, even compared to the "good" Windows v
Re:There are many areas where Apple matters (Score:5, Insightful)
And any time someone brings something new and interesting to the web, especially something they're willing to open source, it's a positive thing.
Re: (Score:3, Interesting)
Re: (Score:2)
I'm happy with what
Re: (Score:3, Interesting)
How long does it take you to find those services? To integrate them all to the convenience level provided by
I currently bill out at $100/hr, which makes
If you're not worth that much, or if you choose to not optimize your time as sensible people do -- that b
Re: (Score:3, Interesting)
fidette (Score:2)
It can use any backend (Score:5, Informative)
Re: (Score:2)
I went to the Sproutcore session at WWDC and IM'ed a friend back home to say "hey, this looks pretty interesting." He's done more webapp work than I have (I was mostly there for the iPhone SDK), and his reply was "meh, looks like a Rails clone".
That said, there are worse places to take your inspiration from than Rails and Cocoa.
Actually, the secret sauce may not be Sproutcore's Rails-ness, but rather the fact that it makes fairly aggressive use of cutting-edge CSS, the <canvas> tag, and other mod
Re: (Score:3, Informative)
console.log("This browser does not support HTML5 client side storage. Will proceed with fixture data.") ;
It looks like the SQL is run on the client side, which is not the same security risk as if it was run server side, where it would most certainly be bad.
Re: (Score:2)
fixed (Score:2, Funny)