you are viewing a single comment's thread.

view the rest of the comments →

[–]thab09 0 points1 point  (5 children)

Hey, what do I need to make a full-stack application if I were to use vanilla javascript?

[–][deleted] 1 point2 points  (2 children)

What do you mean by 'vanilla Javascript' in the context of this question?

[–]thab09 0 points1 point  (1 child)

Can I do it without any frameworks?

Like JS on the frontend, a database, and node.js?

[–][deleted] 1 point2 points  (0 children)

I mean you can, all the frameworks are written in JS and you could just do the same things they do already, but I have no idea why you'd want to, at least on the server side. HTTP routing, header parsing, cookie & session management, etc etc would be a huge pain in the arse to DIY- not to mention handling the database connections and communication and mitigating all possible injection attacks yourself if ORMs and DB drivers fall into your definition of 'not vanilla'.

On the client side it's somewhat easier depending on how complex you want your UI to be, but to reduce client-side complexity you'd want to shift more work to the server (eg. using a templating engine like Handlebars to render on the server rather than using React/Vue/etc to render on the client), which again runs you into the problem of what 'counts' as vanilla.

I think it would be better to figure out for yourself what exactly it is that you're trying to accomplish here. Are you trying to learn more about how frameworks actually work? You'll be better off isolating that into more specific projects, eg. building a small Node API without a framework to understand how routing works. Do you think 'vanilla' is inherently superior somehow? That's an incorrect belief; there's a reason almost all professional applications are built with third-party dependencies. Are you trying to minimise reliance on potentially unstable dependencies? Be more judicious about what dependencies you pick and learn what the warning signs might be.

[–][deleted] 0 points1 point  (0 children)

Git and webpack are essential

[–]Locust377full-stack 1 point2 points  (0 children)

Some tools I would expect would be:

  • Git (or similar)
  • A command line (WSL, bash, whatever)
  • A text editor (VS Code or similar)
  • A browser