Last week, we saw an overview of front-end development, what it covers, and popular languages and frameworks. This week let us look at the other side of an application — Back-end development.
Back-end development (also known as server-side programming) is responsible for handling requests from the clients (Front-end) to process the data. It handles all activities behind the scenes to provide good user experience to the clients.
Some of the roles of a back-end developer includes:
Creating API endpoints for communicating with the front-end
Authentication and Authorization
Database architecture
System design
Backend developers have a good knowledge of data structures and algorithms to write efficient business logic making the application respond to requests quickly.
Back-end development has a lot of concepts to cover. I’ll try to give a very basic understanding of backend programming and the popular languages and frameworks currently in use.
REST API endpoints
APIs (Application Programming Interface) aids the communication between two applications. A REST API (Representational State Transfer) is a standard architectural style that is used for building endpoints for a back-end application to handle requests and responses.
Standard REST APIs have different types of requests based on the operation to be performed.
GET → Retrieving some resource
POST → Add some resource
PUT → Updating existing resource
DELETE → Deleting resource
PATCH → Performing a partial update on a resource on the back-end
Application APIs built adhering to this REST API architecture are called RESTful APIs.
Here’s a great video about REST APIs by Mosh.
Backend frameworks
In my previous post, we saw how front-end frameworks and libraries help developers build quickly and efficiently. Similarly, we have frameworks for back-end development.
Backend frameworks are libraries for server-side languages that helps developers implement complex functionality quickly, not having to “reinvent the wheel”.
Most popular frameworks make it easy to setup a RESTful API environment and lets developers concentrate more on the business logic of their application.
Popular languages and frameworks used
There are many languages used for back-end development, each with their own advantages, used to solve various functional requirements.
I’ll list some popularly used back-end languages and frameworks used in no particular order.
JAVA
Java is one of the most popular languages used for backend development which has been in use for over 20 years. Java is an object-oriented language with multiple built-in data structures.
Java Virtual Machine gives Java the advantage of “code once, run anywhere”. It is used for developing mobile, web, and desktop applications. It is very popular among developers as it platform-independent, robust, and multi-threaded.
Popular Java frameworks include:
Spring (Most popular)
Struts
Start learning Java with Codecademy or TutorialsPoint.
Javascript (Node.js)
Node.js is an open-source back-end Javascript runtime environment which can run Javascript code outside of a web browser to build scalable server-side applications.
Node.js is single threaded, non-blocking, and event-driven.
Main advantages of Node.js are:
Easier development process as it uses Javascript
Reusable code
Handles multiple requests
The most popular framework for Node.js is Express which is an open-source framework. It aids quick RESTful application development using Node.js and provides built-in security features for HTTP requests.
Start learning Node.js with TutorialsPoint or Codecademy.
Python
Python is a high-level, object-oriented language and popular for Rapid application development. Python can be used for web development, machine learning, Artificial Intelligence, game development and enterprise application development. Python is also very beginner friendly, and has a syntax which is quite easier to learn when compared to other languages like Java.
Most popular python framework is Django. It helps developers quickly build applications. It also has features like URL mapping, authentication, Object Relational Mapping, etc.
Start learning Python with TutorialsPoint or LearnPython.
Hope this post helps you get a basic understanding of back-end development. We’ll dive deeper and explore other concepts in my future posts.
Until next time!
👏