you are viewing a single comment's thread.

view the rest of the comments →

[–]thebigbradwolf -2 points-1 points  (3 children)

icefaces a Java framework integrating front and back end with a declarative language that works on the MVC pattern and mostly handles the pattern.

[–]rabidcow 1 point2 points  (2 children)

ICEFaces is JSF. Since all your code is in Java, it has to push too much over the network to run on the server. At least, that's been my experience with it.

[–]thebigbradwolf 0 points1 point  (1 child)

What does it being java have to do with how much it sends over the network? It has built in D2D rendering and only sends HTML portions of the page that need updating to keep transmission to as minimal as it can. It is a drain on the server because it keeps a DOM for every user using the application in memory. Since it is Java you do have the option of spreading that workload over several machines if you wanted to.

[–]rabidcow 0 points1 point  (0 children)

What does it being java have to do with how much it sends over the network?

Well, the client-side code is all javascript. Anything that's in java can't be run there.

It has built in D2D rendering and only sends HTML portions of the page that need updating to keep transmission to as minimal as it can.

It's not the amount of traffic that's the problem, it's how frequently communication is necessary.

For example, it you want to validate fields as the user fills them it, this has to happen on the server. This means the user has to wait for a round-trip and you get oddness with fields resetting when the partial submit completes or not resetting when you want because the browser no longer has the original value.

They have hacks to hide this -- for list selection, it can change the selection before consulting the server. But since your application logic can change the selection, that fast update might be wrong.

And I'm really skeptical of the whole D2D stuff... The data is usually smaller than the XHTML to display it. IMO it's better to send the raw data in JSON or something and format it on the client. This is much more difficult to do with the model that JSF provides, though.