Front-end and back-end
|
In their most general meanings, the terms front end and back end refer to the initial and the end stages of a process flow. These terms acquire more special meanings in particular areas. The general idea is that the front-end is responsible for collecting input from the user, which can be in a variety of forms, and processing it in such a way that it conforms to a specification that the back-end can use. The connection of the front-end to the back-end is a kind of interface.
- In software design, the front-end is the part of a software system that deals with the user, and the back-end is the part that processes the input from the front-end. The separation of software systems into "front ends" and "back ends" is a kind of abstraction that helps to keep different parts of the system separated.
- Some common methods for interacting with computers can be conceptualized in terms of a "front-end" and "back-end". For example, a graphical file manager, such as Windows Explorer or the Nautilus file manager, can be thought of as a front-end to the computer's file system. At the OS level, the concept of a graphical user interface (GUI) can be thought of as a "front end" for the system (for general users), while the command line or "TUI" is sufficiently technical to be considered a "back-end." This often applies to software packages as well, which may have both graphical interfaces (front) as well as command-line scripts (back).
- In compilers, the front-end translates the source language into an intermediate representation, and the back-end works with the internal representation to produce code in the output language.
- 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.
- Many programs are divided conceptually into front and back ends, but in most cases, the "back-end" is hidden from the user. However, sometimes programs are written which serve simply as a front-end to another, already existing program, such as a graphical user interface (GUI) which is built on top of a command-line interface. This type of front-end is common in Unix GUIs, where individual programs are developed on the design philosophy of many small, tested programs, able to run independently or together. See graphical (desktop environment) and semigraphical (Ncurses) frontends.
- In Radio telescopes, the 'front end' consists of the package containing the feed horn and wave guide, as well as the antennas required to detect the radio signal. The 'back end' refers to the amplification and filtering systems that refine and edit the signal before presenting it to the user.
- In electronic design automation, front-end stages of the design cycle are logical and electrical design (e.g., schematic capture, logic synthesis). Sometimes floorplanning is also considered front-end. Back-end are place and route, custom layout design and physical verification (design rule checking, layout versus schematic, parasitics extraction).
- In a steam locomotive, the front end is the smokebox end of the locomotive, at the front end of the boiler, hot gases rush into the smokebox before escaping into the air via a "chimney" or "stack".
- In business, a "back-end plan" is a type of poison pill arrangement. In this plan, current shareholders of the targeted company receive a rights dividend, which allows for exchange of a share of stock (including voting rights) for senior securities or cash equivalent to the "back-end" price established by the targeted firm. As a result of this strategy, the takeover bidder is unable to both 1) exercise this right, and 2) easily deter the rise in acquisition price.
See also: