Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Web-программирование, фронтенд,бэкенд, взаимодействие между ними, используемые технологии кратко

Лекция



Привет, Вы узнаете о том , что такое web-программирование, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое web-программирование, фронтенд, бэкенд, fullstack, фулстек, frontend, backend , настоятельно рекомендую прочитать все из категории Основы интернет и веб технологий.

Вы наверняка уже слышали эти модные в сфере программирования слова « фронтенд » и « бэкенд », но что за ними стоит?

Что обязан знать фрондэнд и бекэнд разработчик?

Фронтэнд (англ. frontend) — клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса.

Бэкэнд (англ. backend) — программно-аппаратная часть сервиса.

Фронт- и бэкэнд — это вариант архитектуры программного обеспечения.

Термины появились в программной инженерии вследствие развития принципа разделения ответственности между внешним представлением и внутренней реализацией.

Backend для предоставления своей функции реализует API, которые использует front-end. Таким образом front-end разработчику не нужно знать особенностей реализации сервера, а back-end разработчику — реализацию front-end.

Фронтенд — все, что браузер может читать, выводить на экран и / или запускать. То есть это HTML, CSS и JavaScript.

HTML (HyperText Markup Language) говорит браузеру, каково содержание страницы, например, «заголовок», «параграф», «список», «элемент списка».

CSS (Cascading Style Sheets) говорит браузеру, как отображать элементы, например, «после первого параграфа отступ в 20 пикселей» или «весь текст в элементе body должен быть темно-серым и написан шрифтом Verdana».

JavaScript говорит браузеру, как реагировать на некоторые взаимодействия, используя легкий язык программирования. Большинство сайтов на самом деле не используют много JavaScript, но если вы нажмете на что-то и содержимое страницы поменяется без белого мигания экрана, значит, где-то использовался JavaScript.

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

Для бэкенда вы можете использовать любые инструменты, доступные на вашем сервере (который, по сути, является просто компьютером, настроенным для ответов на сообщения). Это означает, что вы можете использовать любой универсальный язык программирования: Ruby, PHP, Python, Java, JavaScript / Node, bash. Это также означает, что вы можете использовать системы управления базами данных, такие как MySQL, PostgreSQL, MongoDB, Cassandra, Redis, Memcached.

Фронтэнд и бекэнд разработчики имеют разные области ответственности и наборы знаний, но существует некоторое перекрещивание компетенций между ними. Вот основные знания и навыки, которыми должны обладать фронтэнд и бекэнд разработчики:

Фронтэнд разработчик:

  1. Языки программирования: HTML, CSS и JavaScript - фронтэнд разработчики должны быть владельцами этих языков и уметь создавать интерфейсы, стилизовать их и добавлять взаимодействие с помощью JavaScript.
  2. Фреймворки и библиотеки: знание популярных фреймворков и библиотек, таких как React, Angular или Vue.js, поможет фронтэнд разработчику создавать сложные и масштабируемые веб-приложения.
  3. Разработка мобильных приложений: понимание мобильной разработки и использование фреймворков, таких как React Native или Flutter, позволит создавать переносимые мобильные приложения.
  4. Дизайн интерфейсов: умение работать с инструментами дизайна, такими как Photoshop или Sketch, поможет фронтэнд разработчику создавать привлекательные и интуитивно понятные пользовательские интерфейсы.
  5. Верстка и адаптивность: знание методов верстки и оптимизации сайтов под разные устройства и экраны поможет создавать адаптивные и отзывчивые веб-страницы.

Бекэнд разработчик:

  1. Языки программирования: знание языков программирования, таких как Python, Java, PHP, Ruby или C#, используемых для создания бекэнд-серверной логики и обработки данных.
  2. Разработка баз данных: понимание работы с базами данных, такими как MySQL, PostgreSQL или MongoDB, позволит бекэнд разработчику эффективно хранить и управлять данными в приложении.
  3. Работа с API: умение создавать и использовать API (Application Programming Interface) для взаимодействия с другими системами и сервисами.
  4. Знание протоколов и архитектур: понимание протоколов передачи данных, таких как HTTP и REST, а также архитектурных шаблонов, таких как MVC (Model-View-Controller) или Microservices, поможет бекэнд разработчику создавать эффективные и масштабируемые приложения.
  5. Безопасность и авторизация: знание методов обеспечения безопасности и аутентификации пользователей в приложениях, таких как хеширование паролей, токены доступа и SSL-шифрование.

Кроме того, как фронтэнд, так и бекэнд разработчики должны иметь хорошие навыки командной работы, уметь разбираться в ошибках и отладке кода, а также быть готовыми к постоянному обучению и адаптации к новым технологиям и требованиям в индустрии разработки.

Структура взаимодействия бэкенда и фронтенда

Сегодня существует несколько основных архитектур, определяющих, как будут взаимодействовать ваши бэкенд и фронтенд.

Серверные приложения

В этом случае HTTP-запросы отправляются напрямую на сервер приложения, а сервер отвечает HTML-страницей.

Между получением запроса и ответом сервер обычно ищет по запросу информацию в базе данных и встраивает ее в шаблон (ERB, Blade, EJS, Handlebars).

