How to choose programming stack for web development
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:
|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|
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:
|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|
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.
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.
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.
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:
|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.
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.