Understanding Web application frameworks
Can somebody help me to understand a few basic concepts in java web applications framework?
My understanding of a web application framework - It provides lot of infrastructure to build my web application like handling http client requests, delegating the tasks to different controllers, acting on the model, a way to identify the next page..etc. Basically I dont need to worry about how I should handle client requets, i just need to write the controller classes, front end pages and place them in appropriate place and the rest is handled by framework.
It is very true when I use spring framework.
But I got lot of questions when I started to use other Web application frameworks .
1. I have heard that GWT can be used to rapidly develop rich front end pages. But I did not see any web-tier framework explanation to interact with the back end servlet/business layers. Without any web-tier framework provided, can it be called a web application framework?
2. If I use GWT for my front end page development, can I use Spring or any other MVC framework as a Middle tier. If so how can I achieve this?
3. Again my question on google's new framework - GUICE? Its called a web application framework. But i did not understand with the documentation provided how can I design a web application with three main tiers using this framework? Unlike spring where it provides a neat MVC structure to configure the pages, controllers..etc, it does not have enough document explaining these design issues.
I dont understand the benefit of using Guice framework in my web application, where as other framework explain how they can be used in these cases?
4. To summarize, can we design a web application with GWT front end, GUICE web app framework - If so, how the middle tier can be designed in this case inside guice? Basically, i want to know how this framework handles different client requests and how it delegates the business to different components internally..etc.
Also, one general question which comes to mind now when a new framework comes like GUICE, we generally look for MVC kind of structure to work with. How should we decide and design web appl if MVC is not available in framework. Like example, Guice does not have any MVC explained, also it does not suggest any approach to design such web appl.
Apart from this, I wanted to understand the general life cycle of a mobile web application. How it is different in contrast to general web application?
If i want to design a web application which can be accessed over internet in browsers along with Mobile access, what are the design constraints?
Please somebody help me to understand the above items.