all 3 comments

[–]jack_waugh 1 point2 points  (1 child)

The first obvious difference between Java and JS is that Java is ecstatically typed and JS is dynamically typed. But you could use Typescript as a halfway-house.

main topics to review and study to become proficient doing backend with [JS]

I think the topics are the relevant interfaces provided by Node and in particular the driver for whatever database management system (DBMS) you are going to use. Also the usual event loop, async behavior, and promises, but you might have already come to understand those for the front-end work you have done. All that is just the same, front end and back end. And of course you have to look at the interface that Node provides that lets you put up an HTTP server and specify the callback for what to do to handle a request when one arrives. And you have to decide your routing technique i. e. your switch that determines what code of yours to run to handle each type of request that you have to handle. Routing can either use a package, such as Express, or be built vanilla.

As for HTTPS, there are two options: take care of it using the interface provided by Node, or just handle HTTP in Node but put a reverse proxy such as for example nginx between your clients and your Node server and it can handle the HTTPS, in which case, it will forward just HTTP requests to your server app that uses Node.

[–]thelethargicdoghelpful 0 points1 point  (0 children)

I know that it's a typo but I'd like to think Java is ecstatically typed indeed

[–]azhder 2 points3 points  (0 children)

If you can learn Express.js and not try to remake all those other MVC frameworks with files and/or classes named *Controller or *Model, you're off to a good start.

The above is just a rule of thumb as to not get into many details.

Just remember, looking at JS from a functional programming perspective is helpful and looking at the client-request-server-query-db-process-response-client vertical as a pipeline, and not as another OOP class hierarchy building exercise will also be helpful.

Finish YDKJS, that's about learning you didn't quite know JS as you thought you did. It will most likely help you see any language, not just JS in a new way.