Что такое frontend и backend разработка

Что такое frontend и backend разработка

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

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

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

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

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

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

23 апреля , онлайн, беcплатно

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. После сборки такие приложения отправляются в браузер, и любой последующий рендеринг выполняется на стороне клиента (в браузере).

Читайте также:  Не включается bios на компьютере

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разработка сайтов по системе front-end и back-end подразумевает иерархическое разделение процесса создания ресурса на две части, на разработку пользовательского интерфеса –(фронтэнда) и его программно-административной части (бэкэнда).

Front-end разработка – это работа по созданию публичной части сайта, с которой непосредственно контактирует пользователь и функционала который обычно обыгрывается на клиентской стороне (в браузере).

Читайте также:  Как передать большой файл через ватсап

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

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

При создании пользовательской стороны сайта и формировании html страницы мы учитываем следующие моменты:

  • Грамотное использование тегов h1, h2 и т.д. в порядке очерёдности.
  • Грамотное использование тега lang.
  • Реальное заполнение атрибута alt для картинок. Если на картинке изображен логотип, то “Логотип компании”, если человек, то имя человеке. Для значков на английском языке “Twitter Icon” и т.д. (не относиться к динамическим изображениям, например, фото новости).
  • Не забываем про метатеги.
  • Не забываем про фавиконку (favicon).
  • Там где предполагается ссылка, должна быть прописана ссылка.
  • Для контактов использовать атрибуты skype, tel и mailto.
  • Ссылки на внешние страницы должны открываться в новом окне.
  • Каждая ссылка имеет атрибут title.
  • Код хорошо прокомментирован.
  • Оптимизация изображений для Интернета.
  • Использование мобильных версий картинок, там где это необходимо.
  • HTML, CSS и JS файлы должны иметь параллельно с основной (рабочей) и сжатую версию для последующего запуска сайта на хостинге.
  • Все стили и скрипты вынесенны в отдельные файлы.
  • Размеры всех картинок заданы средствами CSS.
  • Использовать слайдеры, карусели и галереи адаптированны для мобильных устройств.
  • Всплывающие окна адаптированны для мобильных устройств.
  • Переименование файлов в случае использования кеширования.
  • Подсветка (hover, active, visited) для ссылок.
  • Подсветка (hover, active) для кнопок и полей в формах.
  • Прижатый подвал при малом кол-ве контента на странице.
  • Отсутствие outline у кнопок.

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

Бэкэнд development – это процесс программирования сайта и наполнения его функционалом. Создание ядра сайта, разработка платформы сайта, наполнение его основным функционалом и создание административной зоны – это и есть бэкэнд разработка.

Бэкэнд производит обработку пользовательской информации полученной из front-офиса, и возвращает front-end’у результат в понятной ему форме.

Бэкэнд программирование — это веб программирование, целью которого является реализация серверной стороны сайта, интеграция базы данных и связь ее с пользовательской (front-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 разработку можно назвать неделимыми составляющими успешной работы любого веб-ресурса.

Ссылка на основную публикацию
Что дает geforce experience
The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator...
Форге оф импаерс великие строения
Другое название: Кузница Империй Ниже мы приводим подробный гайд по игре Forge of Empires с советами как вам быстрее отстроить...
Форза хорайзен 3 список машин
Серия игр Forza всегда поражала количеством доступных автомобилей. На момент выхода игры доступно уже более 150 автомобилей, а разработчики обещают...
Что дает перепрошивка смартфона
К моему большому сожалению, такой огромный пласт гик-культуры, как прошивка смартфонов, очень мало обозревается на IT-сайтах. Но бьюсь об заклад,...
Adblock detector