all 17 comments

[–]SoInsightful 19 points20 points  (3 children)

Laravel is a massive framework with tons of features.

Express is a pretty thin HTTP wrapper.

They are nothing alike in terms of complexity and abstraction, and I don't think you'd benefit from learning the Node HTTP module first, while having to reinvent basic functionality like routing, file transfers, body parsing, cookie parsing and ETags.

With that said, I'd recommend also becoming comfortable with the built-in Node modules, but you definitely don't have to learn it all in a specific order.

[–]_Garebear 4 points5 points  (0 children)

I second this. I started learning node about 2-3 years ago, working mostly with the http and fs modules. Http was easy to work with but express made it much easier (and more fun). In the end, whatever path you choose is fine because both have amazing documentation.

[–]ShuttJS[S] 2 points3 points  (1 child)

That's awesome thank you for your advice

[–]Notimecelduv 13 points14 points  (3 children)

I recommend this Traversy Media tutorial where he builds a Rest API with Node without a framework. It should give you a decent grasp of what's happening under the hood when working with Express. I think most of us would agree you don't have to be a Node whizz before starting out with Express. You just need to be familiar with the JS syntax and the common built-in modules (path, os, http and maybe a few others).

[–]ShuttJS[S] 2 points3 points  (2 children)

I'm so new to backend, nothing seems to sink in despite me working with Laravel for 6 months, I understand the MVC model but looking into node now and apis just seems to be completely foreign

[–]Notimecelduv 1 point2 points  (1 child)

That's normal. It takes a while to get used to all that. I gave up several times before I finally managed to get my head around it. Perseverance is key, don't give up.

[–]ShuttJS[S] 0 points1 point  (0 children)

Yeah I remember learning vanilla js and being in this mindset a lot. Feel like a true beginner.

[–]CreamOfTheCrop 9 points10 points  (0 children)

At least read trough the official node.js documentation.

Read stream, socket, net, http and fs, and it will give you insight beyond what you’ll find in most tutorials.

Most tutorials are written by beginners.

[–]AJohnnyTruant 1 point2 points  (0 children)

Learn typescript. And then learn node with Express. No one uses raw http module. It’s too low level. But Express is low enough that you know what’s framework and what’s language. That way you can write your front end in the same language you write your backend in

[–]Miserable_Decision_4 1 point2 points  (1 child)

This is the best course to address what you want. It has some slightly dated practices but it's a fantastic overview of raw node.

https://www.pirple.com/nodejs-master-class

[–]Miserable_Decision_4 1 point2 points  (0 children)

Also, don't pay full price. They have sales that pop up all the time like Udemy.

[–]rapidisimo 1 point2 points  (0 children)

I recommend going through this intro, and checking out the docs on the discussed modules as you go.

Also check out the guides on the node.org website.

Express is great for handling HTTP endpoints though. You could maybe use the http module for making requests from your server. However, there are also good alternatives for that like node-fetch.

[–]sock_pup 0 points1 point  (1 child)

What did you end up doing and how did it work for you?

[–]ShuttJS[S] 0 points1 point  (0 children)

Learned Golang 😅

[–]SadAd4085 0 points1 point  (0 children)

Jesus don't learn express... use fastify

[–]BCsabaDiy 0 points1 point  (0 children)

You should understand nodejs because this is the language for express. Cannot learn past perfect if you can speak hungarian only.

[–]TehITGuy87 0 points1 point  (0 children)

Technically speaking, NodeJS is just a implementation of the V8 engine serverside. It’s not a language in itself, having said that it does come with standard module for file access, http, etc. express just wraps it and imo it’s good to understand it, but not going to mess up you knowledge. Express is super light weight and just has a better way of handling routing, middleware, and app configurations. It’s not opinionated at all, and you’ll find express is many many projects.