Shopping Cart Site

I have a good knowledge of Java mostly in swing desktop applications. I have done some Servlet/JSP web stuff a few years back, so know that to a degree. I now need to do a website which will be along the lines of a shop/store. The kind of thing you get with KonaKart or OpenCart. I really like the idea of using vaadin for this.

Reading the FAQ it suggests vaadin is better suited to applications rather than websites. I am not sure if a web store would be more application than website, or not?

Can someone give me an idea if vaadin would be a good tool for this or not, given my background?

I really want to find a framework that would allow me to develop a site like this but leverage my Java as much as possible and keep the leaning curve shallow. I don’t want to learn any more HTML or Javascript than I have to.

Once I have done the functionality I would like to be able to get a webartist to theme the site to look good via CSS and so on. Am I on the right lines here?

We have used Vaadin at least in
this big web store
(a Finnish site, sorry), with a shopping cart and all. Also the
Directory
is a web store for the commercial items.

Vaadin has some disadvantages with web stores and traditional non-Ajax dynamic web apps have some advantages, such as easier search-engine indexing support, easier multi-window browsing, easier bookmarking, etc. All of these features can be done with Vaadin, as are done in the Directory for example, but are a bit more challenging. Mobile browsing support, especially on slow connections, is probably the hardest issue.

On the other hand, the Motonet store and Directory, for example, work great and Vaadin/Ajax has its advantages. For most users, the RIA user experience can be made better than with regular web apps and Vaadin is also really easy to develop with. The
BlackBeltFactory
is a great example of a rich website made with Vaadin.

It’s also not a yes-or-no question. You can code the catalog of your web store as a traditional mostly-non-Ajax web app, and then have the check-out, store management, and some other parts of the system as a Vaadin application. Integration and mash-ups are very easy, especially for apps running in the same Java web app session.