Что такое бэкэнд: Что понимать под словом back-end? — Хабр Q&A

Содержание

Что такое бэкенд и фронтенд, а также в чем между ними разница

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

Frontend-разработчик — кто это

Хотелось бы начать с того, что frontend и backend-разработчики необходимы в одинаковой мере для создания интернет-магазина, корпоративного сайта и прочих web-ресурсов, когда речь идет о разработке многофункционального продукта.

Frontend — что же это означает? Простыми словами, фронтенд (frontend) — это, та самая составляющая программирования, которую считывает система браузера, а также демонстрирует (запускает) на странице для просмотра пользователя. Другими словами, это CSS, HTML и JavaScript.

CSS (Cascading Style Sheets) дает команду браузеру, каким образом отражать все элементы, к примеру: диаметр отступов между блоками, цвет и размер шрифта или опять же блоков.

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

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

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

Теперь вы знаете, что такое фронтенд, давайте разберемся с тем, что такое бэкенд.

Backend-разработчик — кто это

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

Сервер — это специальный компьютер, обычно, с наиболее большими ресурсами в отношении производительности, для реализации соответствующих задач. Он выполняет функции по хранению сведений, DNS (преобразование «буквенных» адресов в сети в IP), DHCP (динамическое распределение адресов), и так далее. В общем, в соответствии с архитектурой «клиент-сервер», сервер по запросу клиента предоставляет ему свои ресурсы.

Для бэкенда программисты могут пользоваться всеми средствами, которые доступны на сервере. Например, любой многофункциональный язык программирования:

  • Java;
  • JavaScript;
  • Python;
  • Visual Basic;
  • Swift;
  • и так далее.

Тоже самое относится и к системам управления базами данных:

  • Cassandra;
  • Redis;
  • PostgreSQL;
  • MongoDB;
  • и так далее.

Backend-разработчик — кто же это простыми словами? Бэкенд-разработчик — это программист, занимающийся внутренней, вычислительной разработкой ресурсов, к тому же прочего программного обеспечения или баз данных. Иными словами, помимо web-решений, backend необходим для десктопных версий и разработки мобильных приложений, поскольку backend — это, работы, имеющие непосредственное отношение к программно-адаптивной составляющей сервиса.

Мы кратко разобрали что это такое frontend и backend. Теперь вы знаете, в чем между ними разница, давайте рассмотрим, как же связаны сферы фронтенд и бэкенд.

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

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

Взаимодействие между frontend и backend

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

Здесь HTTP-запросы передаются сразу-же на сервер самого приложения, а сервер, в свою очередь, выдает ответ в виде HTML-страницы. В процессе получения запроса и выдачи ответа, сервер производит поиск сведений по полученному запросу в базе данных и генерирует ее в шаблон (ERB, Blade, EJS, Handlebars).

После того, как страница загружена в браузер:

  1. С помощью HTML вы даете команду, что именно должно быть отображено на этой странице.
  2. Через CSS вы информируете браузер каким образом это будет отображено.
  3. JavaScript является неким языком сценариев в интернете, с помощью которого вы сможете настраивать структуру взаимодействия между браузером, HTML и CSS.

AJAX и аналогичные решения

Иной вид архитектуры применяет для коммуникации AJAX (Asynchronous JavaScript and XML). То есть JavaScript, загруженный в браузер, передает HTTP-запрос (XHR, XML HTTP Request) внутри страницы и в результате получает XML-ответ. Помимо этого, для ответов можно применять формат JSON. Более подробно про систему безопасности передачи сведений вы можете прочитать в статье о том, что такое HTTPS-протокол.

Другими словами, ваш сервер обязан иметь некую финальную ступень, которая будет отвечать на получаемые запросы через JSON или с помощью XML-кода. Существует 2 основополагающих протокола, которые используют для данной задачи:

  1. REST.
  2. SOAP.

Также AJAX дает вам возможность производить загрузку сведений при этом не обновляя страницу. Чаще всего, это требуется в таких программных платформах, как Angular и Ember. В последствии разработки, подобные приложения загружаются в браузер и все дальнейшие рендеринги реализуются на стороне пользователя, то есть в браузере. В этом случае, frontend-разработчик комуницируют с backend-разработчиком через HTTP, применяя JSON или XML-код.

Также существуют библиотеки и фреймворки, такие как: React и Ember, которые дают возможность реализовывать приложения как на сервере, так и «в клиенте». В данном случае для коммуникации frontend с backend, в приложении используется AJAX, обрабатываемый на сервере HTML.

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

Пройти опрос Ответить

В принципе Model-View-Controller, что такое Frontend и что такое Backend?



Википедия говорит:

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

Я до сих пор не вижу связи между принципом model-view-controller и идеей front — and backend. Может ли модель с ее доступом к базе данных рассматриваться как бэкэнд, а представление-как фронтэнд?

model-view-controller
Поделиться Источник Kirinriki     16 июня 2012 в 20:53

5 ответов


  • Model View Presenter (MVP) что такое модель?

    Я просто не могу понять, что именно такое MODEL в MVP.

    Если у меня есть многоуровневая архитектура PRESENTATION / APPLICATION / DOMAIN / INFRASTRUCTURE, что именно такое MODEL? DOMAIN объекты, доступные через нижние слои? Отдельный объект, определенный в слое PRESENTATION, который сопоставляется с…

  • Java Model View Controller для чтения файлов

    У меня возникли большие проблемы с разработкой небольшой программы, которая читает текстовый документ и записывает статистику в текстовый файл. Мы должны использовать формат model-view-controller, который мы еще не изучили! В принципе, класс модели представляет текст из текстового файла, и мне…



41

Ладно… сначала условия:

  • Frontend -это части, которые видны пользователям: HTML, CSS, клиентская сторона Javascript. Все это в основном «frontend». В настольном приложении frontend будет GUI.
  • Backend — это невидимая часть. В веб-приложениях это ваш код java, ruby, php или любой другой серверный код. Он может быть либо интерпретирован, либо скомпилирован, потому что «how» он работает, не имеет никакого влияния на «what» он есть.

Если Вы читаете GUI-архитектуры и исследуете паттерн MVC в целом, вы поймете, что MVC -это не разделение бэкенда и фронтенда . Особенно когда речь идет о шаблонах , вдохновленных MVC, которые мы используем для веб-приложений.

Цель MVC и связанных с ним шаблонов состоит в том, чтобы отделить презентацию от бизнес-логики домена.

Вот основные обязанности MVC частей:

  • Модель -бизнес-логика
  • Смотреть — логика презентация
  • Контроллер -изменение состояния модели и вида (на основе ввода пользователя)

