Hi,
Many thanks for answering my last post! I gave the tutorial application a whirl and have a few comments/questions about it:
-
From the standpoint of folks like me who are just trying Vaadin out, I think it would be nice if one could download the Vaadin tutorial as one ZIP file, and if the web app code in such a ZIP file came complete with a Maven POM file too. I think this would really help developers get a quick first taste of Vaadin better.
-
Examining the web.xml file in the tutorial, I saw that one needs to declare an ApplicationServlet there. This servlet just forwards all requests over to the SimpleAddressBook class, where the entire UI for the rendered page is built up using Java code. This got me wondering. Ideally (and maybe my vision is wrong), I would want to define most my web app’s UI in ‘normal’ HTML/JSP/Freemarker templates, and just insert a few Vaadin components (like ASP UI components) here and there on each page – maybe in iframes, and then maybe have these components instantiate themselves using AJAX postbacks to some Vaadin backend servlet(s)/things. This would leave me a lot of freedom as far as designing the remaining, non-Vaadin-widget content of the pages (in straightforward HTML/JSP), and it would also let the webapp easily process other, non-Vaadin requests (which I would maybe route through Spring MVC). Is this model at all feasible? Or, to break the question down into subparts:
a) Are such non-Vaadin-centric mashups at all possible with the framework?
b) Can multiple Vaadin mashup components on a single page communicate with each other, as well as with non-Vaadin components?
c) How do I (best) / can I at all integrate Vaadin with other MVC frameworks? Do I just make that other framework forward certain (and only some) HTTP requests to the Vaadin ApplicationServlet/Application class and let it process all other requests differently? Or do I map Vaadin, say, to only .do requests already in web.xml? Does Vaadin need to intercept all incoming HTTP requests in the web app?
d) Do I need to have a single Vaadin Application class through which all Vaadin-related calls would pass?
e) The SimpleAddressBook tutorial uses only one ‘widget’ – the table (Note: I’m not very sure ‘widget’ is the right term here). What if I have hundreds of widgets (tables) in my web app? Do I still have only one ApplicationServlet in the app? Or do I need to declare a servlet for each and every such mashup widget? If not, what thing will I need to declare a single instance of for each and every widget?
Note: I’m not sure I’m still thinking along your framework’s paradigm – please correct me if I’m wrong!
-
I also think it would be nice to post answers to this kind of questions somewhere on your site or make them easier to find…
-
It would be equally great if you could also let folks play around with a more sophisticated sample application – which would obviously answer a lot of these noob questions!
Looking forward to your answer! Apologies in advance for my horrible verbosity
Dimitri.