I've been through cgi-bin, to ASP and PHP, to ASP.Net Web Forms and RoR and ASP.Net MVC.
I now work on an Angular 17 enterprise application.
Out of all of them, the Angular 17 application is by far the most enjoyable to work with. And I was brought into the SPA world kicking and screaming and muttering "get off my lawn".
But these points are not necessarily valid. We don't break the back/forward buttons, or page refresh, the initial payload is sizable, but less than many "non-SPA" websites outo there. And it runs a large enterprise. When we release a new update, nobody notices. In the corporate world, downloading a few MB that is compressed over the wire and cached on the client after it's sent ... people don't notice. There are single images on websites bigger than our platform.
The first compliment we got after releasing the Angular project was how incredibly fast it was. It's not bloated, I feel that is just an old way of thinking about it. Sure it's not pure HTML with bit of vanilla JS sprinkled in, but it's not going to slow your machine to a crawl (if done properly). Yes, "view source" is going to be a sea of JavaScript that renders HTML. Pure? No. Slow? No.
It's not one URI, it's /users/edit/104 and /departments/accounting/invoices/42. It allows bookmarks via deep linking.
Would I use a SPA for my personal blog? No, I'd use a static site. In fact, I've had them since the early 1990s and I still do have static sites up right now. But would I use HTML and vanilla JS for a large enterprise system? No. As I mentioned, been through almost every web framework since ASP in 2002. JavaScript since 1997. I know the pros/cons at this point.
There are too many SPAs out there, there is no question about it. It's because had a lot of developers go to bootcamps (or teach themselves) which ended up with a lot of JavaScript developers who knew some React. So that has been the go-to for "a website".
But I don't feel these points are valid about SPAs. 30 years into it, I'm happy I greenfielded with Angular on this most recent project. Smooth sailing.
Angular is the most productive platform I've worked with. I'm finishing projects in half the time it took before adopting angular. I highly recommend pairing Angular with Akita or Elf for state management.
1. I wasn't replying to OP. 2. Angular has full support for server side rendering which eliminates all of the authors complaints. 3. When I started developing SPAs there were no frameworks,and it was significantly more work.
I now work on an Angular 17 enterprise application.
Out of all of them, the Angular 17 application is by far the most enjoyable to work with. And I was brought into the SPA world kicking and screaming and muttering "get off my lawn".
But these points are not necessarily valid. We don't break the back/forward buttons, or page refresh, the initial payload is sizable, but less than many "non-SPA" websites outo there. And it runs a large enterprise. When we release a new update, nobody notices. In the corporate world, downloading a few MB that is compressed over the wire and cached on the client after it's sent ... people don't notice. There are single images on websites bigger than our platform.
The first compliment we got after releasing the Angular project was how incredibly fast it was. It's not bloated, I feel that is just an old way of thinking about it. Sure it's not pure HTML with bit of vanilla JS sprinkled in, but it's not going to slow your machine to a crawl (if done properly). Yes, "view source" is going to be a sea of JavaScript that renders HTML. Pure? No. Slow? No.
It's not one URI, it's /users/edit/104 and /departments/accounting/invoices/42. It allows bookmarks via deep linking.
Would I use a SPA for my personal blog? No, I'd use a static site. In fact, I've had them since the early 1990s and I still do have static sites up right now. But would I use HTML and vanilla JS for a large enterprise system? No. As I mentioned, been through almost every web framework since ASP in 2002. JavaScript since 1997. I know the pros/cons at this point.
There are too many SPAs out there, there is no question about it. It's because had a lot of developers go to bootcamps (or teach themselves) which ended up with a lot of JavaScript developers who knew some React. So that has been the go-to for "a website".
But I don't feel these points are valid about SPAs. 30 years into it, I'm happy I greenfielded with Angular on this most recent project. Smooth sailing.