Frontend und Backend

Im Softwareentwicklung, die Begriffe Frontend und Backend (oder manchmal als bezeichnet als Back End oder Back-End) Beziehen Sie sich auf die Trennung von Bedenken zwischen den Präsentationsfolie (Frontend), und die Datenzugriffsschicht (Backend) eines Stücks von Software, oder die physikalische Infrastruktur oder Hardware-. In dem Client -Server -Modell, das Klient wird normalerweise als Frontend und die angesehen Server wird normalerweise als Backend angesehen, auch wenn einige Präsentationsarbeiten tatsächlich auf dem Server selbst durchgeführt werden.

Einführung

Im SoftwarearchitekturEs kann viele geben Schichten zwischen der Hardware und Endbenutzer. Das Vorderseite ist eine Abstraktion, die die zugrunde liegende Komponente durch Bereitstellung a vereinfacht benutzerfreundlich Schnittstelle, während die der Rücken verwaltet normalerweise die Datenspeicherung und Geschäftslogik.

Im Telekommunikation, das Vorderseite kann als Gerät oder Dienst angesehen werden, während die der Rücken ist die Infrastruktur, die die Bereitstellung von Dienstleistungen unterstützt.

A Faustregel ist, dass die clientseitige (oder "Frontend") eine vom Benutzer manipulierte Komponente ist. Der serverseitige (oder "Backend") Code liegt normalerweise auf dem Server, oft weit entfernt vom Benutzer weit entfernt.

Software -Definitionen

  • Im Content -Management -Systeme, die Begriffe Frontend und Backend Kann sich auf den Endbenutzer beziehen, der die Ansichten des CMS bzw. der administrativen Ansichten ausgesetzt ist.[1]
  • Im SprachsyntheseDas Frontend bezieht sich auf den Teil des Synthesesystems, der den Eingangstext in a umwandelt symbolisch phonetisch Darstellung und das Backend wandelt die symbolische phonetische Darstellung in tatsächliche Geräusche um.[2]
  • Für wichtige Computersubsysteme eine grafische Dateimanager ist ein Frontend für den Computer des Computers Dateisystem, und ein Hülse Schnittstellen mit dem Betriebssystem. Der Frontend steht vor dem Benutzer, und das Backend startet die Programme des Betriebssystems als Antwort.
  • Im Compiler, das Frontend Übersetzt eine Computerprogrammierung Quellcode In ein Zwischendarstellungund das Backend funktioniert mit der Zwischendarstellung, um Code in einer Computerausgabesprache zu erzeugen. Das Backend normalerweise optimiert Code erzeugen, der schneller läuft. Die Auszeichnung Front-End/Back-End kann die trennen Parser Abschnitt, der sich mit Quellcode und dem Backend befasst Generiert Code und optimiert. Einige Entwürfe, wie z. GCCBieten Sie Auswahlmöglichkeiten zwischen mehreren Frontenden an (analysieren Sie unterschiedliche Quelle Sprachen) oder Backends (Code für ein anderes Ziel generieren Prozessoren).[3]
  • Verwendung der Befehlszeilenschnittstelle (CLI) erfordert den Erwerb spezieller Terminologie und Auswendiglernen von Befehle, so a grafische Benutzeroberfläche (GUI) wirkt als Frontend Desktop -Umgebung stattdessen.

Webentwicklung als Beispiel

Eine andere Möglichkeit, den Unterschied zwischen beiden zu verstehen, besteht darin, das Wissen eines Front-Ends im Vergleich zu einem Back-End zu verstehen Softwareentwickler. Die folgende Liste konzentriert sich auf Web Entwicklung als Beispiel.

Beide

Frontend fokussiert

Back-End-Fokus

Beachten Sie, dass beide Positionen, obwohl sie möglicherweise an einem Produkt gearbeitet haben, eine Reihe von Fähigkeiten haben.

API

Das Frontend kommuniziert mit dem Backend durch eine API. Im Falle des Netz und mobile Frontenden basieren die API häufig auf Http Anfrage/Antwort. Die API wird manchmal mit dem BFF -Muster "Backend for Frontend" (BFF) entworfen, das Antworten zur Leichterung der Verarbeitung auf Frontend -Seite dient.[4]

Hardwaredefinitionen

Im Netzwerk Computing, Frontend kann sich auf jeden beziehen Hardware- das optimiert oder schützt Netzwerktraffic.[5] Es wird genannt Anwendung Front-End-Hardware Weil es im Netzwerk platziert ist Frontend oder Grenze nach außen gerichtet. Der Netzwerkverkehr durchläuft die Front-End-Hardware, bevor er in das Netzwerk eintritt.

Im Prozessordesign, Frontend -Design wäre die erste Beschreibung des Verhaltens einer Schaltung in a Hardware -Beschreibung Sprache wie zum Beispiel Verilog, während Backend -Design wäre der Prozess der Abbildung dieses Verhaltens an physikalische Transistoren auf a sterben.[6]

Siehe auch

Verweise

  1. ^ Thapliyal, Vimal. "Unterschied zwischen Frontend und Backend MVC - Joomlatuts". joomlatuts.net. Archiviert von das Original am 2016-12-30. Abgerufen 2016-12-30.
  2. ^ Gutierrez-Osuna, Ricardo. "L18: Sprachsynthese (Backend)" (PDF). tamu.edu. Texas A & M Universität. Abgerufen 2016-12-29.
  3. ^ Bin Muhammad, Rashid. "Betriebssystemnotizen". www.personal.kent.edu. Kent State University. Abgerufen 2016-12-30.
  4. ^ Wickramarachchi, Viduni (24. Februar 2021). "Das BFF -Muster (Backend für Frontend): Eine Einführung". Krimskrams. Abgerufen 13. November 2021.
  5. ^ O'Dell, Mike. "Network Front-End-Prozessoren, erneut | Juni 2009 | Kommunikation der ACM". Cacm.acm.org. Abgerufen 2016-12-30.
  6. ^ "Front-End-Design | Online-Dokumentation für Altiumprodukte". techdocs.altium.com. Abgerufen 2016-12-30.