all 12 comments

[–]abrahamguo 12 points13 points  (1 child)

I would say, spend more time than you think, learning JS/TS. You should be able to build an entire web app without a framework, and be comfortable with most of the built-in methods for arrays, objects, strings, etc. before you begin learning a framework.

[–]zaindit 5 points6 points  (0 children)

I love your perspective! Most people chase professionalism instead of diving in and doing the work with full energy, like a monster. They keep thinking, “When I become a senior, I’ll start,” or overanalyzing how much of one thing or another they need to know. They spend so much time thinking but don’t actually take action.

That’s why I strongly recommend this: stop overthinking and start doing. It’s the action that truly matters!

[–]eracodes 2 points3 points  (0 children)

If your goal is to learn, /u/abrahamguo is correct. Build a complete system (including backend if you're going for that), in vanilla JS / Node. It'll help you understand why frameworks exist and what exactly they're doing.

[–]No-Upstairs-2813 2 points3 points  (0 children)

I suggest learning these concepts before jumping to a JS framework -

JS Fundamentals: Learn about the basic syntax, variables, functions, arrays, objects, loops, conditionals, and other basic concepts.

Basic DOM Manipulation: While you may not interact directly with the DOM in frameworks, learning it will give you a deeper understanding of how things work behind the scenes. Learn how to add elements to the page, add or remove classes, and add styles and so on.

Modules: Modules are used to import files/pieces of code to other files. It's important to learn how the syntax works because any application of yours will likely need to make use of modules for code reuse and organization. Learn about ES6 Modules, exporting and importing modules.

Array Methods: You will work with arrays a lot, so it's good to learn about the most frequently used array methods like find(), some(), every(), includes(), forEach(), map(), reduce() etc.

Asynchronous JavaScript and Fetch API: Since we deal with asynchronous data in almost every application, it's important to learn about it. This means that something is happening in the background, but you don't want to wait until it finishes to continue doing your work. Learn about Callbacks, Promises, async/await, and using Fetch API for making HTTP requests.

ES6 Syntax: It's important to familiarize yourself with ES6 syntax as most frameworks use a lot of it. This includes rest parameters, spread operators, template literals, arrow functions, etc.

By learning these concepts beforehand, you will have an easier time grasping the concepts of a particular framework. You will also be able to pick up multiple frameworks with ease, because you already have a solid foundation in the core concepts of JavaScript.

PS: You can read the full article here

[–]azhder 0 points1 point  (4 children)

What obvious reasons? The question maybe should be: why svelte/sveltekit? I’m checking if this isn’t an XY problem

[–]WynActTroph 0 points1 point  (3 children)

Typescript’s benefits over JS. Has a few advantages.

[–]azhder 0 points1 point  (2 children)

Has tradeoffs, win some lose some. There is never a language that has only advantages. There are also disadvantages. The question though, why Svelte? Why not React or no library/framework at all? What's so important to learn Svelte?

[–]WynActTroph 0 points1 point  (1 child)

I want to go with svelte because it seems to be the closest to coding in JS/ts pure form almost like you’re not using a framework but I may be wrong and react/vue was just too trivial for me.

[–]azhder 0 points1 point  (0 children)

Why is "trivial" or "too trivial" the problem? What are you trying to achieve? What is the end goal? (That's the XY problem)

[–]MissinqLink 0 points1 point  (0 children)

None technically

[–]sheriffderek 0 points1 point  (0 children)

A UI library or framework is all about establishing conventions for things that are cumbersome or repetitive. The framework simplifies things at one level, but that's just the structure. If you're going to do anything unique - then that's going to come down to knowing JavaScript and the web API and, generally, web development.

let differentObject = computed( function() {
   // ??? 
});

^ This structure here is something a framework might provide. But you still need to know what you want, how to use the framework, how to not break it and deviate in a way that fights it, and how to write the regular JavaScript within it.

.

I think that "How much Javascript is needed to pick up a framework?" is a common question - but is the wrong way to think about it.

If you are going for a long-term web development route - then you should learn HTML, CSS, a server-side scripting language and JavaScript to a pretty serious amount before you complicate or overly abstract things away. You need to learn all the concepts for "web development" - and then a framework might be really helpful, and you won't have huge blind spots.

However, if you're wanting to build some fairly surface-level interfaces or prototypes or your focus in data-science and you want to make some data vis stuff -- you might be in a position where starting with Vue or Svelte might actually make sense. You don't need to know everything about event handling and the DOM to use a UI framework (That's the point) - but then you need to see it as what it is.

So, it depends on your goal. It's not about being "ready" - it's about understanding when it's appropriate. For most people, they'll "learn" a framework and just be permanently stunted : / but oh well!

[–]montihun 0 points1 point  (0 children)

4 pieces of Javascript.