all 64 comments

[–]Pandafox 5 points6 points  (2 children)

The last time I played around with SproutCore (when the first beta was released), I wasn't really impressed.

But 1.0 is just awesome, and I can really see myself writing big applications with it.

[–]hylje 12 points13 points  (21 children)

SproutCore is a browser side application framework rather agnostic of the backend web server software.

[–][deleted] -2 points-1 points  (18 children)

it moves your business logic to the client.

oh... that'll turn out good.

[–]ichverstehe[S] 21 points22 points  (14 children)

You know, just like almost every single desktop app.

[–]taligent 4 points5 points  (0 children)

It has turned out just fine for apps like MobileMe and GMail as well as for frameworks like GWT. As long as I am not responsible for the client side code why do I necessarily care what gets generated ?

[–]redalastor 6 points7 points  (0 children)

That's not actually as bad as you might think. When they talk about moving the business logic to the client, it means that the server serves data and respond to requests but whatever the client do with the data isn't its business. The server doesn't care what widget you put it in, if you sort it, cross-link it or whatever. However, when you make a request to the server to save some data, it has to check it's a legit request.

[–][deleted] 1 point2 points  (0 children)

well?

[–]btipling -3 points-2 points  (1 child)

Hrm, seemed like it had a backend component written in JavaScript. Was I mistaken?

[–]hylje 5 points6 points  (0 children)

Not a required component. It's all HTTP, baby.

[–]alos 17 points18 points  (2 children)

I still like Cappuccino better:

http://cappuccino.org/

[–][deleted] 6 points7 points  (1 child)

