DEV Community

Daniel Musembi
Daniel Musembi

Posted on

What is Front-End Development and why React?

Front-end development refers to what the end-user (also commonly referred to as the "client") can see. In the most basic forms, front-end development consists of HTML, CSS, JavaScript.

As a developer, you will find that it is very easy for your front-end (website, web application, etc.) to become very complex and have a lot of different moving parts.
It makes solving problems much more difficult when you have to go through a maze of code to find the issue.

Eventually, developers decided that there must be a better way to manage all of that code, so they created libraries that could make life easier. React was one of those libraries.

Why React?

React is one of the most popular JavaScript libraries for front-end web applications.

Here are some of the advantages of React:

Speed
Interactive websites need to update the DOM (Document Object Model) each time a change happens. This process is generally resourceful and slow.
Compared to other libraries that manipulate the DOM, React uses a Virtual DOM, allowing to update only the parts of the website that have changed. This increases the speed of updates dramatically, as modern web applications may contain thousands of elements.

Ease of Use
React allows developers to group related code, thereby making building and maintaining large-scale applications much less complex.

Support
React has an amazing large community and is open source. it is maintained by Facebook and the community.

Declarative
React allows you to control flow and state in your application by saying "It should look like this". An imperative style turns that around and allows you to control your application by saying "This is what you should do".

The benefit of declarative is that you don't get bogged down in the implementation details of representing the state. you're delegating the organizational component of keeping your application views consistent so you just have to worry about the state.

Top comments (0)