Когда страница загружена в браузере, HTML определяет, что будет показано, CSS — как это будет выглядеть, а JS — всякие особые взаимодействия.

Связь с использованием AJAX

Другой тип архитектуры использует для связи AJAX (Asynchronous JavaScript and XML). Об этом говорит сайт https://intellect.icu . Это означает, что JavaScript, загруженный в браузере, отправляет HTTP-запрос (XHR, XML HTTP Request) изнутри страницы и (так сложилось исторически) получает XML-ответ. Сейчас для ответов также можно использовать формат JSON.

Это значит, что у вашего сервера должна быть конечная точка, которая отвечает на запросы JSON- или XML-кодом. Два примера протоколов, используемых для этого — REST и SOAP.

Клиентские (одностраничные) приложения

AJAX позволяет вам загружать данные без обновления страницы. Больше всего это используется в таких фреймворках, как Angular и Ember. После сборки такие приложения отправляются в браузер, и любой последующий рендеринг выполняется на стороне клиента (в браузере).

Такой фронтенд общается с бэкендом через HTTP, используя JSON- или XML-ответы.

Универсальные/изоморфные приложения

Некоторые библиотеки и фреймворки, например, React и Ember, позволяют вам исполнять приложения как на сервере, так и в клиенте.

В этом случае для связи фронтенда с бэкендом приложение использует и AJAX, и обрабатываемый на сервере HTML.

Вне фронтенда и бэкенда

Автономный фронтенд

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

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

Легкий бэкенд

Бэкенд, в свою очередь, становится легче и легче. Такие технологии, как хранилища документов и графовые базы данных, приводят к сокращению количества обращений к бэкенду для повторного агрегирования данных. Задача клиента — уточнить, какие данные ему нужны (базы данных графов), или извлечь все различные фрагменты данных, которые ему нужны (REST API).

Сейчас можно создавать бэкенд-сервисы, которые работают не постоянно, а только тогда, когда они нужны, благодаря бессерверным архитектурам, таким как AWS Lambda.

Размытые границы

Вычислительные задачи теперь можно перемещать между фронтендом и бэкендом. В зависимости от вида приложения можно сделать так, чтобы вычисления производились либо в клиенте, либо на сервере.

Каждый из вариантов имеет свои плюсы и минусы. Сервер — среда более стабильная, имеет меньше неизвестных, но ему постоянно нужно подключение к Сети. Некоторые пользователи используют последние версии браузеров, и им выгоднее использовать клиентские приложения, которые и делают большую часть работы, и могут похвастаться красивым интерфейсом, но тогда вы оттолкнете пользователей, которые не используют новейшие браузеры и высокоскоростное подключение к Интернету.

В любом случае, хорошо, что есть, из чего выбирать. Главное — выбирать именно то, что лучше всего подходит для конкретной задачи. Надеюсь, у вас появилось больше понимания о том, в каком состоянии сегодня находится веб-разработка.

fullstack

Во frontend и backend есть собственные технологии и собственные языки программирования, и для работы с ними необходимо владеть этими языками. И если программист прекрасно разбирается в обоих направлениях, если он легко выполняет задачи, связанные и с frontend, и с backend – тогда этого программиста и называют фулстек -разработчиком.
Так что fullstack программист – специалист-универсал, способный и сверстать дизайн сайта, и настраивать функционирование форм и кнопок, и писать серверную часть, плюс и собственно сервер настроить сможет. Такой программист в одиночку создает веб-сервис, заменяя собой 3-4 более узких специалистов. Но с другой стороны у такого разработчика может быть не достаточно глуокое владение определенными технологими, особенно если он имеет малы общий опыт работы

для фронтенда, бекэнда и DevOps.

Web-программирование, фронтенд,бэкенд, взаимодействие между ними, используемые технологии

Web-программирование, фронтенд,бэкенд, взаимодействие между ними, используемые технологии

путь фронтенд-разработчика:

Web-программирование, фронтенд,бэкенд, взаимодействие между ними, используемые технологии

А вот бекэнд:

Web-программирование, фронтенд,бэкенд, взаимодействие между ними, используемые технологии

Сторонние АПИ платежных систем PayPal, Приват24, Сбербанк, Blockchan.com , поисковых систем,картографических сервисов, менеджеров уведомлений СМС, почтовых, анализа данных Гугл Аналистик, Яндекс метрика и тд

Сторонние вендоры-библиотеки типа RlasticSearch,

График для DevOps представляет собой ответвление от бекэнда:

Web-программирование, фронтенд,бэкенд, взаимодействие между ними, используемые технологии

Конечно, это просто инструменты. Веб-разработчику необходимы и иные навыки разработки, кроме владения инструментами, описанными выше.

Анализ данных, представленных в статье про web-программирование, подтверждает эффективность применения современных технологий для обеспечения инновационного развития и улучшения качества жизни в различных сферах. Надеюсь, что теперь ты понял что такое web-программирование, фронтенд, бэкенд, fullstack, фулстек, frontend, backend и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Основы интернет и веб технологий

создано: 2018-02-07
обновлено: 2023-06-03
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Основы интернет и веб технологий

Термины: Основы интернет и веб технологий