1.0. Введение в web-разработку

1.0. Введение в web-разработку

В качестве отправной точки, хотелось бы в общих чертах описать то, с чем придется иметь дело. Так как я хочу затронуть полный цикл создания сайтов и web-приложений, то речь будет идти о full-stack web-разработке.

Начну с самых общих вещей, поверхностно, чтобы не затягивать с теорией, и скорее дойти до практики. Сайт, как и web-приложение, можно разделить на две логические части — то, что выполняется в браузере у пользователя (front-end), и то, что выполняется на сервере у владельца сайта (back-end). Стоит подчеркнуть, что серверная часть может быть весьма продвинутой, и насчитывать множество серверов, принадлежащих как владельцу сайта, так и вспомогательным сервисам, подключенным к инфраструктуре проекта.

Далее, считаю нужным очень поверхностно пробежаться по алгоритму работы сайтов и web-приложений:

  1. Пользователь набрал адрес сайта в адресной строке и нажал Enter
  2. Далее браузер определяет, к какому серверу ему нужно обратиться, чтобы открыть сайт (с помощью DNS — Domain Name System)
  3. Браузер обращается к серверу
  4. На сервере выполняется программный код, который формирует программный код страницы, который должен выполниться в браузере у пользователя
  5. В браузере у пользователя (ещё можно сказать, на «клиенте») выполняется отданный сервером код, за счет чего браузер и формирует то, что видит пользователь при открытии сайта

Теперь, так же поверхностно, рассмотрим то, из чего состоят front-end и back-end.

Front-end состоит из HTML-разметки, в которую встроено подключение картинок, видео, аудио и прочих ресурсов, скриптов, написанных на JavaScript, и стилей, описанных через CSS. Именно на уровне front-end’а функционируют такие библиотеки, фреймворки и платформы, как React, Vue.js и Angular, если не подключать к ним SSR (Server-Side Rendering).

Back-end состоит из:

  • того или иного web-сервера (это такая программа), запущенного на сервере (это специальный компьютер, еще называют, удаленный сервер)
  • того или иного программного кода, который выполняется по приказу web-сервера, когда на этот web-сервер поступает обращение от браузера пользователя, и результат работы которого отдается браузеру обратно, в виде программного кода страницы.
    Уточнение:
    Бывает такой код, который выполняется на сервере постоянно (например, регулярный подсчет чего-то), это я к тому, что не весь код выполняется только по приказам web-сервера. Также, на web-сервер могут приходить обращения не только от браузеров, а еще и от других серверов (например, когда с сервера обращаемся за курсом доллара на другой сервер) и клиентов (например, мобильное приложение)
  • различного программного обеспечения (базы данных, брокеры сообщений, различные средства мониторинга и логирования и т.д.)

Именно на back-end’е работает основная часть каждого из таких фреймворков, как Yii, Symfony, Laravel, Zend Framework, Phalcon, Nest.js, Express.js, Django и т. д.

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

Всем спасибо!

Следующая статья цикла — 1.1. HTML. Начало
Предыдущая статья цикла — С чего начать путь в web-разработке?
Содержание

Tags: , , ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *