DIFFERENCE BETWEEN BACK-END , FRONT-END AND API TOGETHER WITH TOOLS AND FRAMEWORKS FOR EACH.
Tags: webdev, devops, javascript, programming
Published: 2023-04-12 00:26:29

What do you understand when words such as front-end, back-end and API are mentioned to you? Tools or frameworks?

If you are new to these terms don't worry. To make it easy for one to understand let us begin with definition of terms.

##_**FRONT-END**_.
This is a type of computer programming that focuses on the creation of features and elements that will be seen by the users and focuses on their functionality; also known as the client-side. Examples include: buttons, images, graphics, navigation, layouts and content organization.

##_**BACK-END**_
This a type of computer programming that focuses on the side that a user cannot see. also known as the server-side. For instance, let us say you are a hotel manager and you want to store all your employee's information. The storage place is what we call a database. An example is MySQL database that runs from a server(a remote computer).
A back-end developer will simply help you manage this database. As you do not directly interact with the back-end features you indirectly interact with element that the developers work with through the front-end application.

## _**API**._
Application Programming interface(API) is a type of software interface, offering a service to other pieces of software. Simply it acts as a bridge in communication between softwares.

## _**TOOL(s)**_
Its a program which helps to develop a application or maintain the application or other programs.

## _**FRAMEWORK**_.
A framework is a structure intended to serve as a support or guide for the building of something that expands the structure into something useful.


##**LET'S VISUALIZE THIS TOGETHER FOR BETTER UNDERSTANDING**.
What is the first thing you see when you get to a restaurant? Yes you got it right. There are chairs, tables, nice paintings of maybe food or art and people having their meal. Now this is what we refer to as the **FRONT-END**. It is everything visible to you when you are in a restaurant.

Now we have what we call the Kitchen. What are some of the activities that happen in the kitchen? Of course there is cooking, cleaning the dishes and so much more. But when you get into a restaurant do you get to see what goes on in the kitchen? Definitely No! So this is what we term as **BACK-END**. You may be aware of the activities that are going on but you cannot see them.

Lastly, there are people called Waiters. They are the ones that get the food from the kitchen and bring it to us. They act as a link between us the customers and the cooks in the kitchen and also the food. In this case the waiters serve as the **API**. Through them we are able to get the food from the kitchen.

It would be really chaotic if there was no order,right?


**Tools and Frameworks for Front-end Development**.
 Languages 
            
- Html
- CSS
- Javascript 
          
 frameworks and libraries.                

- jQuery
- React.js 
- AngularJS 
                   

**Tools and frameworks for Back-end Development**
Languages.

- PHP 
- java
- python

Frameworks.

- Express                            
- Django
- Rails
- Laravel
- Spring



Let's go and start coding :-)