I spent the last couple of days figuring out what development stack to use for the interactive student platform I'm planning to build.
I figured out that the MEAN stack may suit the job very well. However, I face a dilemma whether to use Node.js as backend technology for the application:
Reasons to consider Node
- The backend will mainly consist of realtime components. E.g. collaboration tools, notifications, etc.
- These components will handle this data concurrently
- It will scale better than a conventional server-side programming language such as PHP
- Exposing the data with REST for e.g. a mobile applications will be a breeze
- Having one data format (JSON) in the front- and backend will speed up development.
Doubts
- Some components require computation. Although not that complex, it may slow down the application.
- Although the application is mostly a single page application, the application will (in a later stage have some features that Node seems not typically suited for. E.g. a payment workflow.
I already made the switch from a previous approach, so this time I want to be sure to choose the right approach. Will Node.js be the right choice for this application, or will a, for example, PHP backend with Laravel suit the job better as the application matures?