Давайте возьмем пример:

  • альтернативное клиентское приложение для twitter
  • использует OAuth для аутентификации
  • пользователь может вводить различные поисковые фразы
  • принимает информацию через Twitter REST API
  • проверка данных
  • разбирает ответы JSON
  • манипулирует DOM для представления информации

Все это можно сделать с помощью client-side JavaScript. У вас может быть MVC триада работает «frontend» ! В то же время «backend», который обеспечивает REST API, является MVC-подобной структурой. Только на этот раз представление генерирует JSON ответ, а не HTML.

*Conclusion: вы можете использовать шаблон MVC как на бэкэнде, так и на фронтенде.**

Пост Скриптум

Поскольку вы создавали некоторые приложения с Rails, ваше понимание MVC может быть искажено. Причина, по которой я говорю это , заключается в том, что, поскольку RoR изначально создавался как структура прототипирования (обратите внимание на все строительные леса и другие функции для генерации ненужного кода), а также из-за его происхождения, Rails фактически реализует очень анемичную версию MVP.

Я называю его «anemic», потому что они нерфили как представление (это должен быть пассивный объект в MVP, а не простой шаблон) , так и слой модели (да, это должен быть сложный слой, а не набор экземпляров ORM) .

Я бы порекомендовал вам прочитать две публикации, чтобы лучше понять эту тему:

Второй подход максимально близок к первоначальному определению паттерна. Это, вместе со статьей «GUI Architectures», должно обеспечить вам прочную основу по этому вопросу. И книга PoEAA (трудно читаемая, кстати) даст вам контекст, в котором вы можете ее расширить.

Поделиться tereško     17 июня 2012 в 00:01



12

Может быть, цифра ниже может помочь..

MVC               Human language    backend/frontend
---------------   ---------------   ---------------
model          -> data           -> backend
controllers    -> actions        -> backend/frontend (depends on implementation)
views          -> GUI            -> frontend

Поделиться Pithikos     02 июня 2015 в 11:02



3

  • вид = интерфейс
  • модели = бэкэнд
  • контроллеры = клей между frontend и backend

Поделиться jopke     16 июня 2012 в 20:58


  • Model View Controller. Что такое модель?

    Что такое модель ? Я разработчик ASP.Net WebForms. Я изучал MVC в течение нескольких дней. Я могу понять концепцию контроллера и представления, но что такое модель ? Это данные ? Обязательно ли это должно быть с LINQ или мы можем использовать традиционные хранимые процедуры ?

  • Что такое «page controller» и «контроллер просмотра страниц»?

    Я новичок в ios, я хочу знать, что такое почтение между page controller и page view controller и как использовать его с UIImage и UIImageView?? Пожалуйста, приведите любой пример и ссылку для того же самого… Заранее благодарю вас !!



1

Передний конец — это то, что видит пользователь, а именно представления. Задняя часть-это контроллеры и модель.

Поделиться Daniel A. White     16 июня 2012 в 20:56



1

В этом случае backend традиционно означает более глубокий код OS или даже ваш код, который не виден/не контролируется пользователем.

Внешний интерфейс — это фактический вид, который видит пользователь.

Поделиться dgund     16 июня 2012 в 20:59


Похожие вопросы:


Что такое MVC (Model View Controller)?

Я слышал, что термин MVC (Model View Controller) в последнее время бросается с тонной шума, но что это на самом деле?


Model View Controller

Может ли кто-нибудь помочь мне понять метод Model-View-Controller, который будет реализован на WebForms? Я запутался в нескольких вещах: Если у нас есть файлы ABC.ASPX и ABC.CS, что такое просмотр?…


Что такое Model View Presenter?

Может ли кто-нибудь объяснить как можно проще, что такое шаблон представления модели? В чем разница с Model View Controller ? Что лучше или для какой цели ?


Model View Presenter (MVP) что такое модель?

Я просто не могу понять, что именно такое MODEL в MVP. Если у меня есть многоуровневая архитектура PRESENTATION / APPLICATION / DOMAIN / INFRASTRUCTURE, что именно такое MODEL? DOMAIN объекты,…


Java Model View Controller для чтения файлов

У меня возникли большие проблемы с разработкой небольшой программы, которая читает текстовый документ и записывает статистику в текстовый файл. Мы должны использовать формат model-view-controller,…


Model View Controller. Что такое модель?

Что такое модель ? Я разработчик ASP.Net WebForms. Я изучал MVC в течение нескольких дней. Я могу понять концепцию контроллера и представления, но что такое модель ? Это данные ? Обязательно ли это…


Что такое «page controller» и «контроллер просмотра страниц»?

Я новичок в ios, я хочу знать, что такое почтение между page controller и page view controller и как использовать его с UIImage и UIImageView?? Пожалуйста, приведите любой пример и ссылку для того…


Yii2 связи между Frontend и Backend

как я могу переключиться с frontend на backend, используя ссылки в приложении yii2? На самом деле я могу устанавливать связи только между frontend или backend, а не между frontend и backend. Я…


Что такое шаблон дизайна mvcl в open-cart?

Что такое шаблон дизайна MVCL в open-cart, я слышал о mvc (model , view, controller), но не понимаю, что такое MVCL и что это такое.


что такое backend и frontend в traefik.toml

Читая документы Traefik я был сбит с толку когда столкнулся с конфигурационным скелетом который был упомянут в документации : traefik.toml: defaultEntryPoints = [http, https] [entryPoints]…

за чем стоим и с чего начать свой путь — Разработка на vc.ru

Для всех, кто не любит делать UI, «дышит» очередями и мечтает об идеальном API, в четвёртый выпуск подкаста «Сушите вёсла» мы позвали backend-разработчиков Андрея, Азата и Антона.

