24

I'm about to build a web app and I would like to use either SproutCore or Cappuccino. Only thing is, I can't figure out which one to use...

I've been reading about them, and they seem to share the same goals (MVC on the client, with a thin REST server). I understand that they differ in their implementation (Obj-C vs JS), but I'm having a lot of trouble quantifying the differences and weighing them.

Can I get some help solving this dillema?

Majd Taby
  • 1,202
  • 1
  • 10
  • 15
  • 1
    When in doubt, I have a strong tendency to always choose my libraries according to my beverage preferences, it works remarkably well. – Alexander Gessler Jul 14 '11 at 14:00
  • possible duplicate of [SproutCore vs. Cappuccino](http://stackoverflow.com/questions/4287953/sproutcore-vs-cappuccino) – DCoder Aug 15 '12 at 05:40

5 Answers5

13

Dilemma indeed it is.

I personally took a chance on Cappuccino, but that is because I'm currently involved in objective-c and having the theoretical possibility to plug my code (with some adjustments) into a javascript/web environment - is tempting.

Anyway, if are you doing cocoa development, you will be up and running in a matter of hours, but I'm sure you've already figured that out by yourself.

You will (in Cappuccino) have a very nice abstraction to work with. I think that matters.

Schpaencoder
  • 763
  • 7
  • 14
11

It actually isn't that much of a dilemma. It boils down to a simple question:

Do you have experience with Cocoa (Objective-C)? (Or alternatively, do you plan on using Objective-C heavily in the future by developing for OS X or iPhone?)

If so, choose Cappuccino. If not, choose SproutCore.

There is no reason to put your project behind from the start by trying to learn Objective-C and at the same time, all of the quirks and novelties of web applications and a new framework.

Mike
  • 8,493
  • 3
  • 33
  • 44
3

The level documentation for both projects is appalling.

However, since SproutCore is now supported by Apple, and Apple are rather good at providing good documentation, I expect this to change.

Cap, however has a released real world app (280Slides) which you can have a play with to get an idea of how you should structure your application. So at this point its probably easier to get started with Cap especially since you know objective-c.

Be aware that for both projects, the number of out-of-the-box controls are very limited, so you'll find yourself implementing your own. Also, SproutCore is ugly by default!

Personally, I think that the Cap approach is excellent.

You don't need to write any HTML or CSS. It genuinely feels like you are writing a desktop app and by coding in objective-js you're essentially abstracted from the browser.

However, I'm not a fan of the language itself. I would have preferred it if they had stuck with pov JavaScript.

I understand that Mac developers will like the potential portability of the code you create with Cap however since Apple go bust in 2012, I don't really see the point :)

iasksillyquestions
  • 5,301
  • 12
  • 48
  • 66
1

Yeah...I feel like if I go with SproutCore, I would have to spend some more time learning the quirks of Javascript, as opposed to Objective-J.

Since you've spent time in Obj-J...How close is it to Obj-C and how different is it than Javascript? (I ask you because I want someone's real-life experience...not what the wiki says :) )

Majd Taby
  • 1,202
  • 1
  • 10
  • 15
1

I tried both and I must confess the two need more improvement. Just to add my points :

Sproutcore

  • pros:
    • standard JS/CSS/HTML web development
    • Sponsored by Apple, may be better for the future
  • cons :
    • Bad documentation
    • Not so much abstraction compared to Cappuccino

Cappuccino

  • pros:
    • Objective-J (no web technologies involved, no CSS...)
    • Complete abstraction
  • cons:
    • Bad documentation
    • need to learn Objective-J (not so difficult)
    • Objective-J sucks for layouts!
Laurel
  • 5,522
  • 11
  • 26
  • 49
yogsototh
  • 12,893
  • 1
  • 18
  • 21