Thanks Shaffer/Sri,
I think i will go with GWT, the only thing is that i will have to
implement History which usually i dont do while writing the
websites(jsp/html page based). May be thats the reason i thought
writing history is overhead but i guess this over head will give me
good webapp/website.
now with GWT also i have few question like.
e.g. i am on a user profile (some other user) screen i created a
panel(grand parent of every widget inside it) say the url is
myapp.html#type=profile&id=100
then i go to another user's profile and url is now
myapp.html#type=profile&id=234.
Question, what is the best approach here. Shall i create a brand new
that grand panel and fill the data from server or shall i reuse the
exisitng panel, clean it and then refill the data from server.
Option 1) If i create always new panel, can i trust GWT that it will
never go out of memeory or after some time user;s browser wont feel
that something heavy has been loaded? By using this approach i can
make sure that if user come to link myapp.html#type=profile&id=100
again, i wont go to server and will just display the existing Panel.
It will be quickest thing on the earth and user may feel better to see
a page faster then anything.
My Server calls will be like
myapp.html#type=profile&id=100 call server and get data
myapp.html#type=profile&id=234 call server and get data
myapp.html#type=profile&id=100 ======No need to call
server as one panel already exists which can show profile for user 100
myapp.html#type=profile&id=234 ======No need to call
server as one panel already exists which can show profile for user 234
Probelm which i see in this approach:
1) Memory can be a problem in this approach. Exp GWT developer may be
able to give me some insight here.
2) Client view might be bit older then server, but panels can be
removed from history cache using timers say 1 minute etc. But still
older.
Option 2) Reruse the existing Panel again and again. Basically create
all main panels which need to have history as singleton(although its
javascript, but in java write code like that) and reuse the panel and
whenevr history changes reset all panels/widgets inside it and reload
the data from Server
myapp.html#type=profile&id=100 call server and get data
myapp.html#type=profile&id=234 call server and get data
myapp.html#type=profile&id=100 call server and get data
myapp.html#type=profile&id=234 call server and get data
In this approach i guesss i will have less problem with memory and
data will always be latest. But Server calls will be increased.That
means extra load on server and user's every click(Back and forward)
will go to server
Is there any ther option available here?. If not then out of these
which one of you think will be better. SOmehow i am inclined to option
1 but need to know if memory will be a problem.
Thanks,
Ravi.
On Jun 1, 6:42 pm, Sripathi Krishnan <
sripathi.krish...@gmail.com>
wrote:
> There is a big difference between a website and a webapp, and deciding which
> is more suitable for use case is more important than choosing the
> technology.
>
> *Website* is old-school. There are multiple pages, and moving from one page
> to another is done via hyperlinks. Websites aren't interactive, and are
> largely content driven. A website has information to share, and hence SEO
> becomes important. Blogs, newspapers and forums, corporate websites are
> great examples.
>
> *Webapps* are the new trend. They typically have just a single page.
> Multiple views are simulated using javascript and DOM manipulation. History
> and backbutton support are achieved by tricking the browser via fragment
> identifiers. Webapps are usually interactive; user performs actions and site
> responds quickly. Webapps are typically personalized for a user, and hence
> SEO doesn't matter much. Gmail, Wave, Facebook are great examples of
> webapps.
>
> You have to decide whether you need a Content-driven Website or an
> interactive, personalized Webapp. Nobody can help you there.
>
> Once you have made the decision, it becomes very simple. If your
> requirements tend towards a Website, use server-side technologies like
> JSP/Spring Webflow. Then use a js library like JQuery or YUI (or whatever)
> and progressively enhance it to get a richer experience. DO NOT attempt to
> build such a website using GWT; you are going to be dissatisfied with the
> outcome. Although GWT has support for history, backbutton and SEO, its a lot
> easier to get it right using traditional technologies.
>
> But if what you want is more like a webapp, welcome to GWT! URLs can still
> be bookmarkable - only they will end in #profile, #community and #videos.
> History management comes automatically if you have bookmarkable urls. To
> make it seo friendly, read the Ajax Crawling
> article<
http://code.google.com/web/ajaxcrawling/>.
> Mixing JSP's and GWT is possible but in general a bad idea, because multiple
> jsps are an indication that you want a website. More importantly, loading a
> GWT module is expensive, and you only want to do that once per user
> session.
>
> There are ways to overcome the problems you mention using both technologies.
> The decision to use a particular technology should be based on your
> requirements (website v/s app), and not on the specific problems you have
> enumerated.
>
> --Sri
>
> >
google-web-tool...@googlegroups.com<
google-web-toolkit%2Bunsu...@googlegroups.com>
> > .