{«id»:119096,»url»:»https:\/\/vc. ru\/dev\/119096-ochered-v-backend-za-chem-stoim-i-s-chego-nachat-svoy-put»,»title»:»\u041e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 backend: \u0437\u0430 \u0447\u0435\u043c \u0441\u0442\u043e\u0438\u043c \u0438 \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0443\u0442\u044c»,»services»:{«facebook»:{«url»:»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/dev\/119096-ochered-v-backend-za-chem-stoim-i-s-chego-nachat-svoy-put»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/dev\/119096-ochered-v-backend-za-chem-stoim-i-s-chego-nachat-svoy-put&title=\u041e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 backend: \u0437\u0430 \u0447\u0435\u043c \u0441\u0442\u043e\u0438\u043c \u0438 \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0443\u0442\u044c»,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter. com\/intent\/tweet?url=https:\/\/vc.ru\/dev\/119096-ochered-v-backend-za-chem-stoim-i-s-chego-nachat-svoy-put&text=\u041e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 backend: \u0437\u0430 \u0447\u0435\u043c \u0441\u0442\u043e\u0438\u043c \u0438 \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0443\u0442\u044c»,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/dev\/119096-ochered-v-backend-za-chem-stoim-i-s-chego-nachat-svoy-put&text=\u041e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 backend: \u0437\u0430 \u0447\u0435\u043c \u0441\u0442\u043e\u0438\u043c \u0438 \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0443\u0442\u044c»,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect.ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc. ru\/dev\/119096-ochered-v-backend-za-chem-stoim-i-s-chego-nachat-svoy-put»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u041e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 backend: \u0437\u0430 \u0447\u0435\u043c \u0441\u0442\u043e\u0438\u043c \u0438 \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0443\u0442\u044c&body=https:\/\/vc.ru\/dev\/119096-ochered-v-backend-za-chem-stoim-i-s-chego-nachat-svoy-put»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}

13 910 просмотров

Железные разработчики Redmadrobot Артём и Рома записывают подкаст, где вместе с гостями обсуждают разные стороны создания ИТ-продуктов и делятся опытом в диджитале. В четвёртом выпуске ведущие разузнали у собеседников, с чего начинался их путь в backend, какой web-framework стоит выбрать, снится ли им верстка экранов и как объяснить маме, кем ты работаешь.

Прикладываем подкаст и ответы на несколько животрепещущих вопросов.

Тайминг

01:27 — Как приходят в backend-разработку.

10:33 — Что привлекает специалистов в backend.

12:32 — Срыв покровов: нужны ли глубокие знания алгоритмов для тех, кто «пилит апишку»?

15:17 — Вопросики масштабирования и безопасности.

16:23 — Одинаковую ли работу делают все backend-разработчики?

19:23 — Ruby on Rails, его «магия», взлёт и падение.

24:23 — Как выбрать платформу?

28:06 — Зачем нужны микрофреймворки и как с ними работать?

33:55 — Что такое асинхронный сервер и для чего он нужен?

35:58 — Go: простота и архитектура.

41:46 — Postgresql вместо MySQL. Почему?

44:58 — Зачем нужно изучить Docker как можно быстрее и для чего стоит поставить nginx?

50:49 — «Зелёные» разработчики: какими минимальными навыками необходимо обладать выпускникам университетов, чтобы устроиться на работу?

1:04:21 — Лучшие книги по алгоритмам.

1:09:33 — Что нужно знать и что не нужно делать на собеседовании?

1:14:29 — Не хочется ли ребятам уйти из backend?

1:20:28 — И все-таки, чего не стоит делать на работе и почему «с людьми нужно общаться»?

Как приходят в backend-разработку?

Несмотря на популярность мобильной разработки, остались еще те, кому милее старый-добрый backend. Среди них, разумеется, и наши гости.

Азат, например, рассказал, как он не пошел в мобильную разработку и решил, что логичнее заниматься веб-разработкой в широком смысле. А вот история Антона тесно связана с Python.

Я учился в университете и выучил Python. Он мне нравился, и мне хотелось продолжать делать что-то на «питоне». А в Белгороде, где я жил и учился, можно было найти только какую-нибудь веб-студию, которая делает сайты на CMS — просто подверстывают шаблоны. Мне этим вообще заниматься не хотелось.

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

Антон Медведев

backend-разработчик

Что привлекает людей в backend…

…Когда есть суперпопулярный frontend?

Артём вспомнил множество собеседований, на которых соискатели рассказывали, почему они хотят строить карьеру в мобильной разработке. Просто чтобы потом похвастаться крутостью приложения. В backend с этим сложнее.

Но на самом деле, если друзья, с которыми ты делишься радостью создания backend, понимают в ИТ-разработке, то они похвалят тебя. А вот маме можно сказать, что делал сервер для мобильного приложения магазина, которым она пользуется. И даже если ей не до конца понятно, что такое сервер, мама всё равно будет гордиться.

Плюсы backend-разработки

Азат предположил, что людей привлекает тот факт, что не нужно верстать. Ещё есть мнение, что backend сложнее и круче, хотя каждому, конечно же, свое. После этого ребята ушли в беседу о масштабировании и безопасности. Подробнее — с 15:17.

Все ли backend-разработчики делают одну работу?

Это не так. Задачи в backend-разработке бывают разными, и они зависят не от языка или платформы, а от потребностей и специфики компании, а также от уровня самого разработчика.

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

Python, Ruby, Go, С++ и все-все-все

Ребята в студии заговорили о том, как выбрать платформу. А также о том, что Ruby «ещё живет» (Рома недавно видел доказательство), а ещё почему Антон начал учить Python, о странных именах создателей языков программирования, простоте Go, микрофреймворках (о них говорили особенно много — слушайте с 28:06), MySQL, Docker, асинхронных серверах и магии рельсов.

«Зелёные» разработчики и минимальные навыки для соискателя

Насколько глубоко должен, например, выпускник университета разбираться в backend, чтобы получить работу?

Во время обсуждения выяснилось, что он должен быть «уверенным пользователем ПК». А если серьезно, то? по мнению Азата, молодой специалист обязан обладать минимальными навыками администрирования Unix-систем — знать определенный набор команд: cd, ls и другие.

Также должен понимать, что такое процесс, какие есть права доступа, какая система прав Linux и как вообще в ней функционируют сети, как работает IPC (inter process communications), TCP сокеты. Для начала этого достаточно. Нужно просто уметь программировать.

Есть базовые вещи, общие для любой разработки, допустим, для ООП (объектно-ориентированного программирования) есть правила написания, проектирования классов. Если это алгоритмы, нужно просто знать, как они проектируются, что там есть, динамическое программирование, ну и «использовать stack везде, где можно».

Антон Медведев

backend-разработчик

Иными словами, для начала погружаться в это с головой не нужно.

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

Какие книги по алгоритмам стоит прочитать

Андрей «топил» за Стивена Скиена и его «Алгоритмы. Разработка и применение». Антон порекомендовал книгу Томаса Кормена, в которой «есть баланс между строгостью, понятностью и простотой изложения», и ещё “Cracking the Coding Interview” — хорошее практическое руководство, чтобы быстро разобраться в алгоритмах.

Также гости посоветовали «Искусство программирования» Дональда Кнута, которая задумывалась как пособие по компиляторам, а стала настоящей «книгой книг».

В итоге backend — да или нет?

Ребята пришли к выводу, что во всех сферах веб-разработки есть свои плюсы и минусы. И это нормально. Если вам нравится backend, алгоритмы и очереди, то вам стоит задуматься о карьере именно в нём. Это если кратко.

Если же хочется вживую услышать рассуждения, то включайтесь в подкаст с 1:14:29.

Полезные материалы

Для желающих погрузиться в Python можно почитать:

Подборка для будущих джедаев REST:

Предыдущие выпуски подкаста «Сушите вёсла»

Аутсорсинг backend разработки 💻| Компания «Work Solutions»

Что такое бэкэнд

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

Чем бекэнд отличается от фронтэнда

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

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

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

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

Как передать на аутсорсинг разработку backend

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

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

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

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

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

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

Организуйте процесс коммуникации между front- и back-end разработчиками. Утвердите процессы согласования задач и этапов. Если синхронизировать работу этих двух направлений, проект с большей вероятностью уложится в сроки. Конечно, в этом не будет необходимости, если вы нанимаете полную команду у outsource-компании.

Какие бекенд-технологии применяются в современной веб-разработке

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

Большинство коммерческих сайтов написано на PHP. Для разработки на этом языке программирования существуют фреймворки. Это платформы, которые определяют структуру системы и упрощают объединение компонентов большого программного проекта. Laravel, Symfony, Yii и Zend — самые популярные бесплатные PHP-фреймворки. Каждый из них имеет отличия, но все они используют архитектурную модель MVC (модель-представление-контроллер) и поддерживают популярные баз данных (MySQL, PostgreSQL, SQLite).

Другой, не столь распространенный, но при этом популярный язык бекенд-программирования — Python и его фреймворки Django, Flask, Asyncio. К преимуществам принято относить скорость и производительность работы. В отличие от PHP, Python поддерживает параллелизм, что позволяет создавать более производительные и масштабируемые системы. Этот язык также подходит для решения задач, связанных со сферами машинного обучения и анализа данных, которые открывают широкий спектр возможностей для бизнеса.

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

Почему мы?

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

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

Получите консультацию

Источник изображений: Freepik Stories

Чем отличаются фронтенд- и бэкенд-разработка

Перевод статьи «Front End Developer vs Back End Developer – Definition and Meaning In Practice».

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

Многослойность разработки

Не важно, работаете вы над сайтом или нативным iOS-приложением: все окружения разработки имеют нечто общее, а именно — фронтенд и бэкенд.

Линия разграничения между ними может быть довольно размытой, особенно с учетом роста популярности JavaScript и бессерверных технологий. Когда инструментарий фронтенда и бэкенда становится общим, мы порой можем задуматься, а не относимся ли мы к full stack разработчикам. Спойлер: не относимся. По крайней мере, не все.

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

А некоторые люди наоборот — лучше всего проявляют себя, создавая API в бэкенде приложения, а UI создают только в виде прототипов.

В чем разница между фронтенд- и бэкенд-разработкой?

Даже если вы full stack разработчик, это не означает, что при работе над проектом у вас не будет разделения труда.

Что из себя представляют обе части разработки?

Что такое фронтенд-разработка?

Фронтенд приложения обычно охватывает слой пользовательского интерфейса (UI). А UI бывает и на статических сайтах, и на полнофункциональных React-приложениях.

Как выглядела фронтенд-разработка раньше?

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

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

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

К наиболее традиционным инструментам фронтенда можно отнести следующие:

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

Что собой представляет фронтенд-разработка в настоящее время?

Сейчас на сайтах и в приложениях интенсивно используется JavaScript, а создаются они при помощи UI-фреймворков, таких как React, Vue и Angular. Эти инструменты позволяют разработчикам строить сложные пользовательские интерфейсы из компонентов, пригодных для многократного использования.

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

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

Сегодня широко используются следующие инструменты фронтенд-разработки:

  • UI-фреймворки вроде React или Vue,
  • веб-фреймворки, такие как Gatsby,
  • компиляторы (Babel),
  • сборщики (Webpack),
  • CSS-инструменты, например Sass.

Но API (хоть платные, хоть разработанные нами лично), должны где-нибудь создаваться. Так мы подходим к теме бэкенда.

Что такое бэкенд-разработка?

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

Как бэкенд-разработка выглядела раньше?

Традиционно бэкенд приложений создавался при помощи таких серверных языков как PHP или Ruby. Идея была в том, что для осуществления сложных операций вам нужен сервер, а значит, нужно применять языки, понятные для серверов.

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

К традиционным инструментам бэкенда можно отнести следующие:

  • локально или удаленно управляемые серверы, например Rackspace,
  • HTTP-серверы, использующие Apache,
  • базы данных, например MySQL,
  • серверные языки (PHP или Perl),
  • фреймворки приложений, такие как Ruby on Rails.
Что собой представляет бэкенд-разработка сейчас?

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

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

Также может полностью отличаться работа самого сервера. Раньше мы запускали наш Python-код на управляемом нами сервере (это мы и сейчас можем). Теперь мы также можем использовать бессерверные функции — благодаря таким инструментам как AWS Lambda, упрощающим управление кодом.

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

Сегодня распространены следующие инструменты бэкенда:

  • облачные серверы вроде AWS EC2,
  • бессерверные сервисы, такие как AWS Lambda,
  • базы данных NoSQL (MongoDB),
  • такие языки как Python или JavaScript (последний — с применением NodeJS),
  • фреймворки веб-приложений, например Serverless Framework.

Сумеречная зона

До сих пор разграничение технологий было довольно понятным. Но штука в том, что сейчас вы можете писать бэкенд на JavaScript. Появление Node.js дало разработчикам возможность использовать любимый язык браузера для работы на сервере.

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

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

Фронтенд или бэкенд

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

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

Учебные ресурсы

Фронтенд

Бэкенд

Для обоих направлений

Хочешь проверить свои знания по JS?

Подпишись на наш канал с тестами по JS в Telegram!

Решать задачи ×

Введение в бэкенд || CodenameCRUD

Три языка фронтенда достаточно стандартизированы — HTML для разметки страниц, CSS для внешнего вида, Javascript для сценариев. Бэкенд это другая история… вы можете использовать что угодно на вашем сервере до тех пор, пока это не относится к браузеру пользователя. Все, что заботит браузер — это то, чтобы ему были посланы корректно составленные файлы HTML, CSS и Javascript (или что-то другое, например изображения). Это привело к тому, что сейчас существует огромный выбор языков для бэкенд-программирования. Если какой-нибудь язык может принять HTTP запрос и выплюнуть какой-нибудь HTML файл, то, в принципе, вы можете использовать такой язык на сервере.

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

Вот некоторые из наиболее популярных серверных языков — это PHP, ASP.NET, Ruby, Python и Java (не путайте с Javascript). И точно так же как я могу сказать на разных языках «как пройти в ближайший паб?», так же и все эти языки делают практически одно и тоже, просто используя разный синтаксис.

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

Вы Должны Понимать:

  • Разницу между фронт- и бэкэнд разработкой
  • Почему вам необходимо инсталлировать Ruby, и нет необходимости инсталлировать Javascript

Задания:

  1. Посмотрите этот блог о бэк- и фронтенд программировании как быстрое напоминание о разнице между ними.
  2. Прочтите небольшое интервью с Мэттом Джордингом о том, что такое бэкенд-разработка.
  3. Наберите в командной строке $ ruby -v и $ rails -v (помните, что $ просто представляет командную строку). Вы должны получить версии, подобные 2.0.0 и 4.0.01.9.3 и 3.2.x тоже можно работать, но разница будет существеннее при более углубленном изучении Rails. Если вы не получили эти значения, вернитесь к Проект: Установки и проведите установку.
  4. У вас также должна быть возможность выполнить команду $ which git и увидеть каталог, где Git был установлен. Пользователи Windows должны выполнить $ where.exe git.

Дополнительные ресурсы

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

Поделиться уроком:

Front-end, Back-End и Full-stack, описание и отличия — Статьи — Digital Agency CASTCOM

Сфера веб-разработки постоянно меняется. Поэтому разработчики просто обязаны быть в курсе новостей, успешно применять последние тенденции и уметь работать с новыми инструментами.

 

В первую очередь необходимо ознакомиться с терминами:

 

Front-end — это клиентская сторона пользовательского интерфейса. К этому понятию относят всё, что видит пользователь, загружая веб-страницу: дизайн сайта, юзабилити, различные формы.

 

Back-End — это процесс программирования, конечной целью которого является разработка серверной части web-ресурса и ее объединение с пользовательской стороной.

 

Full-stack — это совмещение предыдущих понятий.

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

Понять, что такое front-end разработка довольно легко. Для этого необходимо просто открыть код любой web-страницы. Этот код и является результатом деятельности frontend-разработчика.

 

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

 

Для front-end используют следующие языки, из которых только один является языком программирования:

 

  • HTML — язык гипертекстовой разметки, который используют для построения структуры web-страницы: заголовков, абзацев, списков и прочего.
  • CSS — язык, используемый для описания внешнего вида страниц. Именно этот код отвечает за распознавание браузером отдельных элементов на странице.
  • JavaScript — мультипарадигменный язык программирования, разработанный для использования в браузерах. JavaScript добавляет интерактивности и буквально оживляет страницы сайтов.

Back-end

Back-end development — программирование сайта, в процессе которого web-ресурс наполняется функционалом. Одной из главных функций бэкэнд является работа с пользовательской информацией, получаемой из front-end. Задача разработки в этом случае заключается в  преобразовании полученной информации в более понятный для front-end вид.

 

Бэкэнд разработчик использует для работы все инструменты, которые доступны на его сервере. Это могут быть любые универсальные языки программирования: PHP, Java, Ruby, Python.

 

Задачи Backend программиста могут варьироваться в зависимости от цели работ. В сферу его деятельности входит и интеграция баз данных, и обеспечение безопасности, и создание специальных технологий для резервного копирования.

Full-stack

Программист Full-stack принимает непосредственное участие в каждой стадии разработки веб-приложений. Но его основной задачей является создание правильной основы приложения, которая сможет справиться со всей дальнейшей нагрузкой.

 

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

Как заказать разработку в агентстве “CASTCOM”?

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

 

Одной из таких компаний является агентство “CASTCOM”, предлагающее широкий спектр услуг в сфере создания и поддержки сайтов. Компания реализовала множество успешных и нестандартных проектов и готова разработать для вас сайт любого типа.

 

Как заказать разработку в агентстве “CASTCOM”:

 

Для заказа услуги можно выбрать любой из представленных выше способов.

Определение бэкэнда

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

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

Примеры серверных процессов:

  1. обработка входящего запроса веб-страницы
  2. запускает скрипт (PHP, ASP, JSP и т. Д.) Для генерации HTML
  3. доступ к данным, таким как статья, из базы данных с помощью запросов SQL
  4. хранение или обновление записей в базе данных
  5. шифрование и дешифрование данных
  6. обработка загрузки и выгрузки файлов
  7. обработка пользовательского ввода через JavaScript

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

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

ПРИМЕЧАНИЕ. Backend также можно записать как «back end» (существительное) или «back-end» (как прилагательное). Для простоты термин «бэкэнд» (закрытое составное слово) стал приемлемым термином для обоих.

Обновлено: 11 апреля 2020 г.

TechTerms — Компьютерный словарь технических терминов

Эта страница содержит техническое определение Backend. Он объясняет в компьютерной терминологии, что означает Backend, и является одним из многих программных терминов в словаре TechTerms.

Все определения на веб-сайте TechTerms составлены так, чтобы быть технически точными, но также простыми для понимания. Если вы найдете это определение Backend полезным, вы можете ссылаться на него, используя ссылки для цитирования выше. Если вы считаете, что термин следует обновить или добавить в словарь TechTerms, отправьте электронное письмо в TechTerms!

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

Подписаться

Что такое передняя и задняя части? Определение от WhatIs.com

От

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

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

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

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

Назначение передней и задней части

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

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

Примеры передней и задней части

Понятия и компоненты, ориентированные на внешний интерфейс системы, включают:

  • Языки дизайна и разметки, такие как HTML, CSS и JavaScript.
  • Поисковая оптимизация (SEO).
  • Тестирование удобства и доступности.
  • Инструменты графического дизайна и редактирования изображений.
  • Производительность в Интернете и совместимость с браузерами.

И наоборот, те, которые сосредоточены на серверной части системы, включают:

  • Языки программирования и сценариев, такие как PHP, Python и C #.
  • Среды автоматизированного тестирования.
  • Масштабируемость и доступность сети.
  • Управление базами данных и преобразование данных.
  • Практика кибербезопасности и резервного копирования данных.

Последнее обновление: май 2019 г.

Продолжить чтение о передней и задней части Серверная веб-архитектура

| Codecademy

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

Внешний интерфейс — это код, который выполняется на стороне клиента. Этот код (обычно HTML, CSS и JavaScript) запускается в браузере пользователя и создает пользовательский интерфейс.

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

Обзор HTTP и ОТДЫХАЙТЕ, если хотите освежить в памяти эти темы. Это основные соглашения, которые обеспечивают структуру цикла запрос-ответ между клиентами и серверами.

Давайте начнем с обзора взаимоотношений клиент-сервер, а затем мы сможем собрать все воедино!

Какие клиенты?

Клиенты — это все, что отправляет запросы в серверную часть.Часто это браузеры, которые запрашивают код HTML и JavaScript, который они будут выполнять для отображения веб-сайтов конечному пользователю. Однако существует много разных типов клиентов: это может быть мобильное приложение, приложение, работающее на другом сервере, или даже интеллектуальное устройство с подключением к Интернету.

Что такое серверная часть?

Серверная часть — это вся технология, необходимая для обработки входящего запроса, генерации и отправки ответа клиенту. Обычно он включает три основных части:

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

Что такое сервер?

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

Каковы основные функции приложения?

На сервере запущено приложение, которое содержит логику того, как отвечать на различные запросы на основе HTTP-команды и унифицированного идентификатора ресурса (URI). Пара HTTP-глагола и URI называется маршрутом , а сопоставление их на основе запроса называется маршрутизацией .

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

В конце концов, будет вызвана функция промежуточного программного обеспечения, которая завершит цикл запрос-ответ, отправив ответ HTTP обратно клиенту.

Часто программисты используют фреймворк вроде Express или Ruby on Rails для упрощения логики маршрутизации. На данный момент просто подумайте, что каждый маршрут может иметь одну или несколько функций-обработчиков, которые выполняются всякий раз, когда выполняется запрос к этому маршруту (HTTP-команда и URI).

Какие ответы может отправлять сервер?

Данные, которые сервер отправляет обратно, могут иметь разные формы. Например, сервер может обслуживать файл HTML, отправлять данные в формате JSON или отправлять обратно только код состояния HTTP.Вы, вероятно, видели код состояния «404 — не найден» всякий раз, когда пытались перейти к несуществующему URI, но существует гораздо больше кодов состояния, которые указывают на то, что произошло, когда сервер получил запрос.

Что такое базы данных и зачем нам их использовать?

Базы данных обычно используются в серверной части веб-приложений. Эти базы данных предоставляют интерфейс для постоянного сохранения данных в памяти. Хранение данных в базе данных снижает нагрузку на основную память ЦП сервера и позволяет извлекать данные в случае сбоя сервера или потери питания.

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

Что такое веб-API на самом деле?

API — это набор четко определенных методов связи между различными программными компонентами.

Точнее, веб-API — это интерфейс, созданный серверной частью: набор конечных точек и ресурсов, которые эти конечные точки предоставляют.

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

Один веб-API может использоваться для предоставления данных для разных интерфейсов. Поскольку веб-API может предоставлять данные без реального указания способа просмотра данных, можно создать несколько различных HTML-страниц или мобильных приложений для просмотра данных из веб-API.

Другие принципы цикла запрос-ответ:

  • Обычно сервер не может инициировать ответы без запросов!
  • Каждый запрос требует ответа, даже если это всего лишь код состояния 404, указывающий на то, что контент не был найден.В противном случае ваш клиент останется висит (неопределенное ожидание).
  • Сервер не должен отправлять более одного ответа на запрос. Это вызовет ошибки в вашем коде.

Отображение запроса

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

1. Алиса делает покупки на SuperCoolShop.com. Она нажимает на изображение обложки для своего смартфона, и это событие щелчка отправляет запрос GET на http: // www. SuperCoolShop.com/products/66432 .

Помните, GET описывает тип запроса (клиент просто запрашивает данные, ничего не меняя). URI (унифицированный идентификатор ресурса) / products / 66432 указывает, что клиент ищет дополнительную информацию о продукте, и этот продукт имеет идентификатор 66432.

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

2. Запрос Алисы отправляется через Интернет на один из серверов SuperCoolShop. Это один из самых медленных шагов в процессе, потому что запрос не может быть быстрее скорости света, и ему может потребоваться большое расстояние. По этой причине у крупных веб-сайтов с пользователями по всему миру будет много разных серверов, и они будут направлять пользователей на ближайший к ним сервер!

3.Сервер, который активно прослушивает запросы от всех пользователей, получает запрос Алисы!

4. Срабатывают прослушиватели событий, соответствующие этому запросу (HTTP-команда: GET и URI: / products / 66432 ). Код, который выполняется на сервере между запросом и ответом, называется промежуточным программным обеспечением .

5. При обработке запроса код сервера делает запрос к базе данных, чтобы получить дополнительную информацию об этом корпусе смартфона. База данных содержит всю остальную информацию, которую Алиса хочет знать об этом чехле для смартфона: название продукта, цена продукта, несколько обзоров продукта и строка, которая предоставит путь к изображению продукта.

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

7. Сервер получает необходимые данные из базы данных, и теперь он готов создать и отправить свой ответ обратно клиенту.В этом теле ответа содержится вся информация, необходимая браузеру, чтобы показать Алисе более подробную информацию (цена, отзывы, размер и т. Д.) О интересующем ее корпусе телефона. Заголовок ответа будет содержать код состояния HTTP 200, чтобы указать, что запрос имеет удалось.

8. Ответ отправляется через Интернет обратно на компьютер Алисы.

9. Браузер Алисы получает ответ и использует эту информацию для создания и рендеринга представления, которое в конечном итоге видит Алиса!

Front-End vs.Back-end разработчик: что такое…

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

Некоторые веб-разработчики решают специализироваться на определенном языке программирования (JavaScript, Python, Swift), в то время как другие развивают опыт в определенной области веб-разработки, такой как мобильные устройства или базы данных. Наиболее распространенное различие между веб-разработчиками — это выбор между интерфейсом и сервером, и по мере продвижения в учебе вы, несомненно, будете сталкиваться с этими терминами все чаще и чаще.

Итак, в чем разница между интерфейсной и серверной веб-разработкой и чего можно ожидать от каждой области с точки зрения набора навыков и повседневной работы?

Что такое Front-End разработка?

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

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

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

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

Что такое внутренняя разработка? С другой стороны,

Back-end разработка — это определение внутренней логики веб-сайта. В то время как интерфейс веб-сайта называется «клиентской стороной», серверная часть называется «серверной», потому что она работает на сервере веб-сайта, а не на компьютере пользователя.

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

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

Разница между Front-End и Back-End разработкой

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

Back-end разработчики для Google Maps несут ответственность за создание умных и эффективных алгоритмов поиска пути, которые доставят вас туда, куда вам нужно, в кратчайшие сроки. Внешние разработчики несут ответственность за отображение этой информации в привлекательной и понятной для вас форме.

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

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

Фронтенд и бэкэнд: требуемые навыки

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

Навыки переднего плана

Основными языками интерфейса являются HTML, CSS и JavaScript.Чтобы начать обучение, зарегистрируйтесь на онлайн-курс «Введение в программирование» Fullstack Academy.

В тандеме с этими тремя столпами интерфейсной разработки многие программисты будут использовать различные фреймворки и библиотеки, чтобы упростить написание и организацию своего внешнего кода. Эти надстройки к HTML, CSS и JavaScript призваны сделать разработку более быстрой и более структурированной.

Некоторые из самых популярных интерфейсных фреймворков и библиотек включают Bootstrap, jQuery, AngularJS и React (для JavaScript), а также Sass и LESS (для CSS).Разработчики интерфейсов также должны использовать дизайн, ориентированный на мобильные устройства, или адаптивный дизайн, чтобы веб-страницы хорошо отображались на всех устройствах.

Внутренние навыки

Дорожная карта для внутренней разработки немного менее ясна. Программное обеспечение, работающее на серверной части, может быть написано на сотнях различных языков программирования, поэтому внутренние разработчики обычно ограничиваются несколькими языками, которые лучше всего подходят для их нужд. Хотя изначально JavaScript был интерфейсным языком, он все чаще используется в серверной части благодаря популярной серверной платформе Node.js. Другие распространенные серверные языки включают Scala, Python, Ruby и Go.

Как и разработчики интерфейсов, внутренние разработчики также используют фреймворки и библиотеки, чтобы заботиться о технических деталях низкого уровня, поэтому разработчики сами могут сосредоточиться на текущих задачах более высокого уровня. (Это похоже на использование функции «СУММ» в Excel для более быстрого выполнения бюджета отдела вместо того, чтобы складывать все самостоятельно.) Внутренние фреймворки и библиотеки включают Rails для языка программирования Ruby и Django для Python.

Почти каждый веб-сайт, который позволяет пользователям делать запросы, будет иметь базу данных на сервере. Помимо знания языков программирования, внутренние разработчики должны иметь некоторый опыт работы с такими технологиями баз данных, как Oracle, Microsoft SQL Server и MySQL. Эти знания используются для написания бизнес-логики или набора правил во внутреннем коде. Разработчики используют эти правила, чтобы диктовать, как создавать модели базы данных, как писать в базу данных и как запрашивать у нее соответствующую информацию.

Почему важно знать навыки работы с фронтендом и сервером

Даже если в вашей карьере вам, вероятно, придется выбирать между внешним или внутренним интерфейсом, наличие обоих наборов навыков дает множество преимуществ. На начальном этапе как полной, так и частичной иммерсивной программы Fullstack студенты начинают осваивать HTML5, расширенный CSS и современные технологии, такие как React во внешнем интерфейсе и Node.js и API во внутреннем интерфейсе. Поскольку Fullstack фокусируется на одном языке — JavaScript, а не на нескольких, его программы уникальным образом подготавливают студентов к беспрепятственной работе в обеих сферах.

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

Наверх Далее: выбор программы или учебного курса

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

Например, учебные курсы, посвященные исключительно языку программирования Swift, подготовят вас к разработке приложений для iOS, но не к созданию веб-сайтов. Учебные курсы, которые обучают вас широкому спектру навыков, могут показаться вам большой гибкостью, но вы можете не развить достаточно опыта в каком-либо одном языке, чтобы найти работу. Вам нужно будет выбрать правильный баланс между универсальностью и специализацией, чтобы вы могли успешно занять позицию в выбранной вами области.

Посмотрите, как интерфейсные и внутренние навыки вплетены в учебную программу в Fullstack Academy и программе Grace Hopper, или познакомьтесь с командой инструкторов .

Что такое бэкэнд в разработке? (Объясняется на простом английском)

Backend — это технический термин, используемый для описания области конфигурации приложения. В WordPress бэкэнд используется для определения административной области веб-сайта, где вы создаете контент, устанавливаете плагины, управляете настройками дизайна и т. Д. Бэкэнд WordPress также известен как wp-admin или админка WordPress.

Серверная часть WordPress

Вы можете войти в бэкэнд WordPress, добавив / wp-admin / в конце URL-адреса вашего веб-сайта.

Бэкэнд WordPress состоит из следующих страниц:

Dashboard — это первый экран, который вы увидите и отображает обзор вашего веб-сайта.

Сообщения — это место, где вы составляете, редактируете, публикуете или удаляете статьи.

Медиа позволяет загружать, просматривать, искать, редактировать и управлять медиафайлами.

Pages — это место, где вы можете просматривать, создавать и управлять статическими страницами.

Комментарии позволяет модерировать комментарии посетителей и управлять ими.

Внешний вид — это место, где вы можете изменять темы, управлять меню и виджетами.

Плагины позволяют устанавливать приложения, расширяющие возможности вашего сайта.

Пользователи позволяет добавлять, просматривать, редактировать и определять роли пользователей на вашем сайте.

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

Настройки — это центральное место для настройки основных параметров вашего сайта.

В зависимости от плагинов и тем WordPress, которые вы используете, в вашем бэкэнде WordPress могут быть другие настройки и параметры.

В наших руководствах по WordPress и других статьях в Интернете вы можете встретить термин «бэкэнд», который используется в некоторых других сценариях.

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

Давайте посмотрим на каждый из них и на то, что они означают.

Что такое серверный разработчик?

Внутренний разработчик создает и поддерживает технологии, необходимые для правильной работы вашего веб-сайта.Backend-разработчики используют базы данных, серверные скрипты, API (интерфейс прикладного программирования) и другие скрытые системы.

Что такое серверные языки?

Backend языки помогают серверам, приложениям и базам данных взаимодействовать друг с другом. Backend-разработчики используют специальные языки программирования, такие как PHP, Ruby, Python, Java и .Net, для создания серверных приложений. Эти серверные языки используются для управления системами с MySQL, Oracle и SQL Server для поиска, сохранения и редактирования данных для внешних пользователей.WordPress использует PHP и Javascript в качестве внутренних языков. Эти языки кодирования взаимодействуют с базой данных WordPress, используемой для хранения и организации данных ваших веб-сайтов.

Что такое проект внутренней разработки?

Backend разработка — это термин, используемый в процессе планирования веб-сайтов. Это включает в себя исследование рынка, фронтенд и бэкэнд-разработку, стратегию создания контента, оптимизацию SEO и многое другое.

В чем разница между серверной частью и фронтендом?

Термины «интерфейс» и «бэкэнд» описывают две основные части любого веб-сайта.В WordPress серверная часть находится за кулисами, и посетители вашего веб-сайта обычно не видят эти области. Он виден только администраторам и зарегистрированным пользователям, у которых есть доступ к области администрирования. Интерфейс является общедоступным, и это то, что пользователи видят при посещении вашего веб-сайта.

Обязательно ознакомьтесь с приведенными ниже ссылками для получения дополнительной информации о WordPress Backend.

Дополнительная литература

Back end — определение и значение

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

Внутренние отделы или офисы предоставляют услуги, которые позволяют бизнесу функционировать. Примеры включают администрирование, бухгалтерский учет, персонал (HR или человеческие ресурсы), обработку документов и обработку данных связи.

Значение термина контрастирует с его «передняя часть» . «Внешний интерфейс» — это часть компании, которую часто видят и слышат посторонние. Отделы продаж, маркетинга и связей с общественностью (PR) являются частью «внешнего интерфейса» .

Инвестиционные банки используют термины бэк-офис и фронт-офис , а не бэкэнд и передний конец .

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

Business Dictionary имеет следующее определение:

«Незаметный» операционный центр предприятия, с которым заказчик редко контактирует. Внутренние офисы или отделы предоставляют услуги, составляющие бизнес-функцию, такие как бухгалтерский учет, администрирование, обработка данных связи, обработка документов ».

Внутренние продажи

Внутренние продажи — это продукты, которые компании продают существующим клиентам.Другими словами, продажи совершаются покупателям, которые уже купили.

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

Маржа от этих повторных продаж более чем компенсирует первоначальную низкую прибыль. Фактически, повторные продажи более чем компенсируют любые первоначальные убытки.

Mbaskool.com пишет:

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

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

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

В этом контексте термин «прибыльный» означает «способный получать хорошую прибыль».

Серверная часть — ИТ и телекоммуникации

В ИТ мы используем бэкэнд и интерфейс для описания программных сервисов и интерфейсов относительно их первоначального пользователя.Первоначальный пользователь может быть программой или человеком. Эти два термина также имеют то же значение в телекоммуникациях. IT означает i nformation t echnology.

Внутренняя программа или приложение косвенно служит для поддержки служб внешнего интерфейса .

Согласно searchdatacenter.techtarget.com :

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

MBaas или BaaS — это модель предоставления мобильного приложения и веб-приложения для разработчиков. MBaas означает m obile b ackend a s a s service, а BAAS означает b ackend a s a s ervice.

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

Видео — задняя и внешняя

В этом видео Амир Розич объясняет, что такое внешний и задний конец бизнеса. Первое привлекает клиентов, второе — за кадром. Затем он рассказывает о том, на чем будут сосредоточены менеджеры по маркетингу в своих интернет-кампаниях.


Front End vs. Back End: определения и различия

Если вы заинтересованы в карьере в веб-разработке, важно понимать различия между front-end разработкой и back-end разработкой.Чем больше вы будете знать и понимать, как работает каждый из них, и их основные различия, тем лучше вы сможете определить, какой карьерный путь вам подходит. В этой статье мы определим интерфейсную разработку, внутреннюю разработку и различия между ними.

Связано: Узнайте о том, как стать веб-разработчиком

Что такое интерфейсная разработка?

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

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

Это означает, что в то время как веб-дизайн ориентирован на внешний вид веб-сайта, интерфейсная разработка — это то, как этот дизайн и «внешний вид» отображаются на самом веб-сайте.

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

  • Веб-дизайнер
  • Дизайнер пользовательского интерфейса
  • Фронтенд-разработчик
  • Дизайнер пользовательского интерфейса (UI)

Связано: Узнайте, как быть фронтовиком -End Developer

Что такое внутренняя разработка?

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

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

В чем разница между интерфейсом и сервером?

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

Вот еще несколько различий между интерфейсом и сервером:

  • Языки программирования
  • Должностные обязанности
  • Навыки
  • Заработная плата

Языки программирования

Чтобы стать веб-разработчиком, вам нужно: знать различные языки программирования, в зависимости от типа веб-разработчика, в том числе:

  • Внешний интерфейс: Язык разметки гипертекста (HTML), каскадные таблицы стилей (CSS), JavaScript
  • Серверная часть: Java, PHP , Ruby on Rails, Python, ASP.NET, Golang, SQL

Хотя внутренние разработчики понимают HTML и CSS, они больше работают с другими языками.

Должностные обязанности

Ежедневные задачи front-end разработчика и back-end разработчика сильно различаются в зависимости от их должности, а именно:

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

Вот ежедневные задачи внешнего разработчика:

  • Реализация визуальных элементов веб-сайта или приложения
  • Использование адаптивного дизайна при создании пользовательского интерфейса веб-сайта или приложения
  • Тестирование веб-сайта или приложения на удобство использования
  • Устранение неполадок любого кода, который не является работает
  • Улучшение визуальной архитектуры веб-сайта или приложения
  • Изменение интерфейсов веб-сайта и приложений
  • Сотрудничество с back-end разработчиками

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

Вот ежедневные задачи back-end разработчика:

  • Анализ данных, процессов и кодов
  • Участие в тренингах, чтобы оставаться на вершине текущих практик
  • Сотрудничество с другими членами команды, а также с разработчиками интерфейсов
  • Отчетность данных для необходимых сторон
  • Создание функциональных API и ядра сайта
  • Мониторинг состояния сервера
  • Проектирование пользовательского интерфейса

Навыки

Навыки, необходимые для веб-разработчиков, различаются в зависимости от типа веб-разработчика, а именно:

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

Вот некоторые навыки, необходимые для front-end разработчика:

  • Знание front-end разработчика языки, такие как HTML, CSS и JavaScript
  • Знание веб-фреймворков
  • Знание адаптивного дизайна
  • Способность тестировать и отлаживать
  • Навыки решения проблем
  • Коммуникативные навыки
  • Понимание веб-браузеров

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

Вот некоторые навыки, необходимые для внутреннего разработчика:

  • Способность писать и редактировать код
  • Знание веб-фреймворков и языков программирования серверной части
  • Знание языков интерфейса
  • Знание соответствия требованиям безопасности
  • Навыки управления временем
  • Навыки решения проблем
  • Коммуникативные навыки
  • Знание мобильной веб-разработки
  • Организационные навыки

Заработная плата

Заработная плата внутреннего разработчика vs.

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

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