|
|
|
|
|
by henk53
3695 days ago
|
|
Society has shifted from the client to the server and back again a couple of times before, and don't forget that one of the biggest web sites out there (Twitter) has switched back from the client to the server. Pure client-side technologies have many disadvantages, including a long initial load time, high local memory usage and high CPU usage. Ironically, a browser tab in Chrome can easily take up a magnitude more memory than a Java EE server takes up. And don't forget that the client-side ecosystem is anything but stable. Google the phrase "javascript framework of the week" and the term Javascript fatigue. Even if you do want to go with client-side UIs, there's a wealth of technology in Java EE to back these; JAX-RS, WebSockets, JSON-P, Bean Validation, JPA, JTA, etc etc. |
|
But I have a feeling that author is judging about whole set of EE technologies by JSRs that loose their popularity at the current time. I've provided explanation for that.
As for Chrome: the lifecycle of the UI in Chrome is different than UI lifecyclein JSF/Portlets. JSF/Portlet builds the DOM in memory, sends the output, GC cleans up after. This happens per request. But I've seen GC utilization in JSF under a big load. It wasn't nice. Also, JSF/Portlets' APIs are mostly synchronous.
Also, browsers are evolving. Client-side technologies are easier to learn. Server-side is harder. That's why I don't believe in major shift back to server-side. Twitter is relatively simple application. This is an exception, I think. There will be cases when server-side rendering is more efficient. But UI will be much simpler (no templating support, for example).