Slashdot Mirror


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."

14 of 188 comments (clear)

  1. Feh by rs79 · · Score: 2, Interesting

    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 ?
    1. Re:Feh by FooAtWFU · · Score: 3, Interesting

      That's probably true, but sometimes optimizing for programmers' convenience is more important than reducing every ounce of bloat to the bare minimum. RAM is cheap enough and reusable; programmers' time isn't either.

      If you're not trying to write a high-performance scalable computing cluster app, or an operating system, or a fancy computer game, then bloat really isn't an issue.

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    2. Re:Feh by iluvcapra · · Score: 2, Interesting

      This framework is all in javascript and locally executed, however; with HTML5 local storage you should be able to run it as well as any server app once it's loaded.

      If you haven't tried the demo you should, it's really quite superb, just the initial load is rough now that it's been slashdotted.

      --
      Don't blame me, I voted for Baltar.
    3. Re:Feh by jsebrech · · Score: 2, Interesting

      If you have the google gears plugin installed, google docs works offline. Offline support is not an inherent advantage of native apps. The only truly insurmountable advantage native apps have over web apps is performance, but with today's vastly overpowered multi-core machines, performance has faded into the background, and it's going to become less relevant as the browser upgrades get rolled out (javascript 2, faster layout engines, hardware-accelerated graphics api's, ...).

  2. Stolen graphics? by Anonymous Coward · · Score: 1, Interesting

    Is it me, or are they blatantly stealing Apple's graphics (design, icons, etc)?

  3. We always find fault on /. by kestasjk · · Score: 2, Interesting

    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);
  4. should be interesting in combo with XULRunner by radarsat1 · · Score: 2, Interesting

    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.

  5. Re:Excellent! by cheesy9999 · · Score: 3, Interesting
    You managed to fit quite a lot FUD in one sentence.
    • Cappuccino and Objective-J aim to completely abstract away the inconsistencies of the browser DOM (JavaScript the language itself is fairly consistent across browsers)
    • Objective-J brings classical inheritance to JavaScript, which has much more familiar semantics to most people than JavaScript's prototypal inheritance
    • Regardless of Objective-C's syntax, have you seen some of the syntactical hoops JavaScript programmers jump through to get pseudo-classical inheritance? Just check out Crockford's JavaScript pages and his new book. There's about a half dozen different ways to do it, none of which I find particularly elegant.
    --
    -tom
  6. Re:That wacky javascript by dave420 · · Score: 2, Interesting

    Flash isn't as bad as you make it out to be. ActionScript 3 (now fully ECMA-compliant) is phenomenally fast, and highly portable. It works great on Linux, Windows, OS X, and when Flash Lite gets updated to AS3 (it's AS2 at the moment), you'll have your phones covered, too. JavaScript is very useful, but this is not a great use for it. Flash (or, rather, Flex), to me at least, seems like the elegant method. Support, speed, simplicity.

  7. Impressive, but broken by Haeleth · · Score: 2, Interesting

    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.

    1. Re:Impressive, but broken by Cato · · Score: 4, Interesting

      Why would the browser need to tell you about a non-English input method? In my experience of I18N of web apps, this is completely unnecessary, since the input method is invisible to the application (rather like switching keyboard layouts) - all that's needed is for the web app to support Unicode etc. Since JavaScript uses Unicode natively, I can't quite see how 280 North has managed to break Unicode support like this.

  8. Re:SproutCore - it relies on ruby by aesiamun · · Score: 3, Interesting

    Where can I download it?

    I keep hearing how phenomenal this is, but I can't find it and objective-j.org says 'coming soon'.

    Come, don't push a website if it doesn't exist.

  9. Re:Reinventing XUL... BADLY by rboucher · · Score: 4, Interesting

    Where exactly does it "Breaks in places in Firefox?" Let us know and we'll get right on it.

  10. Re:Impressions by GrahamCox · · Score: 3, Interesting

    A lot of mediocre programmers seem to complain about Objective-C syntax and Cocoa and whatnot. I can tell you, after 14 years immersed in C++, Cocoa/Objective-C was a breath of fresh air. I picked up the language in about a day and the basics of Cocoa in a few more. Obviously getting really comfortable with it takes a while longer but after doing Cocoa solidly now for 5 years I'd find it very hard to give up. If you've yet to see the advantage then you're probably not doing anything seriously with it. The dynamic dispatch alone simplifies things in a way that C++ can only dream of.

    As for MFC, it's a total joke compared to what you can accomplish in Cocoa with a fraction of the code and with a result in another league in terms of stability and quality.

    I'm not a rabid fanboi or whatever I'll probably get accused of, but after using a number of languages and frameworks over the years (including developing my own general purpose framework in C++ for Mac) I can tell you that in my experience Cocoa is the best there is right now, and that has been the case for a while.