Igro-zon.ru

Работа и жизнь
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Простыми словами о «фронтенде» и «бэкенде»: что это такое и как они взаимодействуют

  • Переводы, 13 апреля 2017 в 19:58
  • Мая Устинова

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

Давайте начнем с определений.

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

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

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

2–3 апреля, Нижний Новгород и онлайн, 1000–3500 ₽

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

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

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

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

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

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

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

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

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

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

Другой тип архитектуры использует для связи AJAX (Asynchronous JavaScript and XML). Это означает, что 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.

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

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

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

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

Кто такие frontend, backend, full stack-разработчики?

Frontend, backend, full stack – это не просто модные слова сферы IT. Это то, что определяет ваше направление деятельности. Так в чём разница и должен ли frontend-разработчик быть знаком с backend, и наоборот?

Спрос на хороших веб-разработчиков есть и будет всегда. Но начиная этот путь, вам нужно разобраться, чем отличаются frontend-разработчик и backend-разработчик, какой инструментарий использует каждый из них. И, кроме того, какие есть преимущества у многопрофильных специалистов (full stack-разработчиков).

Процесс создания современных сайтов и веб-приложений состоит из нескольких этапов — frontend и backend. Эти этапы могут выполнять как два разных человека, так и один full stack-разработчик.

Frontend

Мы открываем сайт и видим картинки, текст, дизайн сайта в целом. В этот момент речь идёт о frontend. Конечно, дизайн был отрисован веб-дизайнером, но именно благодаря работе frontend-разработчика мы можем увидеть всё это.

Код страницы, который может увидеть каждый, щелкнув правой клавишей и выбрав пункт «Просмотр кода страницы», — это и есть работа фронтенда. То есть frontend-разработчик с помощью кода описывает всё то, что пользователь видит, заходя на любую веб-страницу – все графические элементы, их цвета и размер, шрифты и так далее.

Frontend-разработчик работает над тем, чтобы сайт был красивым и удобным для пользователей.

К frontend-разработке относятся:

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

К инструментам, с помощью которых frontend-разработчик реализует свои задачи, относятся: HTML, CSS, JavaScript.

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

CSS – это язык, который служит для описания оформления внешнего вида документа, который был создан с помощью HTML. CSS даёт понять браузеру, как именно должна быть отображена страница, где и как расположатся все её блоки, какого цвета и параметра будет шрифт и так далее.

JavaScript – это язык программирования, который оживляет страницу. Другими словами, с помощью JavaScript осуществляется анимация. За все действия, которые происходят на странице при нажатии на кнопку мыши или передвижении курсора, отвечает именно JavaScript.

Помимо этих трех инструментов frontend-разработчик должен иметь представление о работе веб-дизайнера и веб-дизайне в целом. Поскольку за удобство использования сайта отвечают оба этих специалиста.

Об этих и других инструментах и технологиях, необходимых современному веб-разработчику, мы регулярно говорим на живых встречах-трансляциях в WAYUP. Буквально завтра, 17 июля в 19:00, состоится бесплатный мастер-класс «Как я зарабатываю на верстке».

Backend

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

Например, вы заполнили форму обратной связи, чтобы менеджер интернет-магазина вам перезвонил. Так вот в момент нажатия кнопки «Отправить» происходит смена frontend на backend. Все дальнейшие действия будут происходить на сервере.

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

Работа backend-разработчика отличается от frontend тем, что она полностью лишена взаимодействия с визуальным дизайном сайта.

К задачам backend-разработки относят:

  • создание базы данных и программы, которая будет брать оттуда информацию, а также записывать туда новую информацию;
  • осуществление защиты данных;
  • резервное копирование данных и их восстановления и т.д.

На самом деле, перечень задач backend-разработчика шире, чем задачи frontend-разработчика. И отличаться эти задачи могут в зависимости от проекта, над которым идёт работа. При этом количество инструментов работы также шире, чем во фронтенде.

В арсенале у backend-разработчика, как правило, имеются те инструменты, которые доступны на сервере, где осуществляется работа. Чаще всего это такие языки программирования, как Ruby, PHP, Python, Java.

Если говорить именно о работе с базами данных, то это: MySQL, PostgreSQL, MongoDB, Cassandra, Redis, Memcached.

Full stack

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

Full stack-разработчики не могут одинаково хорошо и досконально знать обе части процесса – frontend и backend. Но их преимущество в том, что они универсальны и могут в одиночку справиться с небольшими проектами.

Как правило, full stack-разработчики – это фрилансеры, которые делают сайты под ключ. Большая часть их работы связана с самым интересным – с созданием визуальной части сайта, с тем, чтобы сделать сайт удобным для пользователя.

Курс WAYUP «Веб-верстальщик: код фрилансера» как раз для тех, кто хочет получить все навыки для старта в веб-разработке. На этом курсе вы изучаете и практикуетесь в работе с инструментами фронтенда — HTML, CSS, JavaScript. И, кроме того, получаете представление о backend части создания сайта, о том, как происходит установка сайта и CMS на сервере, о работе с WordPress.

Этот курс создан 4 года назад, и с каждым годом мы дополняем его трендами и новыми технологиями веб-разработки. В результате, отучившись на курсе ещё вчера, сегодня вы уже имеете все знания и навыки, чтобы начать зарабатывать на фрилансе.

