Как работает Web (этот ваш интернет)

Пришло время феерически расставить точки над i в вопросе "а вот есть бекенд и фронтенд, а зачем?"

АналитикаWebJust For FunОбразование

Начнём с того, что компьютеры по средствам различных физических сред (а ля радио - WiFi, а ля старые телефоны - провод) могут друг с другом обмениваться сигналами. Сигналы простые, но их комбинация имеет более сложный смысл - равно как индейцы умели дымом от костра сигнализировать о разных вещах. Один дым - ничего не понятно, а вот с определёнными интервалами - тут и сообщение можно зашифровать. А представьте, что этих сообщений можно делать по миллиону в секунду! Тут и фильм можно рассказать в деталях до точек - так, к примеру, работает Youtube.

Далее стоит сказать, что Web или "интернет" это немного не то, что часто имеют в виду люди. Часто они говорят о его самой известной части - HTTP. О ней мы и продолжим речь, ведь это фееричное расставление точек над i.

HTTP(S) - это самый известный способ взаимодействия одного компьютера с другим. Компьютер-сервер - как магазин - есть куча информации (текст, картинки, видео, музыка), которой он готов поделиться (о вопросах монетизации я умолчу). Компьютер-клиент - это ваш ноутбук, телефон, кассовый аппарат - им нужна различная информация от сервера. И по одной из физических сред они её запрашивают. А вот язык, на котором они с сервером общаются - HTTP - выдуманный для программистов, вы его не увидите, если серьёзно не займётесь IT, но почти каждый ваш клик на каком-нибудь сайте превращается в HTTP запрос!

По сути там всё просто: дай, удали, обнови, создай. Но вот как это внутри работает...

Зачем нужны фронтендеры

Заходя на сайт, что вы видите? Скорее всего это какая-то красивая картинка: карточки товаров, кнопочки заказа; либо же карточки фильмов, кнопочки запуска проигрывания; или же... В общем карточки (ссылки/переходы) и кнопочки (какие-то действия). Ну или рабочее: фоомы, кнопки, формы, кнопки, уведомления. И всё это придумал дизайнер... Он нарисовал, как это должно выглядеть. Но рисунок не заказывает бургер. Здесь нужно внести динамику, чтобы странички переходили одна на другую, чтобы шли запросы в ресторан на доставку...

И тут на сцену выходит фронтендер. Или "лицевик". Это программист, который из рисунка дизайнера сделает элементы взаимодействия. Кликнув на картину Айвозовского вы получите подзатыльник, а на результат работы фронтендера - переход на другую страницу или отправку формы. Ну или выскочет предупреждение. И т.д. В общем, этот человек превращает мёртвую картинку, в живое - можно гулять по сайтам, отправлять злобные комментарии, заказать тот самый бургер.

Но! Это всё ещё происходит лишь у вас в голове... точнее - в вашем компьютере. Помните, мы говорили о том, что компьютеры могут общаться с друг другом по WiFi (а ля радио) или по проводам... Так вот, пока что мы говорили лишь о том, что происходит на вашем компьютере.

Зачем нужны бекендеры

Все переходы, что делают фронтендеры, либо отправки форм, заказов и т.д. На самом деле они посылают по сети к серверу... Где уже и сидят наши ребята - бекендеры. Сам фронтенд ("морда") ничего не знает. Точнее знает о том, как это правильно и красиво отобразить. Но вот цены в соседнем супермаркете - нет. Для этого она может сделать запрос на бекенд этого супермаркета, который и расскажет "морде", какие есть нынче скидки.

Бекенд - это набор программ, которые в отличие от фронтенда, находятся не у пользователя, а у поставщика услуг. И фронтенд спрашивает у них информацию (в очень неприглядном формате), для того чтобы красиво и удобно предоставить пользователю.

Сам же бекенд занимается расчётами, запоминанием кто-что покупал, чтобы предложить подобное позже и т.д. В общем, "мозг".

И тут появляются администраторы баз данных

С хитрым прищуром в данной ситуации на бекендеров могут посмотреть администраторы баз данных (DBA от "DataBase Administrator"). Ведь именно в базах данных (ещё один сервер) хранятся те данные, которыми оперирует бекенд... Иными словами они сами бекенд для бекенда...

И действительно, вся информация, которая от клиика к клику остаётся на сайте, которой вы пользуетесь - она на самом деле хранится в базах данных. И если бы люди сами могли делать простые действия: считать на калькуляторе, звонить - то не нужен бекенд, который часто просто считает, преобразовывает одни форматы в другие, дёргает другие бекенды (звонилку или рассылку почты, например) - от большинства бекендов можно избавиться.

Если бы люди удовлетворились бы одним интерфейсом из формочек и набора подряд идущих ссылок - не нужны были бы и фронтендеры.

Но мы любим, чтобы было уютно и удобно - за тем и нужны бекендеры и фронтендеры.

Фото Как удалить локальную или удалённую ветку в Git
Как удалить локальную или удалённую ветку в Git

Git - распределённая система контроля версий, где ветки(branch) используются крайне активно. На каждую задачу - отдельная ветка - вот хороший тон!

Фото Что делать, если не успеваешь сделать в срок
Что делать, если не успеваешь сделать в срок

У части программистов есть огромная беда - они впадают в стопор, если не успевают решить задачу в скрок.