What is Back-End?
In the client-server model, the server is usually considered the back end and the client is usually considered the front end, even when some presentation work is actually done on the server itself. The terms front end and back end refer to the separation of concerns between the data access layer (backend), and the presentation layer (front end) of a piece of software, or the physical infrastructure or hardware. The server-side (or "backend") code usually resides on the server, often far removed physically from the user.
In telecommunication, the front can be considered a device or service, while the back is the infrastructure that supports the provision of service. In software architecture, there may be many layers between the hardware and end-user. The front is an abstraction, simplifying the underlying component by providing a user-friendly interface, while the back usually handles data storage and business logic.
Back-end in Software
- In content management systems, the terms backend may refer to the end-user facing views of the CMS and administrative views, respectively.
- In speech synthesis, the backend converts the symbolic phonetic representation into actual sounds.
- For major computer subsystems, the backend launches the programs of the operating system in response.
- In compilers, the backend works with the intermediate representation to produce code in a computer output language. The backend usually optimizes to produce code that runs faster. The frontend/backend distinction can separate the parser section that deals with source code and the backend that generates code and optimizes. Some designs, such as GCC, offer choices between multiple front ends (parsing different source languages) or back ends (generating code for different target processors).
Back-end in Hardware
- In processor design, backend design would be the process of mapping that behavior to physical transistors on a die.
Example of Backend as a Web Development Project
- Scripting languages like PHP, Python, Ruby, Perl, Node.js, or Compiled languages like C#, Java, or Go
- Automated testing frameworks for the language being used
- Application Data Access
- Application Business Logic
- Database administration
- Scalability
- High availability
- Security concerns, authentication, and authorization
- Software Architecture
- Data transformation
- Backup methods and software
Note: The Backend positions, despite possibly working on one product, have a very distinct set of skills.
Comments
Post a Comment