Очередной поток курса стартует через 2 недели – 30 июля. Приходи, чтобы обрести профессию и начать свой путь в IT.

Front-end и Back-end разработка

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

Для того чтобы понять основные отличия между услугами дизайнеров и программистов, следует сравнить особенности Front-end и Back-end разработки. Под этими понятиями подразумевается процедура создания сайта, поделенная на клиентскую и серверную составляющие.

Особенности Front-end и Back-end разработки

Front-end разработка – это клиентская составляющая процесса создания веб-ресурсов, предусматривающая формирование макета сайта, шаблонов, интерфейса и скриптов, которые отвечают за визуализацию. На этом этапе разработки также выполняется CSS-верстка.

Back-end разработка – это серверная составляющая процедуры создания веб-ресурса, предполагающая разработку ядра, платформы, а также административной и функциональной составляющей.

Для понимания особенностей данных частей процедуры создания сайта стоит привести простой пример. Представим ресторан. К «клиентской» части ресторана относятся декорации, музыка и мебель.

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

Front-end vs. Back-end разработка

Разобравшись с тем, что такое фронтенд и бэкенд разработка, следует перейти к детальному описанию обоих составляющих процесса создания веб-ресурсов. Фронт-енд разработка предусматривает создание интерфейса и дизайна сайта. За этот процесс обычно отвечают веб-дизайнеры.

А вот ответственность за бэк-енд разработку лежит на плечах программистов, которые создают код, обеспечивающий бесперебойную работу ресурса. Back-end разработчики обеспечивают динамическую поддержку сайтов.

Front-end разработчики в основном используют 3 языка – CSS, HTML и Javascript. А вот бек-энд разработчики в своей деятельности используют Python, Ruby,.NET, Postgre SQL, MySQL и MongoDB.

Среда разработки

Фронтенд разработка предусматривает применение внешнего интерфейса для разработки дизайна. В обязанности Front-end разработчиков входит не только изменения дизайна, но и изучение поведения пользователей.

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

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

С чего начать фронтенд разработку? Обычно этот процесс начинается с постановки цели. Разработчики должны постоянно следить за доступностью сайта на любых устройствах. А вот бекэнд разработчики отвечают за создание приложений и поддержку внешнего интерфейса. Именно эти специалисты отвечают за функциональную составляющую сайта.

В завершение необходимо сказать, что бекэнд функционирует на стороне сервера, фронтэнд – на стороне клиента. Подобное разделение «обязанностей» способствует существенному ускорению процедуры разработки и обслуживания сайта. Поэтому Front-end и Back-end разработку можно назвать неделимыми составляющими успешной работы любого веб-ресурса.

Front-end и Back-end разработка

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

Для того чтобы понять основные отличия между услугами дизайнеров и программистов, следует сравнить особенности Front-end и Back-end разработки. Под этими понятиями подразумевается процедура создания сайта, поделенная на клиентскую и серверную составляющие.

Особенности Front-end и Back-end разработки

Front-end разработка – это клиентская составляющая процесса создания веб-ресурсов, предусматривающая формирование макета сайта, шаблонов, интерфейса и скриптов, которые отвечают за визуализацию. На этом этапе разработки также выполняется CSS-верстка.

Back-end разработка – это серверная составляющая процедуры создания веб-ресурса, предполагающая разработку ядра, платформы, а также административной и функциональной составляющей.

Для понимания особенностей данных частей процедуры создания сайта стоит привести простой пример. Представим ресторан. К «клиентской» части ресторана относятся декорации, музыка и мебель.

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

Front-end vs. Back-end разработка

Разобравшись с тем, что такое фронтенд и бэкенд разработка, следует перейти к детальному описанию обоих составляющих процесса создания веб-ресурсов. Фронт-енд разработка предусматривает создание интерфейса и дизайна сайта. За этот процесс обычно отвечают веб-дизайнеры.

А вот ответственность за бэк-енд разработку лежит на плечах программистов, которые создают код, обеспечивающий бесперебойную работу ресурса. Back-end разработчики обеспечивают динамическую поддержку сайтов.

Front-end разработчики в основном используют 3 языка – CSS, HTML и Javascript. А вот бек-энд разработчики в своей деятельности используют Python, Ruby,.NET, Postgre SQL, MySQL и MongoDB.

Среда разработки

Фронтенд разработка предусматривает применение внешнего интерфейса для разработки дизайна. В обязанности Front-end разработчиков входит не только изменения дизайна, но и изучение поведения пользователей.

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

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

С чего начать фронтенд разработку? Обычно этот процесс начинается с постановки цели. Разработчики должны постоянно следить за доступностью сайта на любых устройствах. А вот бекэнд разработчики отвечают за создание приложений и поддержку внешнего интерфейса. Именно эти специалисты отвечают за функциональную составляющую сайта.

В завершение необходимо сказать, что бекэнд функционирует на стороне сервера, фронтэнд – на стороне клиента. Подобное разделение «обязанностей» способствует существенному ускорению процедуры разработки и обслуживания сайта. Поэтому Front-end и Back-end разработку можно назвать неделимыми составляющими успешной работы любого веб-ресурса.

Читать еще:  Что нужно для работы визажистом
Ссылка на основную публикацию
Adblock
detector