![](../resources/blogs/blog-6.png)
1. Responsive design
There’s nothing worse than finishing your desktop website, and looking at what it looks like on a smartphone, and realizing that each container runs its own policy. Therefore, it is important for every front-end developer to master responsive design and media queries. On the freeCodeCamp.com website you can find a free 300-hour course, which will surely improve your development skills.
2. CSS preprocessors
Nobody wants the same code to be written hundreds of times. And than when you have to edit that code, e.g. change the theme color of your website, it becomes suffering. CSS preprocessors are there to help us, and raise the functionality of basic CSS to a new level.
3. jQuery
One of the best JS libraries, it allows you to manipulate the DOM in a more intuitive way. Easy to learn, write and apply.
4. JS frameworks
Frameworks are tools that change the way code works. Their goal is to simplify and upgrade the functionality of JavaScript, often changing the complete code structure and writing design. There are a large number of JS frameworks, which compete with each other for supremacy in the JS world, periodically releasing new, increasingly powerful upgrades. Currently the most popular among them are React, Angular and VueJS.
5. Asynchronous programming
Asynchronous programming allows web applications to remain responsive even when multiple tasks are being processed simultaneously. User interaction, such as a search filter or a mouse click, occur independently of the predicted application flow. Therefore, the application waits for the user's action and then reacts depending on it. Various techniques (promises, observables, callbacks) support the process of asynchronous programming.
6. Packages
Why invent hot water, when someone has already done it for us. Packages are ready-made pieces of code, which we can use in our own projects. For example, calendar, reservations, etc.
7. UX design
You need to know the end-user of the website. UX design includes research on the end-user, their steps and goals. Based on a problem, we search for solutions. With the help of a prototype, we allow the client to test the solution, before implementing it. Also, prototypes help us to understand what other improvements need to be done before the final implementation.
8. UI design
When we are done with the designs and structure, we move on to the aesthetic appearance of the application - the user interface. This area of design is much better known to the frontend developer than the previous one, but that does not mean that it is less demanding and that less effort is needed to master the basics. UI design implies that before the start of coding, a complete visual appearance of the future application is created using some of the software tools (Adobe Photoshop, Sketch, GIMP…).
9. Version systems
Numerous tools exist for code versioning, but somehow the most used by developers is GIT. Whether you work alone or in a team, it is very important that you keep your code on one of the software specialized for versioning and have an insight into the changes that occur over time. Another significant advantage of GIT is the ability to branch code, so that certain functionalities of the web application are coded in isolation until they are fully completed, and then it is possible to merge them back to the code fully edited.
10. Editors
Although all beginners in programming are advised to use Notepad to better learn the basics of programming without using IDEs, for more serious work it is absolutely necessary to use advanced editors, which not only allow faster and clearer code writing, but also check for frequent syntax errors. They offer the ability to supplement code depending on the programming language, offer element definition, help debug the application, and have integrated versioning control. C urrently the most popular frontend editors on the market are VS Code, WebStorm, Atom and Sublime Text.