How to choose programming stack for web development

Taimoor Sattar

To start a career in web development, the first thing you need to choose is the programming language. Below mentioned are some of the deciding factor to choose the language:

  • Demand in the market / Jobs
  • Have Good community support

As web developers, we have to manage (code) different services of the website. For that, we can choose different programming stacks. But first, we need to know about the different website services as below:

Sr. Services Description
1. Front End   It is what user see on the browser (Client-Side) like text, images, animation, etc.                
2. Back End                     It is used to perform logical operations at the server.
3. DataBase                   It is used to store the data and later we can query the data as requested.                

To manage (code) each of the above services, we can choose different languages. Some are listed below

Front-End / Client-Side Back-End / Server-Side Database  
HTML   NodeJS                 MongoDB    
CSS PHP                     MySQL      
Javascript Python                 Firebase  
                Ruby                   PostgreSQL

Every programming language is ok if you are comfortable in writing the code. Some people have a good taste of RUBY, or PHP than Node.

In order to code the website services as a whole, you have to master (learn) the stack. So what stack really means 🤔 Stack is the set of languages or frameworks that allow you to develop the complete website (front-end, back-end, database). Below are the popular stack available on the internet:

Stack Abbreviation
MERN MongoDB, Express.js, React, Node.js  
MEAN MongoDB, Express.js, Angular, Node.js
MEVN MongoDB, Express.js, Vue, Node.js  
LAMP (e.g. WordPress) LINUX, APACHE, MYSQL, PHP  
JAMstack JavaScript, APIs, and Markup

Choosing Front-End / client-side

HTML, CSS, and JavaScript is the client-side language that refers to the code that can be visualized on the browser screen.   HTML is the markup language that tells the browser what content to display. For example, the <img> tag in HTML is used to display the image on the browser screen, etc.

CSS (cascading styles sheet) is used to style the HTML elements. We can use different CSS Properties to customize the look of the HTML element. To learn more about CSS, you can follow this link.

JavaScript is used to manage the behavior of website applications. The basic purpose of JavaScript is to appear dynamic content without refreshing the page. JavaScript is one of the most popular languages; has a growing number of framework and library on the internet. JavaScript can work in most of the devices/technology as below:

  • Front end: JavaScript
  • Mobile apps: JavaScript (React Native)
  • Machine learning: JavaScript (Tensorflow.js)
  • Backend: JavaScript (Node.js)

You can learn more about JavaScript here.

Choosing Back-End

Back-end language (e.g. NodeJS or PHP) is used to perform computerized things like a filesystem, handle the HTTP request, etc.

Previously, PHP is the most popular language for writing server-side due to the popularity of WordPress. But after the JAMstack becomes popular for modern website, NodeJS language becomes popular for write server-side code.

NodeJS is the runtime that allows running JavaScript on the server. Javascript was just a script language to run in the browser. If you have learned the syntax of JavaScript, you learn half of Node.

The back-end server is not accessible by the user. Unlike, in client-side (browser), we can use inspect tool to change the script, markdown, styles of the website. For example, if you want to perform logical checks for a very secure bank application, then writing logic on the browser (client-side) might not be a good option. Because someone can use inspect tool of the browser to change the logic and validate their information. That’s where back-end servers are useful.

Choosing DataBase

We use the database to organize or store the collection of data and later we can query the data based on our request. Below is the list the popular database for the web:

Stack Abbreviation
MYSQL MySQL is a relational database management system.  
Firebase Database Firebase is Well Documented, cloud-hosted NoSQL database.
MonogoDB MongoDB is that it is a powerful query language, uses JSON-like documents with optional schemas.  

We can also store the data onto a sheet, table, etc programmatically. For example, google sheets, Airtable, Notion. Rather than access the database directly, we use their API endpoints to perform CRUD (create, read, update and delete) operation on the database. We can send an HTTP request with the payload to the API endpoint and if the request is valid, it stores the data into their database.

Conclusion

Choosing a good programming stack is important for developer experience and workflow. Some companies prefer a particular stack in order to hire a developer. But… In business terms, the programming stack does not really matter; the customer only cares about end results, not the programming stack.

About the Author

Written by Taimoor Sattar I'm Taimoor Sattar, a full-stack developer, experience to develop websites in React/JavaScript, Node, and HTML/CSS. You should follow them on Twitter. You can contact me on this page.