How to Make a Website - Everything you should know about web developmentAfter reading this article you will never ever search for web development guide neither on Google nor on YouTube. I will cover all the basics to advance stuff related to web development. So this article is for beginners as well as intermediate programmers who don't know about web development but they want to dive into this web development world.
Many of you may hear some names related to web development field like PHP, Django, WordPress, Node Js, React Js or Bootstrap etc. Yes, you are right. All these terms are from the web development field. Don't worry about all these things and don't think too much. I will keep the things as simple as possible (As I always do) to make this tutorial helpful to you.
So leave all your worries aside, just keep calm and I am pretty sure at the end of this article you will have a huge basic knowledge about web development. I will explain all those famous terms that are used in web development. So just bare with me.
Before going to the technical terms, first let me explain the basic structure of a website. We can divide a website's structure into 2 main parts :
1. Front end
2. Back end
Front End So talking about the front end, as stated above front end is the part of a website which is accessed on client machine. The data is represented in browser by the help of HTML. So HTML is the basic thing because this is the raw data. Now, to make the webpage's look attractive we have to do some styling. And this styling is done by the help of CSS . For example, the background colours, text colour/size, manipulating image size etc. all these things are done by the help of CSS. So CSS makes the webpage magnificent.
So, for now, HTML and CSS are the minimum requirements for the front end of a website. The communication or the basic architecture of a website is expressed in the following figure. Requests are made through client machine or browser using URLs . Then the server makes some manipulations as per the request and return some response back to the client machine.
So back end is the main part of a website. Now, I am not enlisting the minimum or fundamental requirements for back end part because it depends. For example if you are using Django framework for developing your website then you have to use Python in back end. If you are using Spring framework then you have to use Java in back end. So I would say it totally depends on the framework or platform that you are using for web development and I will talk about these platforms below.
Response Before talking about the frameworks i want to specify one another thing which is pretty simple and intresting as well i.e the Response. The server sends a response in return of a request and the response can be in following form :
Frameworks & Libraries So now, you are aware of the basic architecture of a website. In this section I will cover all famous Frameworks and Libraries that are used for web development. If you want to know that "what is the difference between a Library and Framework", then you should read this article
Library vs Framework
You can take help of Bootstrap's Documentation which is pretty simple and easy to understand.
Here I want to make my point. If you are a beginner then don't go for bootstrap. Just make webpages/templates by your own with the help of CSS only. This makes you understand things deeply and meaningfully.
2.) Wordpress : Wordpress is an open source Content Management System (CMS). This is developed in PHP. If you don't want to learn programming then just go for wordpress. It is super easy to make a website on wordpress. About 76 million websites are running with the help of wordpress. There are plugins for everything in WordPress, If you want to do some manipulations in your interface or in response then you will definitely get a plugin for it. Wordpress uses MySQL or
Languages & Their Frameworks Now I will explain the rest of the frameworks with respect to the programming languages. This will help you to choose the right framework for developing your personal website, for the job, for freelancing etc. Each and every framework have its own advantages and disadvantages over one another. At the end of this article, I will also give my personal opinion about a framework.
1.) Python : Python is growing day by day, you can do almost everything from web development to Machine Learning with the help of python. Python have many frameworks to make a website like Flask, Django, Bottle, web2py etc. But Django is the most popular one. Flask, Bottle and web2py are used for developing small scale websites. Django is very flexible and used for high-level complex websites. It was initially released in 2005. You can customize almost everything in Django as per your requirement.
The main feature of Django is, you don't have to worry about the database. You can use any database from SQLite to MySQL, MongoDB etc. The good thing is that you don't need to write SQL queries to generate database tables i.e everything is done with the help of python, which is a great feature.
Django is based of MVT architecture i.e Model View Template. Means data is stored in models, request handling is done by Views (a python file containing python functions). And the response is rendered with the help of Template.
2.) Java : The popular framework named Spring is based on java. So Java is the heart of Spring. Honestly i never used Spring so i am not writing too much stuff about this framework. But this is an old framework which was initially released in 2002. Spring is based on MVC arch
1.) MEAN : MongoDB + Express + Angular + Node Js
2.) MERN : MongoDB + Express + React + Node Js
The only difference between MEAN and MERN is of Angular js and React js. These are used on front end development and both are amazing. If you want to know the difference between React and Angular then you should read this article :
React vs Angular
1.) Relational database
2.) NoSQL database
The relational databases are slow as compared to NoSQL databases but relational databases are secure as compared to NoSQL. MySQL is an example of relational database whereas MongoDB is an example of NoSQL database.
If you want to read more about relational and NoSQL databases then you should read this article :
NoSQL vs Relational database
But in a short explaination NoSQL databases are used to handle high traffic. For example a website like Google, youtube, facebook etc. uses NoSQL databases. On the other hand due to secure reasons relational database like MySQL is used for banking related websites.
Tips So at the end of this article i hope you have a huge knowledge of web development. But now I want to make my personal tips and suggestions for you. If you are a complete beginner then I suggest you go with python and Django (which is my personal favourite). Python is a powerful language. It is easy to learn.
Here are some reasons for learning Django :
HTML, CSS and python are the fundamental requirements if you want to make a website using Django.
On the other hand, you should use WordPress if you don't want to learn any programming language. Everything is already cooked up for you at WordPress platform.
Some recent posts
Complete process of changing database from SQLite to MySQL - How to migrat...
" How to download a file in django | Making a large file downloadable from ...
How to use proxy in python requests | http & https proxies - Scraping...
Top Django Querysets, How to filter records | Fetching data from database e...
How to change base url or domain in sitemap - Django ...
How to Make a Website - Everything you should know about web development...
Top 5 Interview Questions : Tips for HR round ...
How to get job in IT : Perfect resume guide for IT job ...
Programming vs coding | difference between programming and coding ...
Popular PostsHow to compress image before saving to DB
Migrating from SQLite to MySQL in Django
Choosing correct M.2 SSD
How to deploy a web app on pythonanywhere
5 Steps to create sitemap in Django
How to send mails automatically in Django
Handling arguments in django urls
Media and Static configuration in Django
Language Translation & detection using python
React Js vs Angular Js
5 Tips to improve Programming Logics