We're working on a new platform at work. But the dev department are currently split down the middle as to whether we should render the front end server side, or client side using a SPA. What are your view?
It depends on the app. Single page apps are perfect for websites that should feel like native desktop or mobile apps. For websites that have a lot of dynamic content I'd say it's a must - too much JQuery for AJAX and DOM manipulation may indicate that.
On the other hand, if the app is very simple and has got just a little dynamic content, there's no need for SPA approach. For example, an admin panel for cloud like DigitalOcean or my project (https://demo.virtkick.io/) are good enough with server-side views.
Also, if the app needs to be super-fast, especially on mobiles, then server-side generated views are rather prefered. However, Twitter serves server-side generated views for first page load, and then does the rest like a SPA. While not possible with AngularJS (yet), you can do that by building your own stack on top of Express.js - just render the templates with JADE on server-side or client-side. That's the example my friend did a few months ago: https://github.com/RushPL/express-app-angular
On the other hand, if the app is very simple and has got just a little dynamic content, there's no need for SPA approach. For example, an admin panel for cloud like DigitalOcean or my project (https://demo.virtkick.io/) are good enough with server-side views.
Also, if the app needs to be super-fast, especially on mobiles, then server-side generated views are rather prefered. However, Twitter serves server-side generated views for first page load, and then does the rest like a SPA. While not possible with AngularJS (yet), you can do that by building your own stack on top of Express.js - just render the templates with JADE on server-side or client-side. That's the example my friend did a few months ago: https://github.com/RushPL/express-app-angular