Got lost in JavaScript? This is not surprising, but, fortunately, you have us and we will not let you disappear 😊
Our JavaScript guide for beginners will help you turn into a confident JS-city dweller.
Asynchrony at the heart of everything
Once on the web, there were only boring static pages, and any action required a reload. That era is in the past, it was replaced by cool responsive applications that can communicate with the server in the background not disturbing the user. Asynchrony has radically changed the JavaScript language and has become the main principle of web development. Therefore, our guide strongly recommends to deal with this concept. Studying callbacks, promises and asynchronous functions is not a waste of time. The next step in this direction is the study of the fetch function, a convenient alternative to the classic XMLHttpRequest.
Why do we need frameworks
Frameworks have become such an important part of modern JavaScript, it seems that they have always been.
Why did this happen, why do JS frameworks exist at all?
Because in web development there are some important things that are not directly native in the language. They are needed to one degree or another in almost every project. You have to write your own implementation from scratch or use a ready-made framework.
Data binding
Data binding between the view and the controller is an important part of modern applications. It is necessary to synchronize the user interface with real data changes. All frameworks have some way to do this, regardless of whether they are a complete embodiment of the MVC, MVVM model, or just a presentation layer.
Reusable components
The biggest achievement of AngularJS is the introduction of trend to the component structure of the application, which was quickly picked up by both Vue and React. This idea was so successful that a special interface of web components appeared in the language itself. Unfortunately, it does not have a data binding mechanism, so frameworks are still irreplaceable.
Learning JavaScript frameworks properly
Choosing a framework for learning, remember - this is just a tool to increase developer’s opportunities. You must understand exactly what problems the language solves in this way. The frameworks will change, but with a similar understanding you can easily figure out any of them.
It often happens that Junior JavaScript developer, not yet having enough experience, dives head over into some kind of framework and starts to consider his way of working as the only correct one. The solution to this problem is quite interesting. To understand that frameworks are not an end in themselves, you need ... more frameworks!
In linguistics, it has long been known that it is useful to study similar languages simultaneously. This allows you to better understand their structure, noting the similarities and differences. Knowledge of two JS frameworks works in the same way.
If you have several ways to solve the same problem, you begin to better understand the problem itself.
What is under the hood
JavaScript programming at the present time is quite complex and goes far beyond vanilla JS. We use many different tools to perform routine tasks and assemblers to combine them into a single coherent mechanism.
Assembly - one of the most "black magic" processes. Not every experienced JavaScript developer understands how you get one file with processed and optimized code from a simple config and heaps of unrelated modules.
Assembling is the fastest growing area in JS. Productivity is growing rapidly, the size of the bundle is rapidly decreasing. Developers squeeze everything out of the process. That is why you must understand this magic. It is incredibly important to understand what the tools you use do. How exactly they convert your code and in what order. How your modules are packaged and how you can influence the build process. Do not put your program at the complete disposal of the assembler, continue to control it.
TypeScript is a new JavaScript
TypeScript is a JavaScript superset with static typing and a classic OOP-model. Classic JS sometimes lacks these features, but not only they caused TypeScript to be popular. Its main advantage is a clean and reliable code. TypeScript not only checks the program after the developer, but also encourages him to control himself better, encourages the development of good coding habits.
A novice developer does not need to thoroughly study TypeScript (although there are many interesting things there). At first, it is enough to familiarize yourself with the basics: type annotations for variables, properties of classes, and function parameters. Understanding these rules and following them will save you from many mistakes even in classic JS, you will become a much more disciplined developer. It's funny that among the most important topics to study in modern JavaScript, only one relates to vanilla language. But this is the reality. Now mastering the infrastructure of the language is even more important for success than to understand its intricacies.