Question:
I'm seriously thinking of developing a web application, using only HTML/JavaScript on the client-side for performance gain and by which, any and all necessary communication with the server is done through requests to a WebService (there yes, it will contain my rule of Business).
I would like you to (technically) cite the pros and cons of this technique.
Answer:
Obviously all the pros and cons depend not only on the technique used but also on the actual implementation.
pros
- Improved user experience responding faster and without breaking the flow of information. The user does not see the mechanism working.
- Server load reduction that doesn't need to "render" the pages, it only works with the data.
- Smaller volume of data transferred (in most cases not much difference). There is often a noticeable performance gain.
- There is a greater decoupling between what is on the server and the client. It gives the designer more freedom. It may eventually increase security.
cons
- Obviously the requirement for JavaScript (or other language) to work correctly.
- Problems with SEO (no, the fact that Google interprets JS didn't solve the problem).
- It's common to have more security holes exposing things you shouldn't (XSS mostly). Exposure can cause other problems as well.
- Such an application running a long time in the browser can be resource hogs, especially if there is a resource leak, which is common.
- There are cases that you need to duplicate server code on the client.
- The initial load can be higher and cause frustration (bad UX).
- It is not simple to do it correctly.
There are some things that people complain are not problems anymore.
Obviously I may have forgotten something.