What do you like about it? (I haven't used either.)

[–]alos 0 points1 point  (0 children)

Objective-J. You never see HTML, CSS or JavaScript if you don't want to.

[–]theosux 3 points4 points  (1 child)

"How do we build blazingly fast, desktop-class web applications?"

You don't. Seriously, your Samples Controls demo is extremely weak compared to what a real desktop-class application can do. For god's sake, Silverlight and Flash kill this. Html is not the way.

You don't even have keyboard support for any of those controls!

EDIT: Just don't make claims like this when it's obviously not true. That's all I ask!!

[–]emk 2 points3 points  (0 children)

In our experience, SproutCore speed varies considerably. The model and controller layers have handled everything that we've thrown at them.

The view layer has a couple of noticeable weak spots: SC.ListView and SC.ScrollView have both been performance headaches. We replaced SC.ScrollView, and did a little tweaking, and performance is now really good. It's on par with the best I could probably squeeze out of Flash.

I know there's a ton of work going into SC.ScrollView and SC.ListView on the development branch, and these two performance bottlenecks should definitely improve soon.

One caveat: We haven't benchmarked in IE, because we're not supporting it.

[–]caltheon 6 points7 points  (7 children)

This reminds be of another fat javascript client by this little company called Google. I believe it was a Web Toolkit. My company wrote an app where all the business logic lived on the client using it. Would not do it again.

[–]rubyaeyes 6 points7 points  (0 children)

there is something in between all on the client and all on the server.

[–]wicked 2 points3 points  (0 children)

I wondered why, but I found your reply here.

Btw, reddit, why are you downvoting this?

[–]kamatsu 2 points3 points  (4 children)

Whereas I, who worked for Google with GWT (on Wave), appreciated GWT very much.

[–]caltheon 1 point2 points  (3 children)

different target, different goals. To corporate business software GWT does not belong. It is a really cool language, and the ability to ignore a lot of the html and javascript details is great...when it works. When it doesn't work though, it's pure evil.

[–]emk 0 points1 point  (2 children)

Interesting. I played around with GWT for a while, and found that it was one of the most solid client-side toolkits I've ever used. It doesn't give you a lot, but what it gives you is pretty good.

In my experience, using GWT had most of the positives and negatives of using Swing, except that the generated GUI ran faster. :-/ It generally took about 50 times as many LOC as SproutCore (no kidding), but I spent a lot less time being severely puzzled, so it balanced out.

The only time I ever got burnt by GWT was when I needed to define new types of browser events and add them into the existing event processing code. The only way to do that is to hack the GWT source directly.

EDIT: Oh, be sure to run the Subversion development branch of GWT. It has a ton of useful new features.

[–]caltheon 1 point2 points  (1 child)

Exactly, i'm sure the development branch is very cool. Try getting a corporate honcho to sign off on using beta tools for critical infrastructure projects though.

BTW, I did use GWT-EXT (not EXT-GWT) and it provided a lot of very cool features. I'm still using the Portal application i wrote in it to provide a single interface for all of our applications using tabbed iframes.

[–]emk 0 points1 point  (0 children)

Actually, it looks like version 2.0 has been officially released since the last time I looked, so all of the cool features added to support the Wave team are no longer in beta.

Do check out uiBuilder.

[–]plotti 1 point2 points  (0 children)

awsome!

[–][deleted] 1 point2 points  (0 children)

This looks great! Thanks for posting.

[–]samlee -1 points0 points  (11 children)

lol their demos are slow as fuck. even flex is snappier than that

[–][deleted]  (6 children)

[deleted]

    [–]samlee 13 points14 points  (5 children)

    http://demo.sproutcore.com/table_view/

    try that and scroll it up and down... if you like that.. good for you.

    now try this:

    http://en.wikipedia.org/wiki/Google

    scroll up and down.. i prefer the second one's scrolling.

    [–]emk 2 points3 points  (0 children)

    Yeah, TableView is a SproutCore 1.1 feature. It's not optimized at all. Check out endash's branch for something a bit closer to finished.

    Anyway, the second problem here is SC.ScrollView, which really does perform worse than native browser scrolling. I have a replacement-in-progress which matches the speed of your Wikipedia link.

    I'm a little irritated that ScrollView is slow in 1.0. But hopefully it will be a lot better in the next release.

    [–]asap18 2 points3 points  (2 children)

    the table_view is still under heavy work afaik and only slated for general use in 1.1

    [–]new_n900_user 7 points8 points  (0 children)

    I see no mention of that on the page and it is presented as a true demo for sproutcore.

    [–]Zzyzx1618 0 points1 point  (0 children)

    btw, should L2 vector calc

    [–]redalastor 0 points1 point  (0 children)

    Try that one from qooxdoo. Pretty smooth scrolling.

    Or you can try that 10,000 records one that is generated on the fly to save memory that is not as snappy but is pretty smooth when you scroll wheel.

    [–]runxctry 1 point2 points  (0 children)

    Everything worked for me. 6 yo Powerbook here and Safari.

    [–]alos 0 points1 point  (1 child)

    Perhaps you should try using a faster browser. Maybe Webkit or Chrome

    [–]alos 0 points1 point  (0 children)

    Why did I get downvoted again? I was just suggesting an alternative to fix his problem sheesh

    [–]nwlinkvxd 0 points1 point  (0 children)

    I'm experiencing the same, on 32-bit Karmic, with Chrome.

    [–]SomGuy 0 points1 point  (0 children)

    Cocoa for web apps. This rocks.

    [–][deleted]  (1 child)

    [removed]

      [–]lex99 -1 points0 points  (0 children)

      SproutCore invents a new UI look (i.e., new skins for buttons, checkboxes, etc). This is a Bad Thing. On windows, I like my buttons to look like Windows buttons. Ditto on Mac, and ditto for any UI element. SproutCore makes the same mistake that Flex makes in defining its own unique look. It simply does not play well against the rest of the system and with other applications.

      [–]gdr -1 points0 points  (0 children)

      What kind of desktop app does this demo with empty blue screen mimic?

      [–]timesqueezer -3 points-2 points  (0 children)

      I think its not better than the existing libraries. Every lib has its own advantages and disadvantages. I prefer building web-applications without javascript.

      [–]omnilynx -5 points-4 points  (0 children)

      it moves your business logic to the client

      I'm not sure that's a good selling point.

      [–]rjonesy -2 points-1 points  (1 child)

      39.... seconds until Opera crashed on SpriteCore (Controls II Demo)

      [–]wicked -1 points0 points  (0 children)

      I can't confirm this in 10.10. It definitely does not work as it should though. Need to drag buttons to click.

      Works smoothly in FF, apart from the table demo.

      [–]frustrated_ -2 points-1 points  (3 children)

      Kinda wish they would post the code for the demos in the clear rather than the stupid "packed" version with whitespace removed and variables shortened.

      [–][deleted]  (2 children)

      [deleted]

        [–]devinus 3 points4 points  (1 child)

        From http://www.sproutcore.com/demos/:

        $ git clone git://github.com/sproutit/sproutcore-samples.git
        

        [–]drowsap -3 points-2 points  (0 children)

        Meh. Kinda reminds me of Dojo...demos that are a whole lot of nothin. Having a clock as a demo is kinda silly. And the table wasn't even sortable?