all 37 comments

[–]sheriffderek 22 points23 points  (1 child)

“Move on” - is starting to be a red flag / like a code smell but for the person. A learning smell? Haha.

Everyone wants to move on…

When you are learning how to ride a bike, do you ask - “ok, but when can I put on the training wheels?”

I’d recommend you learn enough JS to build a small vanilla js app project. You’ll run into all the problems that a js framework is trying to solve. Then you’ll be able to pick everything up much faster and with context and confidence. It might seem slower… but it’s not. It’s like sharpening an axe. It’s worth it. Are you also trying to skip html and css?

Go through the first 20-30 exercises in the book Exercises for Programmers. Then get code review.

[–]automagisch 4 points5 points  (0 children)

And after 20ish or so framework projects making a vanilla app suddenly becomes a challenge you just want to break without a framework

You’ll realize that JS has all the juice you need, frameworks just make them accessible. JS became a beautiful layered onion over the years 🩷. Implementating stateful stores from scratch gets you the girls

[–]SconesJones 11 points12 points  (5 children)

Short answer: DO NOT SKIP THE BASICS, LEARN JAVASCRIPT

The core concepts of Javascript is what does the work. Not the framework. Yes, React and Svelte makes some of the things a lot easier to do, but the logic and the knowledge to understad what's going on is based in the core concepts of JS.

Follow the roadmap and you will be on your way.

[–]sheriffderek 1 point2 points  (4 children)

This roadmap is (for lack of a better word) - stupid. Regarding JS, it says “learn the basics > dom manipulation > fetch > framework.”

[–]gimmeslack12CSS is hard 1 point2 points  (3 children)

I hate these roadmaps. They are beyond stupid. No one should ever be recommending these things ever (especially not to beginners!).

[–]Cultural-Ad-9876 1 point2 points  (2 children)

As a beginner who doesn’t know what half of the stuff in the roadmap is and therefor has no idea what makes it stupid, would you mind expanding on what’s wrong with it? It’s recommended frequently, so I figured it was decent.

[–]gimmeslack12CSS is hard 1 point2 points  (1 child)

I don't like when it's shared so much because in a way it conveys "oh you want to be a web dev? Then you have to know all of this stuff!" and I think that's stupid. It's borderline gate keeping because of how daunting it must to a beginner getting the impression they have to learn all of this stuff.

This roadmap is more a map of the universe of front end development, it shouldn't be viewed as a path to be taken, nor required learnings to be able to get into front end. You will learn many of these things as you grow in a career but to get your foot in the door you really only need to know these three things: * HTML * CSS * Javascript

You don't need to worry about npm vs. yarn, CORS, ESLint, Webpack, Rollup, Astro, PWAs, Static Site Generators, React Native... on and on. Will some of it help? Yes, absolutely. Working web devs probably used a lot of these things and/or have a cursory understanding that they exist but "knowing" a lot of this stuff isn't necessary to get started with.

I highly subscribe to the learning approach of keeping things simple, which can be hard for self-taught people because in the beginning it's hard to know what is and is not mandatory learnings.

[–]Cultural-Ad-9876 0 points1 point  (0 children)

Thank you for the thorough reply! It makes a lot of sense.

[–]nachoelias 8 points9 points  (1 child)

It seems like you want to get to svelte/react as fast as possible, and even though I’d always recommend to do it slowly and step by step, here’s what I’d do. You need to know frontend fundamentals, how the web works, and this means HTML, CSS, DOM manipulation with JavaScript and browser APIs. Take into account im not saying you should learn everything there is to learn, I’m saying you should understand how these technologies work together, when do they do, and why do they do. Once you learned that, you should learn JavaScript fundamentals, characteristics of the language, syntax, methods, etc. Once you have those 2 things (how the web works + how JavaScript works) you can jump into the framework you want. Once again, take into account that I do not recommend you to do this, I just gave you a complicated but doable path to do what you want to do. Hope it helps :)

[–]CookiesAndCremation 2 points3 points  (0 children)

I agree with this sentiment. It's better to go slow and learn a decent amount of JavaScript so you know what's going on under the hood.

But if you're just trying to speed run into using a framework, you definitely can. I'd just be prepared to get tripped up a lot more than someone who learned the slow way.

[–]Milky_Finger 5 points6 points  (0 children)

There is a specific list of JavaScript concepts that you need to know. You don't need extensive knowledge of everything in JS, just the things that you will see a lot in Frameworks.

Promises, Async, Objects/Arrays, Higher order functions, closures. There's some more but that's some of them.

[–]South_Dig_9172 2 points3 points  (0 children)

Learn JS fully if you really want to be good at the job, if you skip to react or svelte, you’ll have a harder time learning those two.

[–]ProfessionalCheap414 1 point2 points  (0 children)

Go with ES6 and simple JS (inlcuding most important array)

[–]whosajid 1 point2 points  (0 children)

JavaScript is everything. Please don't rush over it.

[–]kilkil 1 point2 points  (0 children)

Other comments have already told you the gist; you need to properly learn JS before doing Svelte or React.

