DEV Community

Cover image for A Love Letter to Gen Z from Gen Y: Understanding React's Evolution

A Love Letter to Gen Z from Gen Y: Understanding React's Evolution

Anisha Malde on April 09, 2024

Now, before I get cancelled, let me explain šŸ˜… I'm on the cusp of the boundary between Gen Y and Gen Z and I learnt React during the class component...
Collapse
 
garyk2015 profile image
garyk2015

Great read (even as a Gen X'er).

I feel software development is going backwards but I guess that is more to do with the platform (web) whereas I coded for Win32/Win64.

I did years of OO and component re-use and encapsulation was a thing and as you mention React started this way before going, dare I say, quick and dirty.

But web dev isn't quick and dirty, its slow and painful having to have UI/API Layer/DB and having to marshall data back and forth between the 3 tiers. I (30 years ago with Delphi) I could do OO, visual inheritance, 2-tier, 3-tier, WYSIWYG development so could churn out apps way way faster than now.

Collapse
 
anishamalde profile image
Anisha Malde • Edited

Hey! Thank-you. I know what you mean, React has a very interesting paradigm where some new developers may not have ever touched OOP! Really interesting to hear your perspective, thank-you for sharing!

Collapse
 
jamonholmgren profile image
Jamon Holmgren

This was a fun return to the past, and a nice look forward!

Collapse
 
anishamalde profile image
Anisha Malde

Thank-you Jamon! Since you're one of the major players in the RN community, is there any similar trends specific to RN you have seen?

Collapse
 
jamonholmgren profile image
Jamon Holmgren

I think the new architecture and autolinking and before Expo was viable -- might make a good talk at Chain React actually.

Thread Thread
 
anishamalde profile image
Anisha Malde

Ooo what a great idea! Theres probably so many things I "take for granted" in RN, would definitely be very interested!

Thread Thread
 
jamonholmgren profile image
Jamon Holmgren

CFP is still open! ChainReactConf.com

Collapse
 
p_syche_ profile image
Ola Linczewska

This was a great read!
I am in the "i learned class components" group too. I wonder what the younger developers think about these differences.
I especially see the value of your opinion about testing ("The step-by-step nature of class components encouraged testing practices, as we had to address each component's lifecycle events and behaviours individually.") Testing components with multiple useEffects is a totally different journey!

Collapse
 
anishamalde profile image
Anisha Malde

Thank-you Ola! Yea i'm really hoping to open up a conversation. Any recommendations for testing multiple useEffects? šŸ˜‰

Collapse
 
p_syche_ profile image
Ola Linczewska

My first thought about recommendations in this case is: run away! XD
But if we're being honest I would start by trying to build a mental model of how the component works, maybe try to write down a flow diagram. Then try to figure out what exact behaviour you're testing :) Because, as papa Dodds always says: Don't test implementation details!
( kentcdodds.com/blog/testing-implem... )

Collapse
 
bionanek profile image
Jakub Urban

Is this a group letter? I can sign myself up under it! :D Really nice read.

One note I'd add from myself regarding the "TypeScripting our way to a stronger relationship!" - it has 2 sides - get grip of TypeScript, that's for sure, but because TS is becoming a default choice in more places everyday don't forget the basics - JS is under the hood and we all should understands how it works, so it's not all magical to us šŸ˜‡

Collapse
 
anishamalde profile image
Anisha Malde

Absolutely great callout! Theres so many great articles on JS best practices too :)

Collapse
 
firecrow8 profile image
Stephen Firecrow Silvernight

I found this a wonderful read.

If your poking at Gen Z with the dont think just do model, I would say sadly... that your right, but not necessarily for the right reasons.

If we read into the generation that grew up with an automatic music playlist, the ability to call whenever they were running late, and entertainment choices spoon feed to them, It's not hard to say they are the dont think just do generation.

This is exactly what the hooks architecture is, It's any loosey goosey model you want, without the need to organize the lifecycle. Not necessarily bad, but definitely risky.

Collapse
 
michaeltharrington profile image
Michael Tharrington

Wow, this post is wonderful.

So well written, empathetic, and just plain old interesting! Also, the image breaks had me cracking up. šŸ˜†

Really appreciate you sharing this with us! As a non-dev, it was so engaging and well written that I still found it fairly easy to follow (not to claim that I understand all the technicals, haha)... and now I feel like I've learned a little something new about how React evolved and why there is this sorta generational divide between how to do things. Thankya!

Collapse
 
anishamalde profile image
Anisha Malde • Edited

Thank-you so much for your kind words! Hopefully if you ever do give React a try you'll have some more empathetic "older" folks helping šŸ˜‰

Collapse
 
jonny133 profile image
Jonny Lee

Nice article!
And the pre-ES6-class generation before us deserve a shout out too! šŸ˜‚

There's something to be said about differences in testing approach that shifted massively between these generations. While now implementation details tend to be less tested, I feel coverage can be a bit more "gappy" if not careful. Or to avoid this, we tend to go overkill which requires more expensive levels of testing and more setup, which can require more maintenance in itself.

Collapse
 
anishamalde profile image
Anisha Malde

Great points! Yea I definitely think there could be a whole article dedicated to testing!

Collapse
 
priya_patel_6773e453d32b2 profile image
Priya Patel

This is an incredible read! Thank you @anishamalde for taking us on this journey

Collapse
 
anishamalde profile image
Anisha Malde

Thank-you glad you enjoyed :)

Collapse
 
hellonehha profile image
Neha Sharma

Woah!! so many memories are coming back to me of early ReactJS. Thank you @anishamalde for such a fun yet full of knowledge blog for ReactJS future gen

Collapse
 
anishamalde profile image
Anisha Malde

Writing this made me realise, I definitely do not miss class components šŸ˜‚

Collapse
 
nyangweso profile image
Rodgers Nyangweso

good good stuff. Thank you

Collapse
 
anishamalde profile image
Anisha Malde

Thank-you!!

Collapse
 
larsejaas profile image
Lars Ejaas

I really hope we are on the verge of a new React generation. Server components, server actions, web components and hopefully a much larger focus on using WEB API's and progressive enhancement.

Collapse
 
anishamalde profile image
Anisha Malde

Thank-you!!

Collapse
 
yogini16 profile image
yogini16

Fantastic mention! Best practices should be revisited periodically :D

Collapse
 
anishamalde profile image
Anisha Malde

Agreed 100%!

Collapse
 
priyankdeep78 profile image
Priyank Deep Singh

It was so nice to read.

Collapse
 
kevduc profile image
Kevin Duconge

Great article! Brought me back to when I started learning react, and reminded me how painful class components could be. Not saying useEffect is better though!

Collapse
 
anishamalde profile image
Anisha Malde

Aha the love - hate relationship with hooks!