Передняя и задняя части - Front end and back end
В программная инженерия, условия внешний интерфейс и задняя часть обратитесь к разделение проблем между уровень представления (внешний интерфейс), а уровень доступа к данным (задняя часть) куска программного обеспечения, или физическая инфраструктура, или аппаратное обеспечение. в клиент-серверная модель, то клиент обычно считается передним концом, а сервер обычно считается серверной частью, даже если некоторая презентационная работа фактически выполняется на самом сервере.
Вступление
В программная архитектура, может быть много слои между оборудованием и конечный пользователь. В передний является абстракцией, упрощающей базовый компонент, предоставляя удобный интерфейс, а назад обычно занимается хранением данных и бизнес-логика.
В телекоммуникации, то передний можно рассматривать как устройство или услугу, а назад это инфраструктура, поддерживающая предоставление услуг.
А практическое правило заключается в том, что клиентская сторона (или «внешний интерфейс») - это любой компонент, управляемый пользователем. Серверный (или "бэкэнд") код обычно находится на сервер, часто далеко физически удален от пользователя.
Определения программного обеспечения
- В системы управления контентом, условия внешний интерфейс и задняя часть может относиться к представлениям CMS, обращенным к конечному пользователю, и к административным представлениям соответственно.[1]
- В синтез речи, внешний интерфейс относится к части системы синтеза, которая преобразует входной текст в символический фонетический представление, а задняя часть преобразует символическое фонетическое представление в реальные звуки.[2]
- Для основных компьютерных подсистем графическое Файловый менеджер это интерфейс к компьютеру файловая система, а ракушка взаимодействует с Операционная система. Передняя часть обращена к пользователю, а серверная часть в ответ запускает программы операционной системы.[нужна цитата ]
- В компиляторы, то внешний интерфейс переводит компьютерное программирование исходный код в промежуточное представление, а серверная часть работает с промежуточным представлением для создания кода на языке вывода компьютера. Бэкэнд обычно оптимизирует для создания кода, который работает быстрее. Различие между интерфейсом и сервером позволяет разделить парсер раздел, который имеет дело с исходным кодом и серверной частью, генерирует код и оптимизирует. Некоторые конструкции, такие как GCC, предлагать выбор между несколькими интерфейсами (анализируя разные источники языки ) или бэкэнды (генерация кода для другой цели процессоры ). [3]
- С использованием Интерфейс командной строки (CLI) требует усвоения специальной терминологии и запоминания команды, так что графический интерфейс пользователя (GUI) действует как интерфейс среда рабочего стола вместо.
Веб-разработка на примере
Еще один способ понять разницу между ними - понять, какие знания требуются от внешнего интерфейса по сравнению с серверной частью. разработчик программного обеспечения. В приведенном ниже списке основное внимание уделяется Веб-разработка В качестве примера.
Обе
- Управление версиями инструменты, такие как Git, Mercurial, или же Subversion
- Передача файла инструменты и протоколы, такие как FTP или же rsync
Front-end ориентированный
- Разметка и веб-языки, такие как HTML, CSS, JavaScript, а также вспомогательные библиотеки, обычно используемые на этих языках, например Sass или же jQuery
- Асинхронный обработка запросов и AJAX
- Одностраничные приложения (с фреймворками вроде Реагировать, AngularJS или же Vue.js )
- Веб-производительность (первая значимая краска, время интерактивности, 60 FPS анимации и взаимодействия, использование памяти и т. д.)
- Адаптивный веб-дизайн
- Кроссбраузерность проблемы совместимости и обходные пути
- Сквозное тестирование с безголовый браузер
- Автоматизация сборки для преобразования и объединения файлов JavaScript, уменьшения размера изображений ... с помощью таких инструментов, как Webpack или же Gulp.js
- Поисковая оптимизация
- Доступность обеспокоенность
- Базовое использование инструментов редактирования изображений, таких как GIMP или же Фотошоп
- Пользовательский интерфейс
Бэкэнд ориентированный
- Языки сценариев подобно PHP, Python, Рубин, Perl, Node.js, или же Скомпилированные языки подобно C #, Ява или же Идти
- Фреймворки автоматизированного тестирования для используемого языка
- Доступ к данным приложения
- Бизнес-логика приложений
- Администрирование базы данных
- Масштабируемость
- Высокая доступность
- Проблемы безопасности, аутентификация и разрешение
- Архитектура программного обеспечения
- Преобразование данных
- Резервный методы и программное обеспечение
Обратите внимание, что обе должности, несмотря на то, что они, возможно, работают над одним продуктом, обладают очень разным набором навыков.
Определения оборудования
В сетевые вычисления, внешний интерфейс может относиться к любому аппаратное обеспечение что оптимизирует или защищает сетевой трафик.[4] Это называется интерфейсное оборудование приложения потому что он размещен в сети обращенный наружу передний конец или граница. Сетевой трафик проходит через аппаратное обеспечение перед входом в сеть.
В дизайн процессора, дизайн передней части будет начальным описанием поведения схемы в язык описания оборудования Такие как Verilog, пока дизайн задней части будет процессом сопоставления этого поведения с физическими транзисторами на умереть.[5]
Смотрите также
Рекомендации
- ^ Thapliyal, Vimal. «Разница между Frontend и Backend MVC - Joomlatuts». joomlatuts.net. Архивировано из оригинал на 2016-12-30. Получено 2016-12-30.
- ^ Гутьеррес - Осуна, Рикардо. «L18: синтез речи (серверная часть)» (PDF). tamu.edu. Техасский университет A&M. Получено 2016-12-29.
- ^ Бин Мухаммад, Рашид. «Примечания к операционным системам». www.personal.kent.edu. Кентский государственный университет. Получено 2016-12-30.
- ^ О'Делл, Майк. "Сетевые интерфейсные процессоры, снова | Июнь 2009 | Связь ACM". cacm.acm.org. Получено 2016-12-30.
- ^ «Интерфейсный дизайн | Электронная документация для продуктов Altium». techdocs.altium.com. Получено 2016-12-30.