Прыгаем в гущу событий и начинаем разбирать что же за диковинка такая веб-программирование. Зайдем с того, что конечный продукт веб-разработки зовет себя веб-приложением и состоит из клиентской и серверной частей, что кстати не всегда должно быть обязательным условием, но все же большинство веб-приложений задействуют именно обе части. Для работы веб-приложения в обязательном порядке требуется браузер, ведь именно благодаря нему клиентская часть взаимодействует с сервером. Думается теперь понятно почему веб-приложение имеет приписку “веб”, однако все же непонятно что такое клиент и сервер. Для более понятного объяснения возьмем любимую всеми площадку Youtube. Ну так вот, все что видно на страничках ютуба это клиент, другими словами клиент = интерфейс. Сервер же нужен для того, чтобы хранить и обрабатывать данные, например, комментарии под видео.
Так как создание веб-приложения — это довольно трудоемкое занятие, будет отличной идеей сконцентрироваться в основном на одной из частей приложения. Тех, кто решил углубиться в создание клиента зовут фронтендами (frontend-developer), а серверных работяг - бэкендами (backend-developer). Но ведь могут и найтись такие, кто захочет сесть сразу на оба стула, так ведь? Для таких тоже есть название, зовут таких фуллстаками (fullstack-developer). Но не спешите думать, что учить все и вся это полезная затея, тут вот уже можно споткнуться о первый подводный камень. Знать все это несомненно круто, но информации в сфере веб-разработки настооолько много, что выучить все на действительно хорошем уровне будет очень трудной задачей. Всегда будет цениться больше тот разработчик, который действительно разбирается в своей нише, чем тот, который вроде как бы и знает и о том, и о сем, но в действительности за глубокие моменты пояснить навряд ли сможет. Так что если только вкатываетесь в веб-разработку, то посидите на каждом из стульев, а затем определитесь на каком из них спинка удобнее именно для вас.
Теперь о том какие же инструменты лежат в ящичке у каждого бэка/фронта. Начнем с бэкенда. Для написания серверов используются разнообразные языки программирования со своими фреймворками. Для тех, кто может быть не знает, что такое фреймворк, если говорить простыми словами, то это некий “каркас” приложения, который облегчает разработку этого самого приложения. Ну так вот, языков для создания серверов действительно много, например, это может быть многими любимый Python с его фреймворком Django, или прекрасный C# с его крутой платформой .NET, да даже на великом и ужасном C++ можно написать сервер. Вообщем языков и правда много и весь их список можно найти где-нибудь на просторах интернета, а теперь затронем еще один инструмент бэкедеров - базы данных. Нужны они для хранения данных. Да, вот так вот коротко и просто. Ну вообще-то все не так уж и просто, но время у нас не резиновое, так что идем дальше.
Переходим на фронт и смотрим какие тузы в рукаве припрятаны у него. В качестве языков программирования используются всего два: JavaScipt и TypeScript, второй кстати является младшим братом первого с главным отличием в том, что он строго типизированный, а JS - динамически типизированный. Вообще конечно можно использовать еще C# с его фреймворком Blazor, но особого распространения он не нашел. Как и на бэке, на фронте тоже применяются свои фреймворки, и держится весь фронт на трех столпах React, Vue, Angular. Самый популярный из всех троих на данный момент это React, именно его можно чаще всего увидеть во многих вакансиях. Вот только, то что он самый популярный не значит, что другие два фреймворка хуже, чем он. В этом плане выбор остается за вами, какой из фреймворков вам покажется наиболее приятным, на том и пишите. Ну и два главных инструмента любого фронтендера — HTML и CSS. С помощью первого создаются элементы страницы, а с помощью второго можно менять их внешний вид и местоположение на самой странице.
Сфера веб-программирования очень огромная и за один присест рассмотреть её всю, увы, не выйдет, поэтому сделаем передышку и в следующий раз уже поговорим немного побольше именно о фронтенде, а может быть и не о фронтенде, а может быть и о чем-нибудь совершенно другом, поживем - увидим)