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
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
We work okay with Opera. Especially the latest 9.5 release. There are a few minor issues though, especially with regard to text scaling.
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);
Works just fine for me..
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
HTML and CSS were designed as document layout tools. They're pretty good at that task, but they aren't particularly good at building applications, or application UIs.
As far as users with JavaScript disabled, an app like 280 Slides simply isn't possible without JavaScript. It's an application, not a website. Declarative languages wouldn't be enough. So, since you need JavaScript to work at all, its reasonable to make design decisions that require it to be on.
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
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.
Reflections can be done with Canvas. Safari has built-in reflection support via custom css properties.
Do you even lift?
These aren't the 'roids you're looking for.
firefox is an open source rich media client.
Do you even lift?
These aren't the 'roids you're looking for.
I wish what you say was true - but it's not.
CSS, even if you have compliance to recent specs (which we don't) fundamentally lacks the kind of layout options that you need to create truly slick interfaces.
Browser DOM support differs substantially across the major browsers - so much that you would be insane to build a complex app without some kind of framework or library to abstract away the differences.
Now - I do agree that using HTML and CSS can be a good foundation for delivering apps - but eschewing the use of frameworks to help do it is insanity.
The point wasn't to create a Keynote clone. The point was to demonstrate the toolkit.
What are you doing on /. anyway?
The point wasn't to create a Keynote clone. The point was to demonstrate the toolkit.
There are lots of Javascript-based presentation packages. So what does writing another one demonstrate?
What are you doing on /. anyway?
Waiting for my experiments to finish. What about you?
Because it's just a proof of concept app? It's not the app itself that's the story here, but the technology behind it.
Isn't this essentially what webobjects was? Cocoa for web based apps, with a browser interface?
The point wasn't to create a Keynote clone. The point was to demonstrate the toolkit.
There are lots of Javascript-based presentation packages. So what does writing another one demonstrate?
they're not demonstrating a toolkit for building presentation packages. they're demonstrating a general-purpose framework for building any GUI web application you might think of.
they're demonstrating a general-purpose framework for building any GUI web application you might think of.
And why would I pick their framework over any other framework now? What does their "demonstration" actually show?
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.