How React reinvents itself to stay on top
React is the juggernaut of JavaScript’s frontend world. And with all the innovation happening, it may become the juggernaut of full-stack development too. Let’s take a look at how React reinvents itself to stay on top of the game and what impact it may have on the full-stack development world.
The Rise of React: A Brief History
There are these ominious job descriptions that ask you for 10 years of experience in React. If you have been early on the bandwagon, this may apply to you. I started with React in 2015, but it has been released a bit earlier in 2013.
Personally I switched to React after working in a large Angular application for two years. The thing that amazed me the most about React back then: the uni-directional data flow. A characteristic that nobody speaks about anymore.
But it was a game changer back then. It made the application predictable even for larger applications. It was the biggest DX improvement coming from a two-way data binding framework like Angular were everything became a mess when you wanted to scale your application.
Speaking about scaling applications: Early Angular did not have the concept of components as first-class citizens. They called their components “directives” before they rebranded them in Angular 2. Inherently working in a large tree of directives with two-way data binding was a nightmare.
That’s why components were another game changer in React.
(state) => uiReact’s Engine: Components, Props, and State
- (state) => ui
- (props, state) => ui
React’s Evolution: Function Components and Hooks
React’s impact on the Server
React’s impact on Full-Stack Development
Reflecting on React’s Journey
- many things not mentiopned: Mobile Development, Desktop Development, VR Development, …
- since I learned programmign through using client-server applications, I am still amazed how React has evolved to become a full-stack framework, so I am curious how React Server Components and Server Actions play out not only in JS but also what impact they have on other programming languages and their frameworks