Hello World! В последней статье про язык программирования JavaScript я упоминал про то, что он в большинстве своём используется в веб-разработке, а в частности во фронтенде. Давайте сегодня мы наконец разберёмся, как именно устроен мир веб-разработки.
Любой веб-сайт состоит из двух основных частей: клиентская и серверная. Следовательно, за каждую часть отвечает отдельная каста программистов. За клиентскую отвечают фронтенд, а за серверную – бэкенд разработчики.
Frontend
Предлагаю начать с фронтенд, поскольку с ним вы встречаетесь ежедневно. Фронтенд – часть, работающая в браузере, с которой пользователь взаимодействует напрямую. Если брать пример из реальной жизни – это своего рода официант, который принимает ваши заказы и приносит вам уже готовое блюдо. Всё, что вы видите при открытии сайта – дело рук фронтенд разработчика. Это динамические интерфейсы, меню, изменения при действиях пользователя и многое другое. Если сайт не был адаптирован под смартфоны, то вы уже знаете, кто виноват в вашей беде.
Какие навыки нужно иметь, чтобы стать фронтенд разработчиком:
– писать и читать на HTML, CSS, JavaScript/Typescript;
– знать минимум один фреймворк из: Angular, Vue, React (что именно учить – зависит от компании, куда вы хотите попасть);
– работать с сетками Bootstrap и Grid Layout;
– понимать принцип работы HTTP;
– знание git (Про то, что такое git мы поговорим в будущем).
Backend
Бекэнд – серверная часть приложения, которая не видна пользователям. Если фронтенд является вашим официантом, то бэкенд – ваш шеф-повар, который приготовил вам стейк средней прожарки, и передал его официанту. Авторизация, хранение и обработка данных, рассылки и всё тому подобное – владения бэкенд разработчика. Когда вы хотите купить кухонную гарнитуру в интернет-магазине, но фильтр выдает вам автозапчасти, знайте, что бэкенд разработчик сделал что-то не то.
Навыки бэкенд разработчика:
– знать язык программирования, который используют в бэкенде;
– разбираться во фреймворках под нужный язык (Django для Python, Node.js для JavaScript, как пример);
– понимать принцип работы баз данных (реляционные и нереляционные) и знать SQL;
– также важно знать git.
Fullstack
Есть еще одна особенная категория разработчиков. Это фулстек разработчики, которые разбираются и в фронтенд и в бэкенд. Эдакий швейцарский нож, который может всё. Если продолжать метафору с рестораном, то фулстек – это хозяин небольшого кафе без персонала, который и принимает, и готовит, и разносит заказы. Делает всё он медленно, да и стать одновременно профессиональным шеф-поваром и официантом ему будет трудно. Однако, он в курсе всех процессов – от начала до самого конца. Становиться фулстек разработчиком не самая лучшая идея, так как, во-первых, практически все компании пошли по пути разделения труда. Во-вторых, чтобы стать профессионалом лишь в одной из областей уйдет минимум несколько лет. Каких-то особенных требований к фулстек разработчику нет. Единственное, он должен знать всё то, что знает и фронтенд и бэкенд разработчики.
На этом на сегодня у меня всё. Да пребудет с вами сила.