Frontend Development
Tags: webdev, beginners, 100daysofcode
Published: 2020-03-15 15:49:15

>Why do I love programming?

>"I love it because you take ideas to life. You start with a blank canvas and create. You build an application from nothing" ~ Catalin

In my previous article, I talked about Web Development. If you have not read it yet... Give it a look.

[Intro to Web Development](https://dev.to/thecoollearner/intro-to-web-development-loi)

In the previous article, I talked about the different types of developers.
In this blog, we're gonna cover frontend development.

---

Let's firstly know that what does frontend development mean.

**Frontend development** means creating client-side applications with which a user interacts. Basically we are referring to *Websites*. 

It's an important part as a website represents an organization, an institution, a firm, sometimes people and a lot more. So websites play a major role in deciding a user's opinion about something. Cuz users interact with the websites only, not with the underlying nitty-gritty codes. 

When you visit a website you see a lot of things. Pictures scrolling, icons, buttons, forms, texts, and a lot more. But to assemble these all into a page in the way it is designed a lot of codes run behind the scenes.

And the people who take the pain of doing all these codings are called **Frontend developers**.

---

A lot of skills are required for this but basically, to do all these we need only three things -
* HTML
* CSS
* JAVASCRIPT

Let's talk about these one by one.

---

**HTML**
It stands for Hyper Text Markup Language. It is a combination of HyperText and Markup Language. It is used to give a basic structure to a webpage. HyperText refers to the links between the pages while Markup language is used to define contents/text of the page with the help of tags so that the browser can understand it and can manipulate the content/text accordingly.

**CSS**
It stands for Cascading Style Sheets. Basically CSS is used to apply styles to the web page. It offers you plenty of styles to apply to a web page and convert a simple-looking web page into an awesome-looking piece. Or in simple words, CSS is used to bring to life a web page.

You can understand it with the help of this picture -

![HTML-CSS](https://dev-to-uploads.s3.amazonaws.com/i/ye5uk834bb5d9l3o1ix0.jpeg)

**JAVASCRIPT**
JavaScript is a cross-platform, object-oriented scripting language used to make webpages interactive (e.g., having complex animations, clickable buttons, popup menus, etc.). JavaScript is used mainly for enhancing the interaction of a user with the webpage. In other words, you can make your webpage more lively and interactive, with the help of JavaScript.

>In simple words of [Catalin](https://twitter.com/catalinmpit) -

>"I like to associate HTML, CSS and JavaScript with our body.

>**HTML** represents our body structure - 4 limbs, a head, a neck, a torso, etc.

>**CSS** represents our appearance - skin/eyes/hair color, clothes, etc.

>**JavaScript** represents our functioning - breath, think, sleep, eat, etc."

I'll talk about these, one by one in my next blogs.😊

---

You might have many questions in your head regarding Frontend. I'm going to answer a few with the help of [Catalin's](https://twitter.com/catalinmpit) tweets -

1) What are the requirements for learning Frontend?
➡
To learn HTML, CSS and JavaScript you only need a:
* Text Editor
* Browser

2) From where do I start my coding journey?
➡
Start with:
- HTML
- CSS

Continue with:
- Vanilla JavaScript (basics)
- DOM manipulation
- Advanced concepts (ES6, closure, etc.)

Look into:
- FE framework (React or Vue)
- NodeJS

3) I don't know much about CS or mathematics, can I become a web developer?
➡
You don't need a CS degree to be a web developer.

You don't need mathematics to be a web developer.

You don't need to ace Data Structures & Algorithms to be a web developer.

All you need to be a successful developer :
- curiosity
- passion
- determination
- enthusiasm
- ambition

All the technical skills can be learned. 

4) How much I have to learn before applying for jobs?
➡
- HTML5
- Accessibility
- Responsive Web Design
- CSS Basics
- CSS Flexbox and Grid
- Basic JavaScript
- Object-Oriented Programming
- ES6
- DOM Manipulation
- Git

Congrats. You are ready to apply for jobs. You will learn more on the job.

5) I did not understand many terms from above and don't know whether I'll be able to remember all these?
➡
Google is here for a reason. Don't try to cram everything into your brain. You will fail, and you will get frustrated.

Nail the basics down. You can, and you should use Google, Stack Overflow and so on for anything else. 

Work smart, not hard.

If you have more questions feel free to ask below...😊

---

Once again thanks to Catalin 🙏
For allowing me to use some of his tweets.
Follow him on Twitter, just click on his name -> [Catalin](https://twitter.com/catalinmpit). He's a great motivator.

---

Let's connect 😊
Click -> [Alok](https://twitter.com/thecoollearner) and say Hello !!!