Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I read about frontends, it always mentiones webpages. Can it be used in different contexts, e.g. desktop applications?

share|improve this question
See also:… – Hugo Jan 6 '13 at 16:01

The term is generic and it tends to be used in n-tiered applications and refers to the UI.

It is not limited to n-tiered applications - in a single tiered application, if you have good separation of layers (say UI, business logic and infrastructure), you would still refer to the UI as the front-end.

So, you can use it whenever you are specifically talking about the UI - the interface that the end user uses.

share|improve this answer
Hm, I had a very different definition of front end. I'm wondering if there is a difference in interpretation between USA (front end = UI) and Europe (front end = part of a system which would be accessed by users). – MainMa Jan 5 '13 at 17:23
@MainMa - Don't know. For me a UI == part of a system which would be accessed by users... – Oded Jan 5 '13 at 17:31
@MainMa In my mind the UI encapsulates (or is) the part that the user accesses; so is indeed the front end whichever way you look at it. By definition a UI doesn't need to be graphical; UI != GUI – Fergus In London Jan 5 '13 at 17:39
For me UI means just one layer in the application(s) which run on the client side of a CS system. And those applications are often called the front end. – Doc Brown Jan 5 '13 at 22:36

The term is used both in design and development, including development of desktop software. The term targets a part of a system which is intended to be accessed by a customer or a user.

1. In web development:

It is not unusual to make the difference between:

  • Front end: the website or web application itself, as it is used by people outside the company,

  • Back end: the part of the web application which is used only by people with specific permissions and which allows them to execute administrative tasks.

Note: moderators would be qualified as people outside the company, so controls used by moderators are part of front end.


When services are involved, front end would be everything directly accessible by the users/customers. A desktop application installed by the user and which connects to a bunch of web services would be qualified as front end.

Services themselves, in this context, would be excluded from the front end.

Note: if a web service is the actual product, it may be qualified as a front end. For example, Twilio web service is the front end.

share|improve this answer

Wikipedia has an article that answers this question directly, front and back ends.

In the context of compilers:

  • Front end validates the syntax and semantics then outputs some intermediate representation, such as an AST.
  • Back end generates the assembly or translated code.
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.