Фронтенд: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Добавлена отсылка к GO, как к одному из популярнейших языков реализации бэкенда.
Нет описания правки
 
(не показано 35 промежуточных версий 15 участников)
Строка 1: Строка 1:
<noinclude>{{к переименованию|2024-10-16|Фронтенд и бэкенд}}
'''Фронтенд''' ({{lang-en|front-end}}) — [[Клиент (информатика)|клиентская]] сторона [[Пользовательский интерфейс|пользовательского интерфейса]] к программно-аппаратной части сервиса.
</noinclude>'''Фронтенд''' ({{lang-en|front end, frontend}}) — презентационная часть [[Информационная система|информационной]] или [[Программная система|программной]] системы, её [[пользовательский интерфейс]] и связанные с ним компоненты; '''''бэкенд''''' ({{lang-en|back end, backend}}) — базисная часть системы, её внутренняя реализация (простым языком, ''серверная часть программы, что не видит пользователь'').


Разделение программных систем на фронтенд и бэкенд — одно из стандартных решений для [[Архитектура программного обеспечения|архитектуры программного обеспечения]], связанное в [[Программная инженерия|программной инженерии]] с [[Разделение ответственности|принципом разделения ответственности]] между внешним представлением и внутренней реализацией. Как правило, бэкенд реализует [[API]], используемые фронтендом, и таким образом фронтенд-разработчику не нужно знать особенности реализации внутренней части, а бэкенд-разработчику — интерфейсные решения. Кроме того, такое разделение позволяет использовать различные инструменты для реализации внутренней и внешней части системы, более эффективные для соответствующих задач. Например, в [[Веб-разработка|веб-разработке]] к технологиям фронтенда относятся [[HTML]], [[CSS]], [[JavaScript]]; а бэкенд может быть реализован на [[PHP]], [[Java]], [[Python]], [[JavaScript]] ([[Node.js]]), [[C++]].
'''Бэкенд''' ({{lang-en|back-end}}) — программно-аппаратная часть сервиса, отвечающая за функционирование его внутренней части.


Иногда, под бэкендом в контексте информационных систем понимается административная часть системы (включая интерфейс), не отображаемая конечному пользователю, в частности, такая терминология используется в [[Система управления содержимым|системах управления содержимым]] (в этом случае разделение ближе к используемому в сфере организационного управления, где [[бэк-офис]] отвечает за административные функции, а [[фронт-офис]] — за непосредственную работу с заказчиками).
Фронт- и бэкенд — вариант [[Архитектура программного обеспечения|архитектуры программного обеспечения]].


Специфическое разделение применяется в инфраструктуре компиляции [[LLVM]]: под «фронтендами» в нём понимаются трансляторы исходных кодов программ различных языков программирования в универсальное промежуточное представление, тогда как единый бэкенд, работающий уже только с промежуточным представлением, непосредственно занимается [[Оптимизирующий компилятор|оптимизацией]], [[Интерпретация (программирование)|интерпретацией]], [[Компиляция (программирование)|компиляцией]], [[Компоновка (программирование)|компоновкой]].
Термины появились в [[Программная инженерия|программной инженерии]] вследствие развития [[Разделение ответственности|принципа разделения ответственности]] между внешним представлением и внутренней реализацией.


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

=== Технологии Front-end и Back-end ===
К технологиям разработки front-end относятся [[HTML]], [[CSS]], [[JavaScript]].

К технологиям back-end разработки относятся [[Go]], [[PHP]], [[Java]], [[Python]], [[JavaScript]] ([[Node.js]]) и другие.

= Примеры концепции =
# В [[Система управления содержимым|системах управления содержимым (CMS)]] термины front-end и back-end могут относиться к отображенной пользователю части CMS и административной части соответственно.

== Примечания ==
{{примечания}}
{{нет ссылок|дата=7 июня 2019}}
{{нет ссылок|дата=7 июня 2019}}



Текущая версия от 09:53, 18 ноября 2024

Фронтенд (англ. front end, frontend) — презентационная часть информационной или программной системы, её пользовательский интерфейс и связанные с ним компоненты; бэкенд (англ. back end, backend) — базисная часть системы, её внутренняя реализация (простым языком, серверная часть программы, что не видит пользователь).

Разделение программных систем на фронтенд и бэкенд — одно из стандартных решений для архитектуры программного обеспечения, связанное в программной инженерии с принципом разделения ответственности между внешним представлением и внутренней реализацией. Как правило, бэкенд реализует API, используемые фронтендом, и таким образом фронтенд-разработчику не нужно знать особенности реализации внутренней части, а бэкенд-разработчику — интерфейсные решения. Кроме того, такое разделение позволяет использовать различные инструменты для реализации внутренней и внешней части системы, более эффективные для соответствующих задач. Например, в веб-разработке к технологиям фронтенда относятся HTML, CSS, JavaScript; а бэкенд может быть реализован на PHP, Java, Python, JavaScript (Node.js), C++.

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

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