The future of React
Tags: react
Published: 2019-12-05 12:17:24

I have a confession to make - the title was a clickbait(obviously)
I don't have the darnest clue to what the future of React will be and even if I (thought I)did, I'm pretty certain that whatever I have to say about the subject will be wildly inaccurate or irrelevant.
This post is about what I felt and imagine to be the future after watching and re-watching the first 4 hours of [React conf 2019 day 1](https://www.youtube.com/watch?v=UxoX2faIgDQ), through the eyes of a react developer still in his early stages.

## HARDER
###### and more difficult to enter larger companies if you start small
[Concurrent mode](https://youtu.be/UxoX2faIgDQ?t=2790), [lazy loading/code splitting](https://youtu.be/UxoX2faIgDQ?t=2847), [progressive hydration](https://youtu.be/UxoX2faIgDQ?t=3482), [loading components according to the user's mouse location](https://youtu.be/UxoX2faIgDQ?t=3535) etc etc.... sounds amazing.
The amount of optimizations that these stuff allow are _**quite literally**_ mind-blowing. I can imagine webpage interactions being possible in less than a quarter of the time it initially took if used right.

But will this be done easily?

I'm pretty sure I'm not alone about this, but getting used to webpack configurations itself was not really a stroll in the park. Fiddling with webpack config files almost felt like a different field in web development itself - we all know it's crucial and something worth studying... yet without the right guidance and templates, it's a load of trial & error and ripping your hair out at why the hell some loader won't bloody load.[insert gif expressing frustration]

And the above optimizations, feels like the same thing - except it requires a higher level of expertise and possibly has to be applied differently _per project_.

As a result, large companies with a substantial amount of users will probably study and adopt these optimizations methods ASAP. In the long run they will have their own templates for said optimizations and have blazingly fast websites. But relatively small companies will probably not consider doing so unless something does it easily for them.

This is already probably true, but the skill sets required to work as a dev in a company will possibly vary even more according to the size of the company you used to work at - new development paradigms could arise that are suited for these types of optimizations. As a result, switching between smaller and larger companies could become more difficult.

Of course, everything is just a mild imagination and it might turn out the React team does an awesome job in making all the optimization methods really straightforward to apply. I haven't tried the experimental feature so I don't really know myself.(Any feedback in the comments will be greatly appreciated)

But take a look at typescript. This is my experience in working as a React dev in South Korea, but small companies generally don't bother despite the obvious [benefits of using typescript](https://youtu.be/UxoX2faIgDQ?t=9795). I agree on not using typescript if your website will take lets say... less than 2 weeks to code and don't plan on scaling at all. Or if your sole purpose is to make a quick MVP, I understand the choice to neglect typescript. But the reality is, most small scale companies don't - yet they expect to jam-pack the website to the brim with features and plan on using the code base for undefined periods of time.

It's a sad reality, but I do not have high hopes of it being that much different in the optimization standpoint with these amazing new features.


## [We need to invest more in DX](https://youtu.be/UxoX2faIgDQ?t=9540)
###### (AKA use typescript and GraphQL)
Tejas's talk was outstanding in every aspect I can think of. I highly recommend watching at least just this part of the react conf. You will inevitably obtain a powerful urge to study GraphQL and typescript.
I'm not joking, click on the title and go watch it. It's worth every minute.

If you'd rather just reap the benefits, check this out - [Restful-react](https://www.npmjs.com/package/restful-react)

Anyway, the talk was a true and living representation that [DX ultimately lead to good UX](https://youtu.be/UxoX2faIgDQ?t=10181), and you can really feel your productivity increasing if you had such an environment. It's [quite remarkable](https://youtu.be/UxoX2faIgDQ?t=11145).

Set your DX well - UX will follow. Reduce meaningless discussions by using typescript, GraphQL, end-to-end type safety, tab tab tab, no time-wasting searching through API docs or guessing games. That's the gist of it. 


### Wrapping up
React(hooks) is amazing, and it just keeps getting better.
There I said it.