• kalkulat
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 month ago

    That may not be the wisest choice. For one thing, the client side can be as fast or faster than the ‘server’ side. Sending data to a ‘server’ which is ‘serving’ as a mainframe (reverting to a model from the past) will consume more time and bandwidth. So much for the performance goals.

    That also has the potential to create securiity concerns at both ends (which were not intense in those bye-gone days of yesteryear). Furthermore, wny should the client trust the quality of the code the ‘server’ uses? The popularity of the ‘new’ frameworks aside, the cost of bandwidth and processing by the ‘server’ will be born by the ‘client’. I’m not seeing any pluses except for thin clients, and big potential pluses for the ‘serving’.

    • dan@upvote.au
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      the client side can be as fast or faster than the ‘server’ side.

      That’s not the case on a lot of JS-heavy sites, though. A lot of logic runs on the main thread, which slows things down. The only way to run things off the main thread is by using web workers, but that adds extra serialization/deserialization overhead.

      That also has the potential to create securiity concerns at both ends

      Generally, the more logic you have on the client-side, the more likely you are to have security issues relating to untrusted input or behaviour. The client is a completely untrusted environment (since a user can do whatever they want with your JS code), and increasing the amount of logic on the client side increases your attack surface there. Any code on the server-side can be trusted, since you wrote it and users can’t modify its behaviour.