Из Википедии, бесплатной энциклопедии
  (Перенаправлено с передней и задней сторон )
Перейти к навигации Перейти к поиску

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

Введение [ править ]

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

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

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

Определения программного обеспечения [ править ]

  • В системах управления контентом термины внешний интерфейс и серверная часть могут относиться к представлениям CMS, обращенным к конечному пользователю, и административным представлениям, соответственно. [1]
  • В синтезе речи передняя часть относится к части системы синтеза, которая преобразует входной текст в символическое фонетическое представление, а задняя часть преобразует символическое фонетическое представление в реальные звуки. [2]
  • Для основных компьютерных подсистем графический файловый менеджер является интерфейсом к файловой системе компьютера , а оболочка взаимодействует с операционной системой . Передняя часть обращена к пользователю, а серверная часть в ответ запускает программы операционной системы. [ необходима цитата ]
  • В компиляторах , то передний конец переводит компьютерный программный исходный код в промежуточное представление , а задний конец работы с промежуточным представлением для плодоовощного кода в компьютер выходного языка. Серверная часть обычно оптимизируется для создания кода, который работает быстрее. Различие внешнего и внутреннего интерфейса может разделять раздел парсера, который имеет дело с исходным кодом, и серверную часть, которая генерирует код и оптимизирует его . Некоторые проекты, такие как GCC , предлагают выбор между несколькими интерфейсами (анализ разных исходных языков ) или внутренними интерфейсами (генерация кода для разных целей).процессоры ). [3]
  • Использование интерфейса командной строки (CLI) требует усвоения специальной терминологии и запоминания команд , поэтому графический интерфейс пользователя (GUI) вместо этого действует как интерфейсная среда рабочего стола .

Веб-разработка как пример [ править ]

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

Оба [ править ]

  • Инструменты контроля версий, такие как Git , Mercurial или Subversion.
  • Инструменты и протоколы передачи файлов, такие как FTP или rsync

Фронтенд ориентированный [ править ]

  • Разметка и веб-языки, такие как HTML , CSS , JavaScript , и вспомогательные библиотеки, обычно используемые в этих языках, таких как Sass или jQuery.
  • Асинхронная обработка запросов и AJAX
  • Одностраничные приложения (с такими фреймворками, как React , AngularJS или Vue.js )
  • Производительность в Интернете (максимальная отрисовка контента, время до интерактивности, 60 кадров в секунду анимации и взаимодействия, использование памяти и т. Д.)
  • Адаптивный веб-дизайн
  • Проблемы кросс-браузерной совместимости и обходные пути
  • Сквозное тестирование с помощью безголового браузера
  • Создавайте автоматизацию для преобразования и объединения файлов JavaScript, уменьшения размера изображений ... с помощью таких инструментов, как Webpack или Gulp.js
  • Поисковая оптимизация
  • Проблемы доступности
  • Базовое использование инструментов редактирования изображений, таких как GIMP или Photoshop
  • Пользовательский интерфейс
  • RetroArch

Back-end сфокусирован [ править ]

  • Языки сценариев, такие как PHP , Python , Ruby , Perl , Node.js , или скомпилированные языки, такие как C # , Java или Go.
  • Фреймворки автоматизированного тестирования для используемого языка
  • Доступ к данным приложения
  • Бизнес-логика приложений
  • Администрирование базы данных
  • Масштабируемость
  • Высокая доступность
  • Проблемы безопасности, аутентификация и авторизация
  • Архитектура программного обеспечения
  • Преобразование данных
  • Методы резервного копирования и программное обеспечение

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

Определения оборудования [ править ]

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

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

См. Также [ править ]

  • Front-end веб-разработка
  • Клиент-серверная модель
  • Нестандартный опыт
  • Модульное программирование
  • Образец наблюдателя
  • Шаблон публикации – подписки
  • Технология вытягивания
  • Технология push
  • Удаленный вызов процедур
  • Программный интерфейс приложения (API)

Ссылки [ править ]

  1. ^ Thapliyal, Vimal. «Разница между Frontend и Backend MVC - Joomlatuts» . joomlatuts.net . Архивировано из оригинала на 2016-12-30 . Проверено 30 декабря 2016 .
  2. ^ Гутьеррес - Осуна, Рикардо. «L18: Синтез речи (серверная часть)» (PDF) . tamu.edu . Техасский университет A&M . Проверено 29 декабря 2016 .
  3. Бин Мухаммад, Рашид. «Примечания к операционным системам» . www.personal.kent.edu . Кентский государственный университет . Проверено 30 декабря 2016 .
  4. ^ О'Делл, Майк. "Сетевые интерфейсные процессоры, снова | Июнь 2009 | Связь ACM" . cacm.acm.org . Проверено 30 декабря 2016 .
  5. ^ «Интерфейсный дизайн | Электронная документация по продуктам Altium» . techdocs.altium.com . Проверено 30 декабря 2016 .