На back-end пойдешь — сервером заниматься будешь. На front-end пойдешь — интерфейс придумывать будешь. На fullstack пойдешь — все сразу делать будешь. Куда сам пойдешь, а куда друга отправишь?
Что такое веб-разработка?
Веб-разработка — это комплекс действий, связанный с созданием веб-сайта или приложения. Разработку можно разделить на два взаимосвязанных элемента: фронтенд и бэкенд. Первый отвечает за видимую часть сайта или приложения — пользовательскую, а второй — за скрытую, серверную. Рассмотрим их поподробнее.
Если сравнить сайт с человеческим телом, то фронтенд — это все действия человека, его манера речи, мимика, реакция на внешний раздражитель, образ жизни, а бэкенд — это внутреннее функционирование органов, нервных окончаний, общих мыслительных процессов — все то, что мы не видим.
Что такое фронтенд?
Находясь на сайте, вы видите результат работы фронтенд-разработчика. Само название «frontend» говорит о переднем крае взаимодействия с посетителем сайта, такая своеобразная передовая в мире интернет-ресурсов. Для фронтенда важно, чтобы интерфейс был понятен и удобен пользователю, при этом он должен слажено работать с серверной частью — бэкендом.
Фронтенд-разработчик использует три основных инструмента в своей работе: HTML, CSS и JavaScript.
HTML (HyperText Markup Language) — это язык разметки сайта, его каркас. Веб-сайт состоит из одной или несколько HTML-страниц. Без этого языка на интернет-ресурсе было бы невозможно находиться и взаимодействовать с ним, так как HTML структурирует весь код и данные в блоки.
CSS (Cascading Style Sheets) — это оформление страницы. Красивые кнопочки, цвет и шрифт текста, фон — общий стиль и дизайн, задающие тон всему сайту. Без CSS веб-страницы выглядели бы блекло и скучно.
JavaScript — «дыхание» сайта. Этот язык программирования позволяет оживить интернет-ресурс, добавляя анимацию и движение различным его частям.
Помимо этих трех важных инструментов, существуют фреймворки, которые облегчают разработку сайта и добавляют ему разнообразные интересные функции.
Код можно посмотреть, включив инструменты разработчика на любом сайте. Обычно это клавиша «F12». Это текстовый результат работы фронтенд-разработчика.
Вооружившись всеми инструментами и фреймворками, можно создать классный и удобный сайт, но без проработанного бэкенда толку от него будет мало. Просто красивая пустышка.
Что такое бэкенд?
Когда пользователь кликает по какой-нибудь ссылке на сайте, браузер отправляет запрос на сервер. В этот момент за работу берется бэкенд.
Например, мы не видим, как действует двигатель внутреннего сгорания, когда заводим автомобиль. То есть ключ зажигания, педали тормоза и газа, коробка передач — это фронтенд, а все, что происходит внутри автомобиля — бэкенд.
Бэкенд отвечает за невидимую часть работы сайта, за то, как правильно будут выполняться скрипты и насколько быстро и правильно будут отправляться данные фронтенду.
В задачи бэкенд-разработки входит написание программы для взаимодействия с базами данных. Для этого разработчик использует в качестве инструментов различные языки программирования (PHP, Node.js, Ruby, Python, C) и системы управления базами данных (в основном MySQL). Важно выстроить надежное и качественное взаимодействие между различными, невидимыми для посетителя частями сайта, например, запись новой и передача имеющейся информации в базу данных и из нее, шифрование и настройка доступов. От того, как хорошо прописано это взаимодействие, будет зависеть работа сайта и его быстродействие.
Инь и Ян — Fullstack
Есть разработчики, которые хорошо разбираются как во фронтенде, так и в бэкенде. Таких программистов называют fullstack, так как они объединяют в себе две части веб-разработки.
Однако не всегда продуктивно иметь одного fullstack-разработчика, чем узконаправленных специалистов. Fullstack, скорее, подойдет для небольших проектов, где сил и времени одного человека хватит на разработку продукта. Либо fullstack может выступать в качестве связующего звена между фронтендом и бэкендом, так как им постоянно нужно взаимодействовать друг с другом, а они могут не разбираться в противоположной сфере и требовать невозможного. Конечно, фронтенд- и бэкенд-разработчики должны разбираться в противоположных сферах, fullstack будет сглаживать острые углы этого взаимодействия.
Автомобиль не может быть автомобилем, если у него нет двигателя или колес. Один инженер, владеющий лишь поверхностными знаниями, может превратить автомобиль в нечто с квадратными колесами и двигателем из картона, в чем также мало смысла, как и без какой-либо части автомобиля.
Пойду куда глаза глядят
Если вы только начинаете свой путь в веб-разработке и не знаете, в какую сторону пойти, то нужно попробовать свои силы в каждой из сфер по чуть-чуть. В таком случае можно понять, что вам ближе. Фронтенд подойдет тем, кто хочет превращать безликий код в удобный и понятный интерфейс (не без участия дизайнеров, конечно), а бэкенд — тем, кто любит копаться в коде и выстраивать логические связи в серверной части сайта.
Свои силы в веб-разработке можно попробовать в Спринтхост, воспользовавшись CMS или попытавшись прописать весь код сайта самостоятельно. Тренироваться можно на разных языках программирования: PHP, Python, Node.js, Perl. Но мы советуем PHP, так как он наиболее популярен и прост в изучении. Впрочем, выбирать только вам!