The rest is not even wrong.
The rest is not even wrong.
Please elaborate. Your rude dismissal is not informative.
> 3. Most of the complexity is hard complexity that has to be there to process rules. Rules are way more complex than you want to run on a client in some cases.
I don't know how to address this since it doesn't depend on the boundary of server/client code split.
> 4. They are incredibly difficult to test. Go try testing a big SPA with selenium for example.
This is highly application and framework dependent. Not all SPA apps in all SPA frameworks suffer from this problem. We are using different testing frameworks and we wouldn't say we have any significant issues.
> 5. Security boundaries are terribly difficult to enforce when half of your application isn't inside your control.
Backend doesn't change if you are fully server rendered or fully SPA. I don't understand how this applies in general.
> Having done desktop development for a number of years, the worst turds I've seen are in that space and the SPA brings them all to the web which is one of the most hacked up evolutionary disasters we have ever created.
As I mentioned before, the difference is that unlike desktop development SPA world is still evolving and there is no thought leader in how to do this. If we were given back in 2012 a definitive framework with all build tools in place, that would look like the typical desktop framework. However, we are spectators in this evolving space. That is the nature of open development and open source. Compare that with WPF, WinForms or any other Windows platform UI development environment.
> Really our responsibility as engineers, architects, developers is to give the user the best experience and that means the fastest and most reliable one. SPAs are neither. KISS is a mentality we should be using and I can build a better user experience without SPAs.
I disagree with this, it is a general statement.