When I was using Vue (doesn't matter which framework) for Frontend I didn't understand this weird folder structure, I didn't understand how these files are served and how they are built and when I started learning Nuxt which is for Vue Server-Side Rendering, It was weirder for me like how SSR Works, how routes are being generated automatically and how middleware works and this when I decided to learn Node and the reason why I picked node wasn't to understand frontend stuff but to be a Full-stack developer and I was confused what to choose PHP and Laravel or Node and Express and thanks god I chose Node not because Node is better than PHP or this stuff but because I was so Lazy to learn a new language (PHP) and I didn't know that I am so lucky.
Now, I know how NPM Scripts, task runners, and building tools work and I know how to solve problems or bugs that I face in the Frontend part easily or at least much easier than before.
Something else if you are only a Frontend developer learning Node and Express will give you some knowledge about how the backend works and don't worry they are not hard to learn.
Also, Cloud Functions (serverless) will be easy for you when you learn node, and don't tell me why cloud functions are Important for Frontend Developers as every single Frontend developer I know knows about cloud functions.
Even if you don't want to be a Full-stack developer or you are but you don't know Node.js then I think you should learn Node and Express or even take some crash courses for the reasons I wrote above.
I hope you enjoyed this tiny article and this is article is about my thoughts and should doesn't mean must :-)
You can also buy me a coffee that would help :)
Twitter: @Amr__Elmohamady
Top comments (6)
Great that you learned about NodeJs and Express. But I have a question, why did you decide to choose to dive into web development? (I would like to have a healthy discussion about it)
JavaScript is just the tip of the iceberg in web development, and the way you are talking about PHP clearly shows your lack of understanding of the field. Yes with JavaScript you can make some great web applications, but in my opinion, if you want to call yourself a full-stack developer you should know and be proficient in the whole field, front-end (front basic html/ css/ js to a specific framework or library), backend (not only node & express) and storage management (not only document-oriented databases but also relational databases).
If you want to become a professional web developer I would highly suggest to keep an open mind about the different tech stacks and tools that are available for the field and don't be like everyone else that is becoming a web developer, a JS junky.
Why do you think for backend not only node and express?
I think it's about understanding the concepts and not about what language.
Actually, I am open-minded to different stacks and I would like to try PHP or Elixer later and I keep learning stuff like web sockets and web servers but the point of the article is its title!
I did not say NodeJs & Express is not a backend stack, I said it's the top of the iceberg. Yes you can understand some concepts with Node & Express, but most big projects do not use those tools, so if you want to learn about backend that is not enough to learn every concepts.
About the title of the article, you mentioned things you learned, but at the end you did not elaborate on why it is important for frontend developers to also learn those things.
Good luck on your journey and I hope you improve in writing your articles.
this article is about how too improve your front end skills and not how too become back end developer, no one need php in front end world but many tools are created with node, they make our life easier and it's important understand what's going on.
I agree. For a front-end dev, learning at least the basics of Node.js (or any back-end stack in general) is very useful to understand the other side. Knowing how the back-end works, you can do a better job in the front-end.
And it works both ways too, it's a great idea that back-end devs know the basics of how the client side works.
I may learn another language in the future but this is not the point, here I am talking about the Importance of learning node for frontend devs.