Cocoa-Like JavaScript Framework Announced
TwilightSentry writes "Ars Technica reports that a group of developers has created an Objective-C-like extension to JavaScript along with a class library mirroring Cocoa. They've used these to release an impressive demo app called 280 Slides. The article notes, 'Whereas SproutCore seeks to "embrace the platform" by giving a Cocoa-like development model for developers already using HTML, CSS, and JavaScript to make a web app, Cappuccino and Objective-J take an entirely different approach. "Since Cappuccino runs entirely on the client, at run time, we're never actually generating HTML or CSS," says Boucher. "When you build an application in Cappuccino, you don't need to ever deal with HTML or CSS. All of your interface is designed in Objective-J and Cappuccino. Cappuccino focuses on application architecture more than anything else, like building applications that know how to save and open documents, or copy and paste. We also built a powerful graphics engine into Cappuccino, so you can make rich applications like 280 Slides."' The developers plan to release the framework and preprocessor as open source. No mention is made of a specific license."
A couple of weeks ago one of the developers of 280 slides was interviewed by Leo Laporte and Amber MacArthur on their net@night podcast.
http://www.popularculturegaming.com -- my blog about the culture of videogame players
Is there anything it can't do? Hey! Somebody gen me up an Ada interpreter in Javascript real quick.
Help stamp out iliturcy.
I've played with and written interpreted langaugesand for decades I've hels the fervent belief that the further away from C you go the worse the bloat.
And "hello world" is how many bytes in this pig?
Need Mercedes parts ?
To extend the meme, now I'll start development of C-Objective Kernel Editor (COKE). that will be followed by Linux Apache Tkl/Tcl Extensions (LATTE) which, of course, demands Folding On AMD Machines (FOAM). Sorry, but I'm too tired to come up with an acronym for marshmallows. ~
Invenio via vel creo
Slashdotted already. Don't you people have better things to do?
The higher the technology, the sharper that two-edged sword.
Anyone even remotely interested should read the article. There is some interesting discussion below it in the comments section between commenters and the developers.
i took a look at SproutCore since i'm familiar with some Cocoa ideas, like data-interface binding, which would be great in javascript. i was disappointed to find out that SproutCore projects are created with RUBY and that you touch javascript very little, if at all.
just how important is ruby to sproutcore? go to their download link and they tell you to "sudo gem install sproutcore"
very disappointing for a javascript programmer. i suspect this will be the same.
javascript is the turkey lunch meat of programming languages, imitating all the others. and, like turkey, its best when its simply itself.
Know what I like about atheists? I've yet to meet one that believes God is on their side.
Who wants to bet how long it will be before Google buys up the guys who made that presentation app?
It could certainly be a bit faster, but it's still damn impressive.
-- If you try to fail and succeed, which have you done? - Uli's moose
This is a seriously good piece of software.
If they can do the same for Word and Excel then MS is going to be out of business.
This is not a signature.
Since it's Cocoa-like, we have to rename it Carob. Quick, somebody get their acronym generator going!
Too slow! Already taken.
Invenio via vel creo
Is it me, or are they blatantly stealing Apple's graphics (design, icons, etc)?
Traditional web apps are slow, because of all the chatting with a server. But well made AJAX, and frameworks like this one and OpenLazlo, http://www.openlaszlo.org/ are changing that.
Makes me wonder... Maybe soon(ish) a lot of apps which are now strictly in the desktop domain will really be viable through a browserlike environment?
I've been quite skeptical myself, but every time I see something like this it makes me wonder if I'm just not seeing the true possibilities...
.: Max Romantschuk
strange how the only browser it's not compatible with is Opera - the one that is supposed to be the MOST standards compliant
As someone who works with M$ office software for mac all the time, this seems to be about the same speed. Dead serious, PowerPoint is the worst software on the Mac OS. (not trying to start a flamewar)
You are missing the acronym that best describes a combination of Cocoa and Java(Script):
CAFE MOCHA - Cocoa-Alike Framework Extension Mirroring Objective C for HTML Applications
Just WOW!!
As someone who is just learning Cocoa, and finding it though since it's my first real programming language, I am amazed at what 3 guys in a college dorm have cooked up.
Apple need to drop that spruotCore thing like a rock and make happy with these guys. I read that they worked for Apple before spinning this out...
Perhaps if they get offered much better paid positions with Apple they might come back. This is some seriously cool shit they're doing. That web-app required no knowledge at all of HTML & CSS!!
You could even probably write code for OS X and "port" it to the web in minutes!! If Apple get in on this, they could seriously bring about a shift from Flash and horrible media plugins like that silverlight crap, to something everyone can use, even iPhones and Blackberry's.
Words fail to describe how awesome that demo app is.
I was dreading getting to the point of having to learn me some java so I can do web-apps eventually. They've actually managed to make me interested!! Programming is hard and I'm finding it tough, but now I really want to master Cocoa and start on Objective-J and Cappuccino.
WAY TO GO!!!!!
The truth shall always be free: Boris Floricic is Tron.
But may I say wow, that is a very impressive web-app. It really does feel like an office application and not a web-app.
// MD_Update(&m,buf,j);
"When you build an application in Cappuccino, you don't need to ever deal with HTML or CSS" Wouldn't it be easier to use html and css, and isn't that the purpose of both of those languages? What about users that have javascript disabled?
"During My Service In The United States Congress, I Took The Initiative In Creating The Internet." -Al Gore
280slides looks nice, but there are half a dozen other on-line slide presentation programs out there (including Zoho and Google).
Why not actually innovate? Come up with a better way of creating and maintaining slide shows. Do something other people haven't done yet.
I've been playing with XULRunner quite a bit lately and though I haven't yet applied it to a "real" application, I have to say it's pretty nice and convenient to be able to design a cross-platform GUI for a local application using HTML and CSS. The trouble of course is that your application looks like a web page. (This is getting less important now that it supports native widgets of course.)
If this is open-sourced in a license-compatible manner with XULRunner, it might make for some very interesting, user-friendly (i.e., pretty), and completely cross-platform local applications.
As a C/C++/Java developer who is learning Cocoa and Objective C now out of necessity, I remain unimpressed. I'm a fairly quick hacker who taught myself everything from Pascal to Assembly to C and C++. I still think it was foolish for Apple to implement a key technology in a language that is largely unknown by most C/C++ developers. And I've yet to see the advantage...in fact, I'd say that there are enough disadvantages in retraining developers that more than offset any advantages the language could possibly have. Having working in C and C++ for 20 years, I find Objective C code very difficult to read and impossible to understand with just a glance like C/C++. The method call mechanism is far too compact to easily separate the parameters and labels in method calls seem to be a great way to further confuse things.
I'm not one to evangelize Microsoft products, but MFC was far easier for me to pick up and start working with than Objective C + Cocoa. I'll give Apple credit for being gutsy and going outside the sure-bet languages, but it honestly seems like a huge mistake for adoption. I think someone in Apple is very proud of their choices, and don't realize how much it has hurt the platform in terms of adoption.
So I'm simply amazed that anyone would bother creating a javascript alternative that reflects all the difficulties associated with moving to the Apple development world.
Works in Safari. Breaks in places in Firefox. Can't even load in Konquerer. Again, I'll use XUL which seems to be being used by Amazon, IBM and alot of others large name companies and is alot further along than reinvent the wheel with a bloated lubrary.
This is my sig. There are many like it but this one is mine.
-tom
It is impressive, but I can't stop comparing in my mind it to what many were doing with flash 8 years ago. Flash and silverlight have the whole lock-in proprietary thing going, so I understand hesitation in adoption. It seems to me an open source rich media client (plugin) would be a far better solution than squeezing every last drop out of html/js and still not being able to get what you need from it.
I don't understand what's wrong with Javascript and HTML/CSS that you'd need to build a framework on top of it.
For years when we mostly used native GUI toolkits, the rage was making XML libraries so you could build your application as easily as you could a web page. (see GTK, glade)
And really, writing apps with Javascript is a godsend...using HTML elements with CSS to build an app is so much faster, flexible, and easier than any other method that it's nearly insane not to do it that way, especially when you're targeting the browser.
Not to take away from these guys' work, as their application is nice...but I don't see the framework as being anything special.
If moderation could change anything, it would be illegal.
I had a quick go with 280Slides. The interface was impressively slick.
Then I tried to enter some non-English text, and it totally freaked out on me. When I pressed the keyboard combination to switch input methods, 280slides inserted three capital 'A's with acute accents. When I tried to type a simple Japanese phrase, 280slides inserted a single lower-case 'a' with a little circle over it.
This is the 21st century. We live in an increasingly globalised world. Applications that can't handle Unicode and multiple input methods have no place in this day and age. Back to the drawing board, guys, and don't come back till your nice slick interface has some basic i18n features, please.
Yes, but be sure to also check out the bits where he says "but don't do it like this - if you don't try and emulate classical OO it's a lot easier".
1. How can you not be generating CSS or HTML if the interface requires it?
we're never actually generating HTML or CSS
I am assuming that they mean they only generate Javascript, that then generates the HTML and CSS as necessary, but that is not to say you're not dealing with HTML or CSS entirely. It would be great if they abstract those elements away completely, but as is so often the case, when something isn't right and you have to fix it, one must resort to jumping over those barriers and hacking their way to where they can accomplish what is need.
2. 280 slides? Why do all these open source projects and Mac inspired projects end up cloning *old* microsoft products? Do you guys really think these app designs deserve that much recognition? You cannot think of any other way to build a slide editor other than to mimic the layout, the functionality, and even the default template. I guess Microsoft really nailed it on the head.
I've seen this time and time again. I say stop cloning, and do something creative with your new toys.
firefox is an open source rich media client.
Do you even lift?
These aren't the 'roids you're looking for.
Great, now where do I get the javascript-like Cocoa framework? (seriously)
I was dreading getting to the point of having to learn me some java so I can do web-apps eventually. They've actually managed to make me interested!! Programming is hard and I'm finding it tough, but now I really want to master Cocoa and start on Objective-J and Cappuccino.
WAY TO GO!!!!!
If you think web programming is hard, then you're in the wrong field.
I read about this a week ago, and tried 280slides... but in the article I heard about it from, it said Apple had *already* bought the rights to this and was keeping it open-source.
Can't find that article... can someone confirm?
Isn't this essentially what webobjects was? Cocoa for web based apps, with a browser interface?
That web-app required no knowledge at all of HTML & CSS!!
Yeah, that's.... great?
Amazing application and very good work. A few weeks ago I stumbled over an similar web application frame work with a nice demo. http://hypergui.com/lab Very impressive, too. I'm looking forward what the way of gui dektops applications is... Cheers
Forth and Scheme can be impressively small and tight, and are about as far from C as anything you're likely to run into.
If you do it in Flash, then what I'll see when I hit that part of the page is (f), and when I hover over that it'll change to (>), and when I click on that it'll run. If the whole application is in Flash, then I'll often see that three or four times. I'll likely hit the button at the top of the window marked () and look for another alternative.
Why?
1. I can.
2. 90% of the Flash I run into is velveeta. That's "not quite spammy enough to be called spam, but no more desirable".
3. I can't take a .swf and pick it apart and save the actual useful content somewhere for future reference. Yes, I know that's an advantage for you. No, I don't care.
4. Flash performance on my G4 Mac Mini is not acceptable. Without Flashblock I pretty much couldn't use tabbed browsing.
5. Flashblock lets me decide when to download the flash content, screaming video, and other stuff, when I open up three or for tabs for leter perusal.
So, flash is at a disadvantage if you're interested in my eyeballs. Flashblock is available for all Gecko-based browsers. It's installed by default in some of them, and only a click away in the rest, and I'm sure there's equivalents for MSHTML and KDE/Webkit browsers as well.