Talk:Frontend and backend

Spelling
What's the correct spelling? "frontend", "front-end" or "front end"?


 * Both sorta work, but I think the really correct spelling is the latter. --Maru 14:07, 9 August 2005 (UTC)


 * The correct spelling is "front end". "frontend" is used in software programming. "front end" or "back end" is used often in two tier architecture to separate data collection and data processing. In three tier architecture, front end is client tier, back end is business logic and data tier. --Zhangj10 09:23, 24 February 2007 (UTC)


 * "Front-end". It helps disambiguate between, for example, a "front-end system" and a "front end-system". The article should be updated to include hyphenation. PersonalisedBiro (talk) 14:00, 11 March 2014 (UTC)


 * "Front end". However, when preceding a noun it follows the hyphenation rules of English grammar: "Front-end web development is fun." "We are developing the front end." --JHP (talk) 04:37, 10 March 2017 (UTC)

Amirmahdi Amir.m.b2002 (talk) 06:02, 8 August 2020 (UTC)


 * In the page, there are inconsistencies. Sometimes "frontend" is used and sometimes "front-end" is used. To conclude, should we choose "front end" and "front-end" using hyphenation rules as suggested by JHP? Scemama (talk) 15:48, 25 January 2023 (UTC)

Schema
I think a schema would be very useful to understand quickly at the first sight what the terms mean. So if anyone can make a graphic file in a SVG format, qu'il le fasse. 16@r 17:34, 21 October 2006 (UTC)

What about supermarkets?
I was shopping and I saw signs at a supermarket about them "switching to a new front-end register (or was it cashier?) system", which was the reason they gave for asking customers to be patient. What's a "front-end system" for supermarkets? 192.12.88.7 (talk) 05:54, 19 April 2009 (UTC) (note: I'm in the USA)
 * A point-of-sale (POS) terminal? --Antonielly (talk) 11:07, 19 April 2009 (UTC)

is an excellent Database application (Front End Application) reduce the need of efficiently designed Database? — Preceding unsigned comment added by 119.154.41.147 (talk) 07:43, 30 June 2011 (UTC)
 * This is why I don't think this article should even exist. The terms are used so inconsistently in the IT and Business world, its more appropriate for a dictionary than an encyclopedia. I think a lot of this comes from Enterprise Resource Planning (ERP) systems like SAP. The jargon that people use for those systems is "front office" (or front end) vs. "back office" (or back end). The front stuff is the stuff that interacts directly with customers, so POS terminals are a classic example. The back end/office stuff are things like logistics, HR, shop floor control, everything the customer doesn't directly interact with. This is similar to but not the same as the client-server distinction which is what the front/back distinction most commonly refers to. E.g., a POS system can have client and server components but the entire system is often referred to as "front office". Also, it is absolutely NOT true that this distinction can "reduce the need of efficiently designed Database". An efficient DB design is as important as ever. What this distinction can do is to help to ENSURE that a database remains consistent, e.g., the front end can prevent incorrect data (e.g., a phone number missing one digit) from ever making it into the database at all, but its still vitally important that the DB itself is well designed. --MadScientistX11 (talk) 15:37, 26 December 2016 (UTC)

Language
Is this in US English because "generalized" is spelled "generalised"? Mdjrb (talk) 19:30, 24 May 2012 (UTC)

simple questions
what is mean by frontend and backend in uml..with a simple example. — Preceding unsigned comment added by 117.211.161.150 (talk) 09:00, 8 April 2015 (UTC)
 * This isn't the place to ask those kinds of questions. This page is for discussions about editing the article not general questions about the topic. But to my knowledge there is no formal definition of these terms in UML. But if anyone wants more info please post here instead: Reference_desk/Computing --MadScientistX11 (talk) 14:32, 13 October 2016 (UTC)

Reverting some recent changes
I'm reverting several changes. First, a note about good editing: if you are going to just change a comma or a word or phrase it is so much easier for fellow editors if you make small changes like that within the existing text rather than removing whole paragraphs or sections and then pasting them back with just your minor changes. Doing the former makes it much easier for other editors to see the specific changes you made. Also, it helps to make informative comments when you edit and when you comment an edit with something like "hack end" it shows you aren't taking this very seriously or are just displaying your own opinions rather than trying to reach a consensus.