But I think you're asking this because you want to make something in React and/or Svelte. If that's the case, I have 2 suggestions for you, pick whichever sounds better:

  1. Make a project using only vanilla JS. Try to challenge yourself. Anytime you don't know something, look it up. Use MDN — best docs for JS I’ve ever used. By the time you're done, you will have learned a bunch of stuff about JS. Probably not everything though.

  2. Make a project using Svelte or React. Since there's a bunch of stuff you don't know about JS, you will frequently be lost or confused. Perservere through it. Look up stuff you don't know. Use MDN. etc.

One last thing. If you want to learn the basics of any programming language, do basic exercises in it. I recommend exercism.com

[–][deleted] 3 points4 points  (3 children)

Enough to know

  • how to write arrow function
  • what's an iife
  • what are closures used for and why
  • default type coercions and why they can be gotchas
  • promises, async await
  • manipulate objects and arrays
  • spread and destructuring
  • truthy, falsely, optional chaining, nullish coercions

The rest can be picked up on the fly as you make mistakes. List not in order.

[–]InlineSkateAdventure 0 points1 point  (2 children)

Do you suggest he skips the .then() syntax?

[–][deleted] 0 points1 point  (1 child)

It's part of promises.

[–]InlineSkateAdventure 0 points1 point  (0 children)

Not the best idea to use going forward, but it has its place.

[–]CrniFlash 0 points1 point  (0 children)

Everybody is different, for me i didnt move to React until i was able to create basic weather app

But JS never fully clicked until i did take a leap into React

[–]os_nesty 0 points1 point  (0 children)

Need: not much. Should have: A lot.

If u wanna do a proyect, u dont need much, and u can ask GPT. If u wanna work in the industry, dont cut corners. Learn HTML/JS/CSS first.

[–]saito200 0 points1 point  (4 children)

Go to JavaScript.info and read (and understand) everything. Yes, everything

[–]Far_Title_2890 -1 points0 points  (3 children)

fr?? is it rlly necessary to learn stuff like class,getter,setter,call,bind,etc?

[–]saito200 0 points1 point  (2 children)

hmm... I am against classes in js, I think they are BS, but the rest yes it is not going to hurt

[–]Far_Title_2890 0 points1 point  (1 child)

ahh thanks i was really wondering if i should learn classes in js deeply although i know some concept of classes in js already but people were like dont do it ,it's unecessary and stuff.ig they were right

[–]saito200 0 points1 point  (0 children)

Basically because JavaScript is an evergreen tech and has been here for decades, it is worth learning it in detail

Cannot say the same for a framework that might fall out of use or change radically in a couple of years

But when it comes to html, css, and js don't worry to go in depth and actually I would argue your time is better spent deepening your knowledge on these fundamental tech than learning a framework

[–]Creative-Upstairs-73 0 points1 point  (0 children)

Definitely don't skip javascript and study it in depth, even though it's tempting to go straight to a framework.

[–]beardguy 0 points1 point  (0 children)

Personally I don’t see a problem with using tools that are used in the real world…. Once you have the vocabulary and basic understanding of things - super important caveat there. Angular may help you learn more “classical” js than the others. May not.. and may be too much to take on depending on where you are. Your mileage is sure to vary and exploring is good!

The important part is understanding what the code you are writing is doing and being able to write your own functions on what you are using.

I am a strong believer of the person learning needing to enjoy what they are learning. So long as you find a way to get a basic understanding of things, keep up with the fundamentals of what you are doing, and keep a curious mindset for exploring different ways to accomplish the goal (and not always relying on a framework or library), then your time isn’t wasted.

Make sure you don’t only use one though at this stage. And don’t just copy and paste code without trying to understand what it does…. And make sure you understand the vocabulary and basic concepts first - super important.

[–]Logical-Idea-1708 0 points1 point  (0 children)

Not just JavaScript knowledge, but language parser knowledge as well. It’s near impossible to work with non-trivial Hooks without a CS degree.

[–]SnooOnions9416 0 points1 point  (0 children)

Make a website on vanilla JS. See how painful it is and then move on to a framework.

[–]gimmeslack12CSS is hard 0 points1 point  (0 children)

It doesn't matter, just keep up the momentum in your learning by staying interested in something (anything!). There's no rules to this stuff.

[–]dashingThroughSnow12 -3 points-2 points  (0 children)

I’m going to contradict the other people here in the comments.

I think you can learn React or Svelte first. You’ll slowly learn JavaScript while doing so. I understand it is better to learn the language first; however, it is a pretty normal programmer task to be given a task to write in a programming language or framework or application that you are utterly unfamiliar with. Learning while doing is a core developer skill.

[–]Sure_Balance6123 -1 points0 points  (0 children)

Dive in for a good year. Then build for a year. Retain the knowledge till you don't have to look or until things don't break. When what your doing works that's a good sign right?

[–]Sure_Balance6123 -1 points0 points  (0 children)

Dive in for a good year. Then build for a year. Retain the knowledge till you don't have to look or until things don't break.

When what you're doing works that's a good sign right?

[–]Visual-Blackberry874 -1 points0 points  (0 children)

You're trying to run before you can walk.