Front end и back end

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

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

Например, в проектировании программного обеспечения, Model-View-Controller архитектура обеспечивает front-end и back-end между базой данных, компонентами обработки данных и пользователями.

Разделение между программными системами на front-end и back-end упрощает разработку. Front (или клиент) сторона — это любой компонент, управляемый пользователем, а back (сервер) сторона выполняется на сервере. Путаница возникает, когда кто-то должен применить front-end изменения к файлам на стороне сервера. Большинство веб-дизайнеров и верстальщиков, к примеру, не должны знать особенностей работы сервера во время вёрстки сайта и, наоборот, back-end программистам не требуется глубоких знаний HTML и CSS.

Примеры концепции[править | править код]

  1. Для большинства компьютерных систем графические файловые менеджеры являются front-end’ом для компьютерных файловых систем. Пользователь от лица front-end выполняет действия (нажатие на ярлык, переименование и т. д.), а back-end выполняет требуемые действия.
  2. В компьютерных сетях front-end может относиться к любому оборудованию, которое оптимизирует или защищает сетевой трафик.
  3. В системах управления содержимым (CMS) термины front-end и back-end могут относиться к отображенной пользователю части CMS и административной части соответственно.
  4. В компиляторах front-end транслирует исходный код в переходное представление, а back-end работает с ним для генерации машинного кода[1]. Зачастую back-end оптимизирует код, который работает быстрее. Компилятор Clang, транслирующий исходный код в LLVM байт-код является front-end’ом к LLVM, который в свою очередь транслирует байт-код в машинный код.
  5. В синтезе речи front-end относится к части системы синтеза, которая конвертирует входной текст в символьное фонетическое представление, а back-end конвертирует это представление непосредственно в звуки.
  6. В контексте веб-приложений, посредник — это сервис, который функционирует одновременно как сервер для front-end'а и как клиент для back-end'а.[2]

См. также[править | править код]

Примечания[править | править код]

  1. http://www.univ-orleans.fr/lifo/Members/Mirian.Halfeld/Cours/TLComp/l3-introCompilers.pdf
  2. Ka-Ping, Yee. «Definition of a Mediator». Ka-Ping. In the context of WWW applications, a mediator is a service that functions simultaneously as a server on its front end and as a client on its back end.