Фронтенд и бэкенд
Основы фронтенда и бэкенда
Хорошо, с приложениями разобрались, базовую классификацию сделали, виды web-приложений разобрали. Но как же это все-таки работает?
И тут мы добрались до очень важных терминов.
Фронтенд и Бэкенд
В качестве простейшей иллюстрации можно представить театр. Мы приходим на представление, видим артистов на сцене, хлопаем им, получаем поклоны в ответ. И при этом мы точно знаем, что театр не ограничивается зрительным залом, не заканчивается сценой. Где-то шились костюмы, шли приготовления в гримерке, где-то дает наставления режиссер. Мы их не видим, но точно знаем, что они есть и без них театр не смог бы работать.
Примерно так же, все организовано и в web-приложениях.
Есть слой, который мы видим. Страница, которая отображается, когда мы открываем какой-то сайт. На этой странице вероятно, есть какая-то анимация и даже есть кнопки, которые можно нажимать.
Этот видимый слой называется “Фронтенд”. Он включает в себя все то, что находится на стороне пользователя. Все то, что отображается на экране вашего устройства. То, что можно увидеть и даже пощупать.
Но при этом мы можем быть уверены, что все не ограничивается фронтендом. Ведь даже и самого фронтенда еще совсем недавно не было ни на экране, ни в памяти компьютера. Он появился когда мы решили открыть очередной сайт и ввели в браузере его адрес.
Мы сделали запрос на отображение сайта и получили ответ. Какие в нем есть блоки, где они расположены, как выглядят, какие шрифты используются. Нажали на кнопку и на сервер ушла команда рассчитать какую-то информацию, выдать ответ, предоставить решение задачи. Эта система запросов и ответов, Request-Response, и является краеугольным камнем работы всех Web-приложений.
Запрос по Интернету отправился на сервер, на сторону, невидимую нашим глазам, на “Бэкенд”. При этом запрос сам по себе тоже содержит определенную информацию, у него есть какие-то параметры. На основании этой информации бэкенд решает, какой ответ отправить (или может вежливо кивнуть, подтвердить получение запроса, но больше никаких данных не передавать).
HTTP
Сам протокол передачи данных называется HTTP - HyperText Transfer Protocol (протокол передачи гипертекста). Вы можете видеть эти 4 буквы в начале адресной строки браузера. Это информирует о том, что взаимодействие будет осуществляться именно по протоколу HTTP. Можно сказать, что стороны договорились на каком языке они будут общаться.
И пусть вас не смущает его название. Действительно, на заре Интернета протокол задумывался исключительно для гипертекста. То есть текста со ссылками, с возможностью перейти на другую страницу, получить другой текст. Сейчас он позволяет передавать любые данные: смешные картинки, песни, видео с танцами в Тик-Ток.
В дальнейших модулях курса мы будем детально разбираться со структурой запросов и ответов. Будем создавать запросы с ответами, равно как и логику их обработки. На данном этапе достаточно понять сам принцип передачи данных от фронтенда к бэкенду и наоборот.
Кстати, и сами данные ведь не возникают по волшебству. Появление запросов на стороне фронтенда легко понять - вы сами их вводите. А вот чтобы передать информацию вам - нужно как-то организовать ее хранение и обработку.
Базы данных
Для этой цели работают “Базы данных” (БД). Там хранятся данные в структурированном виде. А еще есть системы, которые этими данными управляют - СУБД (Система Управления Базами Данных). Они позволяют записывать новые данные в БД, получать данные оттуда, изменять их, удалять (Все это вместе обозначается аббревиатурой CRUD - Create, Read, Update, Delete). Это все мы тоже обязательно изучим подробно в дальнейших модулях. Разберемся, какие вообще бывают базы данных, как организована их работа и как легко можно управлять ими в AppMaster.io.