web development

Web development – where to start?

Programming

Recently on the stack overflow site I saw a question in which a C ++ programmer asked what you need to start learning in order to later become a web developer. In his words, he began by studying php, but on the advice of friends he switched to reality, at some point he discovered an angular for himself, as a result, a mess formed in his head, and there was no understanding in which direction to move. It is for people who have just come to the web that I decided to share this article so that they have a rough understanding of what is here.

Any web application consists of two parts: a backend and a frontend. Accordingly, programmers are also divided, in fact, these are two unrelated castes of developers.

Backend

The backend is the server side of the application that is not visible to users. This includes: authorization, storage and processing of data, email newsletters and the like. Let’s just say the backend is what’s under the hood.

There are many programming languages ​​here, here are the most common ones:

• Php
• Asp net
• Java
• Python
• Ruby
• Node js

I advise you to choose the only one, because at least several years will pass with the current requirements for programmers to reach the middle level. When choosing, you can familiarize yourself with the vacancies in your city, see which ones are more suitable, where they pay more and depending on which language they need to choose it from.

The server is used in many ways to work with data. Therefore, you will need to learn at least one of the relational databases:

• Oracle
• MSSQL
• MYSQL
• Postgres

In terms of complexity, this is about the same as mastering a programming language. All of these databases have a part that is the same everywhere – the so-called sql (query language), as well as a procedural language that is different in each database. Since sql is still one, and it is the basis for everything related to data processing, switching to another database is not such a problem. Therefore, you can choose any for a start, but even here I would go according to the principle of vacancy analysis.

Personally, I put a plus in the direction of learning the backend, since the skills here are more static and after learning, you can work on something once for a long time.

Frontend

Frontend – a part that works in the browser with which the user directly interacts. These are dynamic interfaces, menus, events by user action, data exchange with the server side, in general, what happens on the client.

The programming language here is one javascript. On the one hand, this is a definite plus, since after studying it, all companies in your city that are engaged in web development will be open to you, and now many are doing this. On the other hand, there are nuances.

JavaScript currently has two standards that are widely used: ECMAScript 5 and ECMAScript 6. The difference between them is that ECMAScript 5 lacks a full-fledged RPO. ECMAScript 6 has it, but since this standard appeared relatively recently, most of the applications are already written in ECMAScript 5, as a result of which it will be necessary to master both standards and, as a result, two different approaches to development.

Another point that needs to be taken into account is that the same code written in javascript can work differently in different browsers and on different operating systems. With the current requirements for applications, it will be necessary to write correctly the so-called cross-browser code, that is, the code, the result of which will give the same result everywhere. There is no specific manual for writing such code, in this case forums and ok Google will help you.

The problematic points I described are solved in modern js frameworks (for example, in angular and react). But in projects that are written without using frameworks, these moments remain.

For me personally, an even greater disadvantage is that there is a very rapid development of trends. The versions of frameworks are constantly updated, new libraries are released, and everyone wants to start using them right away. In general, the community cannot be kept up.

Full stack

Already from the name it should be clear that this type of developer is developing both parts. I do not advise trying to become such a developer, because learning all the brains is not enough in any case, and most companies have already taken the path of division of labor. However, full stack is where you need to start to take a step towards backend or frontend. Having developed a couple of small applications, you will understand the difference between them (and it really is) and will be able to decide which side is closer to you.

I once read the book “Create dynamic websites” by “Robin Nixon” to decide. The book is small, only 500 pages, but thanks to it I got a general idea of ​​web development and I boldly made a choice towards the backend, which I still do not regret. I gave this book as an example, you can take any other, it doesn’t matter.

That is, in principle, all that I wanted to share, I wish all those who have come to the web good luck and speedy development.