Search code examples
node.jsangularjsexpress

Why would one want to use Express instead of AngularJS?


I understand that Express resides on the server and Angular resides on the client but, as far as I know, Angular can do everything that Express can do which is

  • routing
  • interacting with the database

It kind of seems like maybe Express is needed in order for an AngularJS app to be served by Node.js but I'm not sure.

So what are the benefits to adding Express to an AngularJS app?


Solution

  • There are things which should be done server side (i.e. Express, not Angular), most notably user input validation - Angular, as it's client side, can be tampered.

    Also, if you'll ever want to offer access type other than web app (i.e. mobile app), you'll probably need an API anyway - Express can do this, Angular don't.

    Finally, database access - usually Angular app will need to connect to some kind of backend to perform CRUD operations. You'll either go with hosted DB like Firebase, or you'll end up using your own database. Latter scenario is more popular and you'll need Express (or similar) for that.