4 ms·
What's great about this isn't just that you can do it with JavaScript, which is much easier than ObjC, and probably also easier than Swift. It's that it's also
by rattray 12y ago
What's great about this isn't just that you can do it with JavaScript, which is much easier than ObjC, and probably also easier than Swift.
It's that it's also essentially natively supported. Having futzed with PyQt and PyObjC to build a medium-sized desktop application, I never want to go back to dealing with bridges to low-level libraries again. But this looks much more manageable.
Reading this code makes me think I just might write an OSX app again some day. And if CoffeeScript can compile down to it - no idea why it couldn't - even better.
- city41 12y agoWhy is this easier than ObjC or Swift? I'm a huge JS fan, and I'd still choose those two over this. The API is still very much Cocoa, and now in JS form it's even more tedious. Not sure how you'd truly debug an app written this way, and not to mention almost all docs, examples, blog posts, etc that you ever find will be based on ObjC and Swift.
- rattray 12y ago"Easy" and "hard" are always relative terms. If someone doesn't already know ObjC or Swift, they may be considered harder for that person. Not necessarily harder in absolute terms. But I'll take that as a serious recommendation!
- city41 12y agoObjC is a very small, simple language. The hard part is Cocoa. The JavaScript bindings don't address the hard part at all.
- AlexeyBrin 12y ago> ObjC is a very small, simple language Objective-C is a small language only if you already know C. Otherwise you will have to learn C first.
- DonHopkins 12y agoBut C combines the power of assembly language with the ease of use of assembly language! Or to quote Bill Joy, "C is really just peek and poke with some syntactic sugar".
- DonHopkins 12y agoI'd learn Swift and use it for something non-trivial before saying something like that. I haven't yet, but what I've seen makes it look pretty good, with a whole lot less bullshit and bad design decisions to constantly keep in mind (I'm looking at you, "this")!