Hacker News new | ask | show | jobs
by UlisesAC4 2893 days ago
In my opinion node is better if you have experience, Express is so bare ones that you are going to write almost all of you functionalities.

I am also kind of a beginner but I could not stand the way the node ecosystem is spread apart. Do not let others fool you about how npm is a chaos. The problem is the bare boned node ecosystem.

I literally spend hours reading the documentation of passport js for account creation because it did not make sense to me, it implied that you knew how to do some validation, then I had to choose the hashing algorithm of storing passwords, setup the email verification system and even roles and I was about to implement everything by hand. When read about other frameworks like hapi and feathers. Checked them did not really offered that much and ditched js for backed for good.

If I want to do everything from ground I would better choose Phoenix (erlang web framework) at least app would be real multithreaded by default.

I am really frustrated but do not get me wrong node is beautiful, Middleware idea is incredible but you are alone. But There is not even a way to exclude Middleware from routes unless you do a hack as a middleware.

In my opinion node has advanced greatly by the advancing of js itself, but once you start to program you are kind of alone. You are better using rails (not my favorite does a lot of magic) or some python tech (I am using Django btw).

1 comments

But I guess that's exactly the point, isn't it? The fact that Flask/Express are so bare bones, you end up learning a lot, so for learning purposes makes a lot of sense.
You have a point, in a more relax comment, how much learning is enough? As personal opinion just reading the documentation of your tool of choice can lead to vast amount of knowledge, default params, recommended practices, all of that is included in a well documented project, but how much should I dig into the rabbit's hole when using node?.
I see your point. How much do I actually have to know is a very good question. Because there will always be something else to learn.

In my case, I want to have a good base knowledge before leaning on any kind of "magic". I got into Python with the MIT course on EDX and got bit by the programming bug. I decided to try and get into the web dev stack, so I started to dive into JS too. Now I want to start to build stuff, and the reason why I asked the question in my first post is because it may be easier to just go deep into one language (can't do web dev without JS), since I am so inexperienced.

Well if we can say things we can say that any abstraction is magic until insiders are seen, the question is how much abstraction you are willing to take in order to feel comfortable.