Content deleted Content added
clarification |
m Annh07 moved page Front end and back end (software development) to Front end and back end without leaving a redirect: Requested by DigitalIceAge at WP:RM/TR: Unnecessary disambiguation. |
||
(39 intermediate revisions by 27 users not shown) | |||
Line 1:
{{
In [[software
== Introduction ==
In [[software architecture]], there
== Examples ==
In [[telecommunication]], the ''front'' can be considered a device or service, while the ''back'' is the infrastructure that supports provision of service.▼
'''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.
A [[rule of thumb]] is that the client-side (or "frontend") is any component manipulated by the user. The server-side (or "backend") code usually resides on the [[Server (computing)|server]], often far removed physically from the user.▼
'''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
▲A [[rule of thumb]] is that the
== Software definitions ==
{{prose|section|date=September 2020}}
In [[content management system]]s, the
In [[speech synthesis]], the
In [[compilers]], the
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 [[Command (computing)|commands]].
▲In [[compilers]], the [[Compilers#Frontend|frontend]] [[Translator (computing)|translates]] a computer programming [[source code]] into an [[intermediate representation]], and the backend works with the intermediate representation to produce code in a computer output language. The backend usually [[Program optimization|optimizes]] to produce code that runs faster. The front-end/back-end distinction can separate the [[Parsing|parser]] section that deals with source code and the backend that [[Code generation (compiler)|generates code and optimizes]]. Some designs, such as [[GNU Compiler Collection|GCC]], offer choices between multiple frontends (parsing different source [[Programming language|languages]]) or backends (generating code for different target [[Central processing unit|processors]]).<ref>{{Cite web|url=http://www.personal.kent.edu/~rmuhamma/Compilers/MyCompiler/phase.htm|title=Operating Systems Notes|last=Bin Muhammad|first=Rashid|website=www.personal.kent.edu|publisher=Kent State University|access-date=30 December 2016}}</ref>
=== Web development as an example ===
Another way to understand the
* [[Version control]] tools such as [[Git]], [[Mercurial]], or [[Apache Subversion|Subversion]]▼
* [[File transfer]] tools and protocols such as [[FTP]] or [[rsync]]▼
==== Front
* Markup and web languages such as [[HTML]], [[CSS]], and [[JavaScript]],
* [[Asynchronous I/O|Asynchronous]] request handling and [[Ajax (programming)|AJAX]]
* [[Single-page application]]s
* [[Web performance]] (optimization of things like largest contentful paint, time to interactive,
* [[Responsive web design]]
* [[Cross-browser]] compatibility issues and workarounds
* [[Software testing|End-to-end testing]] with a [[headless browser]]
* [[Build automation]] to transform and bundle JavaScript files, reduce image sizes, and handle other processes using tools such as [[Webpack]] and [[Gulp.js]]
* [[Search engine optimization]]
* [[Web accessibility|Accessibility]] concerns
*
* [[User
==== Back
* [[Scripting language]]s like [[PHP]], [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], [[Perl]], and [[Node.js]]
* [[Compiled language]]s like [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], * [[Data access layer]]
* [[
* [[Database administrator|Database administration]]
* [[Scalability]]
* [[High availability]]
* Security concerns, such as [[authentication]] and [[authorization]]
* [[Software
* [[Data transformation]]
* [[Backup]] methods and software
==== Front end and back end ====
=== API ===
The
== Hardware definitions ==
In [[computer network|computer networking]], ''front end'' can refer to [[Networking hardware|hardware]] that connects devices to the network, provides security such as a [[DMZ (computing)|DMZ]], or converts data into a [[Network Packet|transportable format]]. ''Back end'' refers to hardware that handles and transports data within the network.
In [[processor design]], ''
== See also ==
{{Columns-list|colwidth=30em|
* [[Client-side]], [[Server-side]]
* [[Front-end web development]]
* [[Client–server model]]
Line 81 ⟶ 87:
== References ==
{{Reflist|30em}}
{{Web interfaces}}
{{DEFAULTSORT:Front And Back Ends}}
|