

Cappuccino 0.6 Released - jaydub
http://cappuccino.org/discuss/2008/12/11/cappuccino-06-available-today/

======
snprbob86
I've seen a few posts about Objective-J, Cappuccino and 280slides. Very cool
stuff, incredible work guys.

Unfortunately, I haven't really found any deep technical information about
Objective-J or Cappuccino. I've read about the what and the why, but I'm
really curious about the how. Anyone know of any resources?

~~~
boucher
What kind of technical information are you looking for? There are tutorials
and documentation for learning how to use Objective-J and Cappuccino on the
site.

If you're looking for details on how we built it, there best available
information is the source code :). I don't believe we've published a lot of in
depth material on specific technical developments, though if I had the time I
think it would be a great thing to do.

~~~
snprbob86
"best available information is the source code"

That's what I was afraid of :-)

I'm not building a big serious web app, so I have no real reason to learn
Cappuccino that deeply. I also have no end of curiosity, so I am explicitly
avoiding downloading the source code for fear of the time sink that would
cause.

I was hoping for a blog post or two detailing some of the techniques and
machinery involved with creating the compile-free Objective-J constructs. It
would also be really interesting to hear what sort of effort was required in
porting Cocoa. I'm not looking for "talk to me like I'm a 3 year old". I'm
looking for "here's the gist of it", hacker to hacker. From where I am sitting
now Objective-J is a pretty freaking impressive magic trick. I'd just like a
peek behind the curtain, but I don't really want to see the schematics.

I'm sure you guys are even busier than I am, but if you do get a spare moment,
I'd really appreciate it if you shared. I think it would probably also drive
adoption. If it seems like an impressive magic trick to me, it probably seems
like evil black magic and sorcery to others.

------
jawngee
Awesome job guys. This is fantastic.

I'm curious about payload. Looked to be close to 160K for the "runtime"? How
is the objective-j parser done?

~~~
boucher
Objective-J (the "runtime") is 76k, 13k gzipped (which is smaller than
jQuery).

The two frameworks that make up Cappuccino weigh in at about 800k
uncompressed, and about 150k total compressed. It's not a trivial amount, but
its equally not very unusual. We're also not adding any html or css size to
that, since you don't use either when using Cappuccino.

------
jmtame
So this is sort of like Flex, but uses JavaScript modeled after Objective-C?

Edit: I'm checking out the demos... this is _sick_. Silverlight won't kill
Flash/Flex, Cappuccino will.

~~~
thomasmallen
This is just JavaScript, you know.

Here's the Flickr demo shown on the Cappuccino site reimplemented using
jQuery, with improvements to boot:
[http://www.brokendigits.com/2008/09/05/cappucinos-
flickrdemo...](http://www.brokendigits.com/2008/09/05/cappucinos-flickrdemo-
in-45-lines-of-jquery/)

------
volida
I tried running 280slides on IE 7.0 and it loaded 100% and waited for 15
seconds and nothing

Then I tried hitting refresh and hanged the instance. When I checked the
memory it was leaking.

*update: if it's helpful, the exact version is 7.05730.11 running on Windows x64

------
poshj
hmmm... I tried the 280slides demo, it seems only for English. I can't type in
Japanese and Chinese.

~~~
hello_moto
Probably because it's not trivial to support i18n in Cappucino?

Try GWT, it has wonderful i18n support.

~~~
tlrobinson
It's actually a 280 Slides issue, not a Cappuccino issue. The text editor
(custom for 280 Slides) doesn't support entry of non-Latin characters.

However, if you copy and paste from another application you'll see the
underlying framework handles it fine.

~~~
boucher
This has nothing to do with the framework. Javascript supports unicode
characters, and so anything built on top of it for displaying strings will
too.

The reason 280 Slides doesn't do this correctly is because it implements its
own text editor by intercepting all keypresses. Unfortunately, there's not
enough information in the JavaScript key event mechanism to properly handle
internationalization this way. We'll eventually be removing this custom text
editor in favor of a more standard approach.

Separately, while there's not currently anything built in for localization in
Cappuccino, there will eventually be the same system that exists in Cocoa,
which makes it trivial to do "i18n" with little or no actual coding.

