Get Started with Web Development
Tags: webdev, udemy
Published: 2021-02-16 06:06:40

Nowadays it's really easy to learn anything online. You can go online and google "learn [skill]" and you can find thousands of options but what exact skill should you learn. 
If you want to become a Web Developer (a person who creates websites) and not sure where to start then this blog is for you.

> If you don't want to read this whole blog and just want an online course that teaches you everything you need to know from scratch. I got you covered 😉
[The Complete Web Development Bootcamp](https://www.udemy.com/course/the-complete-web-development-bootcamp/) by Angela Yu is probably the best online Web Development course out there. I also started my Web Development journey from this course itself.

# What is Web Development?

There are practically countless websites and web applications online today. These websites can be for anything from social networking websites like Facebook to E-Commerce websites like Amazon. Web Development is the creation, updating, and maintenance of these websites. 
Web Developers (commonly referred to as **devs**) use a lot of different programming languages and technologies to create such websites.

# Where to start?

To learn Web Development, we need to know the basics. 
Web Development is generally divided into two parts:
- Frontend - The part of a website that the user interacts with directly is termed as the front end. It is also referred to as the ‘client-side’ of the application. It includes everything that users experience directly: text colors and styles, images, graphs and tables, buttons, colors, and navigation menu.

- Backend - Backend is the server-side of the website. It stores and arranges data, and also makes sure everything on the client-side of the website works fine. It is the part of the website that you cannot see and interact with. It is the portion of software that does not come in direct contact with the users.

First, we need to learn Frontend Development.

## 1. HTML

First, we need to learn **HTML (HyperText Markup Language)**. As you can see in its name HTML is not a Programming language but a Markup Language. Now, what is a Markup Language you ask? A Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text. In simple terms, it is used to define the structure of the document so that it displays only text and in the way, it's intended to.

There are a lot of places to learn HTML. Some of them are:
- [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML#beginners_tutorials)
- [W3 School](https://www.w3schools.com/html/)
- [JavaTPoint](https://www.javatpoint.com/html-tutorial)
- [Tutorials Point](https://www.tutorialspoint.com/html/index.htm)
 
## 2. CSS

Now that we can show text on the screen, we need to style the screen to make it look better. For this purpose, we use **CSS (Cascading Style Sheets)**. CSS is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. Basically, it gives style to the website.

Resources to Learn:
- [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/CSS)
- [W3 School](https://www.w3schools.com/css/)
- [JavaTPoint](https://www.javatpoint.com/css-tutorial)
- [Tutorials Point](https://www.tutorialspoint.com/css/index.htm)

## 3. CSS Framework

To make our lives a little bit easier, we use different tools and libraries. Let's see some of them.
First, you probably want to learn a CSS Framework or Library which will greatly reduce the code you write while styling your website.
There are quite a few such CSS Frameworks and Libraries out there but we will focus on just one for now. Now you can choose anyone but two of the more famous and easier ones are:
- [Bootstrap](https://getbootstrap.com/docs/5.0/getting-started/introduction/)
- [Tailwind CSS](https://tailwindcss.com/docs)

## 4. JavaScript

Now our website has started to look a lot like those other big websites, but it still can't perform any function. To do that we need to define logic in the website using JavaScript. Javascript is a high-level programming language that is used to define logic and provide the functionality to websites.

Resources:
- [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- [W3 School](https://www.w3schools.com/js/DEFAULT.asp)
- [JavaTPoint](https://www.javatpoint.com/javascript-tutorial)
- [Tutorials Point](https://www.tutorialspoint.com/javascript/index.htm)

## 5. DOM Manipulation

**The Document Object Model (DOM)** is the data representation of the objects that comprise the structure and content of a document on the web. It represents the page so that programs can change the document structure, style, and content.
We use Javascript to interact with DOM and provide functionality, change the Data and style of the webpage while the website is running, etc.

Resources:
- [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction)
- [W3 Schools](https://www.w3schools.com/js/js_htmldom.asp)

Now we know how to use HTML, CSS, and Javascript which are the big trinity of Web Development. Only by using these three technologies, we can create nearly most of the websites out there. But as you go on creating websites it can get a lot tiring writing a lot of the same code again and again to achieve seemingly simple functionalities.

## 5. jQuery

Moving on the same path to make your lives even easier you should learn jQuery.
jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax. 

Resources:
- [jQuery Documentation](https://api.jquery.com/)
- [W3 Schools](https://www.w3schools.com/jquery/jquery_intro.asp)


Now that the Frontend part is complete (kinda) we will move onto Backend.

## 6. Backend Framework

There are a lot of options when it comes to Backend Frameworks. There is NodeJS with JavaScript, Django with Python, Ruby on Rails, etc.
Just choose one which you find easier.

## 7. Databases

Even though a lot of the websites would not need a database but in case you need to store data as well, for example like Ecommerce Website, Blog, etc., we do need a database.
There are a lot of different databases, but they can be generally divided into two types, i.e. SQL and NoSQL Databases.
Some of the most famous ones are:
- [MySQL](https://www.tutorialspoint.com/mysql/index.htm)
- [MongoDB](https://docs.mongodb.com/)
- [PostgreSQL](https://www.postgresql.org/)

With this, you know all the things you might need to make a fully-fledged website.

Happy Coding!