How to choose programming stack for web development
To start your career in website development, the first thing you need to choose is the programming language. Below mentioned are some of the deciding factors 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 users see on the browser (Client-Side) like text, images, animation, etc.|
|2.||Back End||It performs logical operations on the server.|
|3.||DataBase||It stores the data so that we can query the data as requested.|
To manage (code) each of the above services, we can choose different languages. Here are a few examples
|Front-End / Client-Side||Back-End / Server-Side||Database|
Every programming language is ok if you are comfortable with writing the code. Some people have a good taste in RUBY, or PHP than Node.
To code the website, you have to master (learn) the stack. So what does stack mean 🤔 . Stack refers to the set of languages or frameworks that allow you to build a 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|
Choosing Front-End / client-side
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) styles 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 HBeforet, etc.
Before, PHP is the most popular language for writing server-side due to the popularity of WordPress. But after the JAMstack becomes popular for modern websites, NodeJS language becomes popular for write server-side code.
The back-end server is not accessible by the user. Unlike, in the client-side (browser), we can use inspect tool to change the script, markdown, and 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, that uses JSON-like documents with optional schemas.|
We can also store the data onto a sheet, table, etc programmatically. For example, google sheets, Airtable, and Notion. Rather than access the database, we use their API endpoints to perform CRUD (create, read, update and delete) operations 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 in their database.
You should choose the website stack that you are comfortable with. I’ve also written a blog about my website stack. Most of the companies prefer to work with particular stack while hiring the candidate. But… In business terms, the programming stack does not matter; the customer only cares about end results, not the programming stack.