Jump to content

Front end and back end (software development)

From Wikipedia, the free encyclopedia
(Redirected from Frontend and backend)

In software development, front end refers to the presentation layer that users interact with, while back end refers to the data management and processing behind the scenes. "Full stack" refers to both together. In the client–server model, the client is usually considered the front end, handling most user-facing tasks, and the server is the back end, mainly managing data and logic.

Introduction

[edit]

In software architecture, there can be many layers between the hardware and end user. The front end is an abstraction, simplifying the underlying components by providing a user-friendly interface, while the back end handles data storage and business logic.

Examples

[edit]

E-commerce Website: The front end is the user interface (e.g., product pages, search bar), while the back end processes payments and updates inventory.

Banking App: The front end displays account balances, while the back end handles secure transactions and updates records.

Social Media Platform: The front end shows the news feed, while the back end stores posts and manages notifications.

In telecommunication, the front end can be considered a device or service, while the back end is the infrastructure that supports the provision of services.

A rule of thumb is that the front end, or client side, includes any components manipulated by the user. The back end, or server side, usually resides on the server, often far removed physically from the user.

Software definitions

[edit]

In content management systems, the front end refers to views facing end users, and the back end refers to views facing administrative users.[1][2]

In speech synthesis, the front end refers to the part of the synthesis system that converts the input text into a symbolic phonetic representation, and the back end converts the symbolic phonetic representation into actual sounds.[3]

In compilers, the front end translates computer source code into an intermediate representation, and the back end produces executable code from the intermediate representation. The back end usually optimizes to produce code that runs faster. The front end/back end distinction can also separate a parser that deals with source code from a compiler that generates and optimizes executable code. Some designs, such as GCC, offer multiple front end options (parsing different source languages) and multiple back end options (generating code for different target processors).[4]

Some graphical user interface (GUI) applications act as a thin front end for underlying command-line interface (CLI) programs, to save users from having to learn the CLI terminology and commands.

Web development as an example

[edit]

Another way to understand the differences between the front end and back end is to consider the knowledge that each requires of a software developer. The example lists below focus on web development.

Front end

[edit]

Back end

[edit]

Front end and back end

[edit]

API

[edit]

The front end communicates with the back end through an API. In the case of web and mobile front ends, the API is often based on HTTP requests/responses. An API can also reduce the front-end processing load by using different back-end services for different front-end interfaces, such as in the "Back end For Front end" (BFF) pattern.[5]

Hardware definitions

[edit]

In computer networking, front end can refer to hardware that connects devices to the network, provides security such as a DMZ, or converts data into a transportable format. Back end refers to hardware that handles and transports data within the network.

In processor design, front-end design can refer to the initial description of a circuit's behavior in a hardware description language such as Verilog, while back-end design can refer to the process of mapping that behavior to physical transistors on a die.<

See also

[edit]

References

[edit]
  1. ^ "Front End vs Back End of Your Website: Everything You Need to Know". DOJO Creative. 7 February 2020. Archived from the original on 1 September 2022. Retrieved 31 August 2022.
  2. ^ Thapliyal, Vimal. "Difference Between Frontend and Backend MVC – Joomlatuts". joomlatuts.net. Archived from the original on 30 December 2016. Retrieved 30 December 2016.
  3. ^ Gutierrez--Osuna, Ricardo. "L18: Speech synthesis (backend)" (PDF). tamu.edu. Texas A&M University. Archived from the original (PDF) on 14 February 2019. Retrieved 29 December 2016.
  4. ^ Bin Muhammad, Rashid. "Operating Systems Notes". www.personal.kent.edu. Kent State University. Archived from the original on 31 August 2018. Retrieved 30 December 2016.
  5. ^ Wickramarachchi, Viduni (24 February 2021). "The BFF Pattern (Backend for Frontend): An Introduction". Bits and pieces. Archived from the original on 27 March 2024. Retrieved 13 November 2021.