Let’s see why.
It’s all fun and rainbows until I reach the need to understand asynchronous programming (Promises, Callbacks, Async/Await). I spend a lot of time reading articles and watching tutorials on youtube just to fully understand these new topics for me. But eventually, everything just comes together naturally.
Seeing so many tutorials to create interesting projects with ease making me want to jump on making something cool. Here we go! I made a simple RESTful API with Express, it’s not so hard just need to understand HTTP request and done, my first app using NodeJs. Using React for the frontend is so much fun, with ease I can manipulate the state of an element.
With this knowledge, I tried to brace myself and take a freelance job. They need me to make a web service to upload images to simple storage like AWS s3 and syncing with their database. With google by my side I finished the job in 8 days (should’ve been faster but at that time I spend long hours just googling stuff). After that, I took on other projects with different difficulties.
My Problem with NodeJS
I realized that my code is so messy. The amount of library that I need is plenty. And each project usually needs a different library that I need to know. The time I spend learning one library is a lot.
My Other Options
I tried using a full-stack framework like Django or Laravel. Even though not so cool and hype like NodeJs, it’s soothing for me to feel that all I need was already available and ready to use. I don’t need to scrap the npm website just to find one library that I need the most.
Will I ever using NodeJs in the future? Of course! Although it’s not my main option anymore. If needed, I will use it gladly. But it is not everything that I need.
Learning NodeJs is of course helped me a lot to understand the core concept of development. Everything that I’ve made from scratch with NodeJs is making me easier to masters advanced topics that can be implemented in another programming language.