Before learning any Java Script Framework....
Are you planning to start learning any front-end framework and confused which one to pick? Then this article is for you.
Hey! What's going on guys.
Hold up. Wait a minute! Let me spoil your anxiety and confusion right now. Because whatever you think is not correct. Believe me!
Even though there are different front-end frameworks, most of them do the same thing. In addition, yeah of course, every framework will do it in a different way, they have different syntax and different build process, but the overall concepts are pretty much the same. I will talk about it a little later but, I think the most important thing that you have to worry about is do you know enough Java Script? You need to focus on learning the core fundamentals of Java Script. I don’t just mean what a variable is and what a function is and what an array is, of course you need to know that but go further and learn at least ES6. You want to look at Promises, HTTP requests, higher order array methods like map, filter, reduce etc.
The reason I am saying this is when you talk about frameworks, they are basically Java Script frameworks so, JS is at its heart. I have actually written many articles explaining different high-level things in a very easy way. Here are the links:
- Let us finally understand
- Convert Your Traditional Functions into Arrow Functions in 3 Simple Steps
- Looping over Arrays: for vs. for-in vs. .forEach() vs. for-of
The biggest Myth
Another way to really sharpen your skills is being good at algorithms. This is kind of optional in a front-end framework because not everyone like algorithms, even I don’t like them but I do see how they come in handy while writing logics in the most efficient way when there are multiple ways of achieving that solution.
What you should really care about
As far as a framework concerned, there are only two important concepts that you need to know about. Those are:
- What is a component?
- What is a state?
Components are just encapsulated pieces of your user interface. For instance, if we want to build a home page containing a nav bar, body, some cards and a footer as shown below.
In a front-end framework, each of them are considered as a component of home page.
State and State Management
A state is a representation of a system in a given time. State refers to the data stored in Application in the form of a string, arrays, object, etc.
State management is a method of managing the state. As an application grows, so does the complexity of managing the state. In a big application where you have a good number of views/components, managing their state is a big pain. The main job of any UI Library or framework is to take your application state and turn it into DOM nodes, that's why arranging state in a better way lifts the overall health of the application.
I like to think of my application as a bunch of components and then a cloud that that kind of hovers above the components - that is my state and the state can rain down data into components that need it.
Therefore, the main conclusion is whatever the framework you want to choose, just choose it and start with it. However, the only rule is you need to be reasonably good at core Java Script. In addition, going forward, do not mind about what people are saying about the framework you pick up. Because as far as you understand core concepts of java Script and what does any framework do for you, it’s very easy to learn other one. So, that’s pretty much it for today. Hope you learned something new today.