As far as I can tell the actual content I'm reverting comes down to 1) an editor inserting "(frontend)" and "(backend)" in the text respectively after the phrases "front end" and "back end" and 2) Inserting the sentence: "It takes both to make a functioning, interactive website. Both back-end and front-end may be accessed remotely."

Regarding 1, I think that's a superfluous change. It doesn't add any useful info. Regarding 2, it is simply false. Early web systems and some systems that still exist (see chomsky.info for example) are just plain HTML pages with links. There is no back end to those systems, its nothing but a front end. Also, its false that back-end systems can be accessed remotely unless you mean accessed by a system administrator (in which case its a trivial point since an admin can theoretically access ANYTHING remotely). The whole point of client-server or front-end/back-end is that you shield the user from things like directly accessing the database (back-end) and have them go through a UI (front-end) with appropriate error and validation checking.

Also, given that this article currently has no sources, that should be the first thing that anyone addresses who tries to edit it. If you are going to add new text then give it a reference. If you disagree with what I said about 2 then again give a reference. --MadScientistX11 (talk) 15:07, 26 December 2016 (UTC)

Rewritten
I took a crack at this one, please have a look. I erased all standing maintenance tags as follows:


 * Citations: Now provided - the article consists of a great deal of interwiki links and makes very few new claims, hence only a few.
 * Proposed merge: Never made it to the talk page, so I assume there was no consensus or discussion for such a thing.
 * Cleanup-rewrite: for obvious reasons :)

Karunamon  ✉  04:57, 30 December 2016 (UTC)
 * Much better, well done. Personally, I still think this article should be merged with client/server, but as you said that never took off so at least it's a decent article now. --MadScientistX11 (talk) 14:42, 30 December 2016 (UTC)

Inconsistency with front-end web development article
This article distinguishes front-end and back-end between the presentation layer and the data-access layer. However, the front-end web development article distinguishes them between the client and the server. This is inconsistent. For example, JavaServer Pages are presentation layer code that runs on the server (i.e. the functionality of JSPs gets processed by the server and then pure HTML gets sent to the client). So, are JSPs front end or back end? --JHP (talk) 04:37, 10 March 2017 (UTC)
 * I have updated the intro to reflect the client-server distinction that is reflected in the front-end web development article. --JHP (talk) 18:26, 14 March 2017 (UTC)

Intro needs considerable clarification
"In software engineering, the terms frontend and backend (sometimes written as back end or back-end) refer to the separation of concerns between the presentation layer (frontend), and the data access layer (backend) of a piece of software, or the physical infrastructure or hardware."

1. It's unhelpful to define two technical terms (frontend/backend) in terms of two more-technical terms. If a reader doesn't understand frontend/backend, they probably don't understand "presentation layer" and "data access layer".

2. "Presentation layer" is linked to "data translator for the network", a network/OSI concept. Meanwhile, "data access layer" is linked to "simplified access to data stored in persistent storage", a database domain concept. That would place "data access layer" _above_ the layers of the OSI model, or at least in the top "Application" layer, which is the opposite of what the intro intends. These links, being from different realms, don't support whatever the intro sentence is trying to convey.

3. "the data access layer (backend) of a piece of software, or the physical infrastructure or hardware" is not a coherent statement. Maybe it refers to separate disciplines where the terms "frontend" and "backend" are used; muddling them together here is not helpful getting the concept straight for any particular domain.

4. "frontend" and "backend" do not "refer to the separation of concerns" per se. They refer to the two distinct subsystems that may have _resulted_ from separation of concerns, and whose main distinction is that they now perform specific roles. Shoehorning that term into the middle of this sentence just makes the sentence clumsy.

How about something more like:

"In software systems, frontend and backend refer to two parts of a system which communicate with each other while performing distinct roles. The frontend typically interacts with users or the "outside world", while the backend provides access to some central or remote resource, like a database. Where multiple frontend programs or components communicate with a backend, the backend coordinates sharing of the resource. The backend and frontend may run on different machines in different locations, exemplified by web browsers and web servers, or they may run within the same program on a single machine, as with a local database application or desktop document editing software."

"The terms frontend and backend are used in a variety specialized ways in other contexts, such as..." Gwideman (talk) 01:27, 22 August 2023 (UTC)