Avatar of Omar Bahareth

Omar Bahareth

VP of Engineering at Mrsool
Avatar of obahareth
VP of Engineering at Mrsool

Hey Mohammad,

In your case I would definitely recommend Node.js as you already seem familiar with JavaScript and that experience will give definitely help you accomplish things faster in the backend side. The best advice I've always seen is to use what you already know, or something you enjoy using, and your passion will do the rest. As some folks have mentioned, Node.js is single-threaded by default but there's a lot of resources available on how to overcome that. Both Node.js and PHP have scaled for many companies, the examples are endless. If something gets heavy you offload it to a background job, if your reads and writes are getting heavy you can do some database optimizations, use an in-memory database and/or caching layers. Most scaling problems are related to how you read/write/process data and infrastructure more than they are to frameworks and programming languages. If you do indeed hit a wall with either of those programming languages being a bottleneck then in you could rewrite that one component only in a more performant language (e.g. Go/Rust/C/C++/Crystal and so on) but that's most likely something you won't have to think about for quite a while. Focus on the stack that you know so you can acquire more users and get to launch your product, scaling problems are nice to have and can be solved if they happen.

Good luck!

4 upvotes23 views