Anonymous asked in Computers & InternetProgramming & Design · 1 decade ago

Programmers: difference between a front-end and a back end?

I hear these terms all the time...

4 Answers

  • 1 decade ago
    Favorite Answer

    The front-end is a term to describe the user interface. The back-end is usually where the calculations/number-crunching/analysis is done. Generally speaking, a typical interaction would be:

    User requests info on the front-end --> front-end makes request to back-end --> back-end processes request and returns results to front-end --> front-end shows results to user

    For instance, on the Internet, the html and javascript that compose webpages are the front-end, and when we take actions (such as buying stuff online, playing games, making forum posts, etc), the front-end passes off our requests to the back-end (which is usually some kind of database).

    Another example would be, for instance, a computer chess program. A chess program doesn't actually need a user interface, if you think about it. The back-end is quite simple (although writing a good chess AI is definitely complex). It just requires the user input (like "user moved pawn to e4") and the back-end will compute the AI's response (e.g. "move pawn to e5").

    The front-end of a chess program would be the actual user interface, so that you can use the mouse to make chess moves, and just have the program look nice and shiny.

    The advantages of looking at programs as containing a separate front-end and back-end is that we can then separate out these two tasks. In the chess example, by making this distinction, we can actually program the front-end and back-end simultaneously. The front-end doesn't need to know how the back-end works (how does the AI know what move to make?) in order to render the user interface. Similarly, the back-end doesn't need to know how the front end works (how is the chessboard displayed to the user?) in order to decide what the best move is.

    You could also imagine that you can swap out front-ends and back-ends separately. For instance, if someone wrote a chess front-end, you could then pick which back-end you want to use (which chess AI do you want to play against), and they would all work with the front-end. Again, this would work because the front-end and back-end are considered separate components.

    Then, in general, the front-end and back-end communicate by agreeing on a standard, and they both conform to that standard. This is similar to how webpages have a standard (such as HTML5), and so by conforming to the standard, a web designer can guarantee that his/her webpage will work properly in all browsers (IE, firefox, chrome, safari, etc), including future browsers that aren't even invented yet.

  • 1 decade ago

    The front-end is the user interface while the back-end is where the real application resides, including the logic and data.

    In desktop applications, the terms don't mean anything as both are on the same machine.

  • 1 decade ago

    In very simple way, what you see in a web page is front end and the calculation or programming that display a web page is back end.

  • 4 years ago

    information superhighway clothier: a individual who made the layout of the information superhighway website is familiar with as information superhighway clothier. information superhighway developer: a individual who strengthen the information superhighway website in a specif programming language is common as information superhighway developer.

Still have questions? Get your answers by asking now.