Hacker News new | past | comments | ask | show | jobs | submit login
GWT, Cappuccino, Sproutcore: AJAX-Framework-Shootout (vierundsechzig.de)
31 points by cubix on June 23, 2009 | hide | past | favorite | 29 comments



For a look at what we have done with GWT, check out TeamPostgreSQL (http://www.teampostgresql.com).

It is a fairly complex web application both in terms of UI and functionality, developed and maintained by essentially one guy, which IMHO speaks volumes about the power of GWT to produce and manage AJAX application code. All of the code base contains zero lines of Javascript - it is all regular Java classes.


It would be great if there was an online demo of your product - I clicked around for a bit looking for one before realising I would have to /download and install it/ in order to try it out! Just running an instance against a PostgreSQL database that gets wiped and reset once an hour by a cron job would be enough to give people a taster.


Another one worth mentioning is qooxdoo, which I'm currently evaluating. I would probably go with Cappuccino if I had more experience with Cocoa/Objective-C. However, qooxdoo seems more approachable if you don't have the Cocoa background -- it's surprisingly well documented. Although it doesn't look as visually appealing out of the box, you can create a custom theme.


On the note of cappuccino looking awesome (which it totally does) this kind of shows how GWT could look: http://demo.vaadin.com/sampler/#Components/Forms/FormBasic (haven't used it myself though).


You might also want to take a look of this Vaadin theme example that demonstrates that DOM of the Vaadin widgets is optimized for easy CSS:

http://demo.vaadin.com/VaadinTunesLayout/


GWT is just html. There are plenty of frameworks out there to make designer->programmer workflow work well.

It's like saying that rails doesn't look good. Taking cappaccinos style and porting it to gwt would only be a couple of days work, if that.


I think its more complicated than you make it sound. Though, Cappuccino is, as far as I know, the only open source web framework that has professionally designed graphics which are also open source in their PSD format for anyone to use and learn from.


However I am wondering how much time is gained when one needs to custom design is website/web app.

As anyone had success on customizing cappuccino's design in a small time frame? How does it compare to the other frameworks?


I didn't realise styling a website is difficult? Are you saying you couldn't style a website to look like cappacinnos given firebug and a few hours?


Quite possibly not. We're not talking about styling the marketing website, but the UI of a web app. There probably won't be the right HTML hooks generated for starters, and then making it look like a cappuccino app in one state is well and good, but there are highlights, slides, toggles, and likely a subtly different style of interaction as well.


Sorry to reply again, but this bugs me. Go to 280slides.com and tell me: what would you say is the hardest part about replicating the style of that site? Keep it specific (e.g. dialog borders or listbox), I'd like to know.

I'm obviously missing something.


Take a look of Vaadin Reindeer theme: http://dev.vaadin.com/svn/versions/6.0/WebContent/VAADIN/the... You just can not write something line that in few hours...


Well, I've at least styled a gwt app to be very similar in a short period of time. Usability was left to the developers.

I think I might have to post a tutorial.


Proof: http://tinypic.com/r/2uym3is/5

Of the two hours it took to create that, most was spent making a video, learning gwt 1.6 and downloading images from 280north (they make it hard).


Wrote this before you posted your demo:

--------------

280slides has such a polished theme that I think it would take some significant time to duplicate. It's not one thing--it's every thing. You might be able to get something close quicker, but I suspect it would look like I-wish-I-was-280slides.

Still, from what I know of GWT (no direct experience) and cappuccino (tried it out, seemed to make lower-level DOM wrangling very hard, which was absolutely essential to the project), you're working at a higher level of UI abstraction than I yet have. With jQuery UI, I'd have to add tons of markup to my dialogs (e.g.) to implement the 280slides look, and there's no one place to do it.

So, post a link to your 280slides-like GWT app and/or write that tutorial, and I may well have to admit that you are faster than I and/or have more powerful tools (likely both).

And now I have to say:

-----------------------------

Well no kidding it doesn't take long to borrow someone's images and arrange a few in a way that more or less looks like the original. But (not to put too fine a point on it) your demo looks very, very rough, and 280slides looks like the best-looking app you've ever used. Your buttons aren't spaced right; they look wrong in hover state; they look wrong in active state. The dialog doesn't really look anything like a 280slides one apart from having a shadow (nor does it look very good on its own merits). And that's just what I can see in a tiny, compressed video of the little bit that you built.

You might still be faster than me and have better tools, but you didn't prove it here. OTOH, if you could produce something with the polish 280slides in two hours you'd be more than fast--you'd be able to rewrite the matrix from within.


The demo may have looked rough because it was recorded in some weird format. The images used were the same as 280, so it can't have looked too much different - here, take a look at this comparison: http://i42.tinypic.com/2rqmx3o.jpg

Here is another version done with some different images I hacked up quickly: http://i43.tinypic.com/x5wjdt.jpg

Obviously I could spend another hour fixing pixels. But that wasn't the point. The point is that GWT can be styled just like every other browser application/website, and it's trivial to do, just like it is for any other framework.

If I can do this in a few hours everyone else can too.


I find it hard to believe that this point even has to be made, but there is a difference between designing something and implementing a design. There is also a difference between UI look and UI behavior. By replicating the 280 Slides look (by copying its existing design and images), the best you could do is prove that GWT makes it easy to implement a design, but I do not believe that even this was done in the demo you made.

1. I'm not sure what exactly is impressive about this demo, you have a couple buttons which pop up a window that has dummy content in it, and then expect people to think that it proves that making something that looks and behaves like 280 Slides is easy. For starters, this is the least impressive portion of 280 Slides. I don't for example see a slide navigator which shows a tiny version of the working area, and I also don't see a working area that has vector properties that works in all browsers. These are the components which would be hardest to build without Cappuccino in my opinion. I'm not sure even the toolbar works like the one in 280 Slides. For example, when you make the window too small does it auto place the items that aren't visible into a menu on the right based on their priority of importance? If your point was simply that you can make buttons with custom images in GWT, then I guess you've succeeded.

2. Beyond this, designing itself is also quite difficult, which I hope is not something we have to argue about, since to say otherwise would be to invalidate the designing profession as a whole. One thing we are trying to do with Cappuccino is provide a good set of base artwork and a HIG that will make this easier for people who can't afford a real designer. Large portions of this work will of course be usable outside of Cappuccino since we are making them open source, but others will be much easier as they will be built into Cappuccino.


Show me where I said designing original content was easy. Show me where I claimed behaviour would be copied as well.

The claim was that GWT is simple to style. Surely I proved that claim. It's HTML and graphics people!


This is incredibly naive. If you think all of 280 Slides is two toolbars and a dozen or so icons, then you have missed the point. Even the point you are trying to make is invalid, because this is perhaps 2% of the layout involved in 280 Slides completely ignoring all the interaction.


I never said that. The claim was that styling a gwt app is simple.

"GWT is just html.Taking cappaccinos style and porting it to gwt would only be a couple of days work, if that."

I never claimed that their interaction was easy to clone.


I have worked with GWT quite a bit, and yes, its all CSS for style. But I still haven't found it easy. If you do, and are interested, I would love to hear from you in terms of making something "cappaccino style" in a few days !


I've got far too much work on at the moment but if I get a chance I'll post a tutorial.

What in particular have you found hard?


Heres one I just built to show how easy it is. http://tinypic.com/r/2uym3is/5


Great work ! Well if you do get time to tutorial it up - please do !

Well I hear that people claim CSS + GWT can do most of what people want, but I never quite believe it, but glad you found it easy (even learning a little of GWT1.6).


Apple has one due to come out this year called Gianduia ... and that's about all I know about it. People I trust who know more are absolutely raving about it, but, typically, details are scarce on the ground. Am very interested to see what arrives, though.


First, Apple regularly spreads disinformation to its employees to find out leaks. Most of the company was shocked that the iPod came out.

Second, that's the most American-unfriendly name I've ever seen for a product. Sure, gianduia is the name of a chocolate with hazelnut paste, but I'd be interested to see what the public name of such a product would be.


It's not disinformation: it was announced at WOWODC in a demo given by Apple staff. It's just under NDA, so public details are very thin on the ground.

Wolf Rentzsch tweeted about it after a demo, though: Blown away by gianduia. Cappuccino, SproutCore and JavascriptMVC have serious competition. Serious. http://twitter.com/rentzsch/status/2060613851

Gianduia essestially is browser-side Cocoa (including CoreData) + WebObjects, written in JavaScript by non-js-haters. Jaw dropped http://twitter.com/rentzsch/status/2060717454

As for the name: yeh, I wouldn't be surprised if that turned out to be a codename.


I can tell you its not anything new, and it's been around at Apple for a while now. It's in use right now on several live Apple properties. When and if it will be released in any usable form has yet to be made clear though.


Cappuccino also has nib2cib now which allows you use inetrface builder which is great if you are coming from a mac background. Also there is Script# for people .net. Personally I prefer cappuccino.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: