Describing the React Native Re-architecture, a story

kelset

Lorenzo 'kelset' Sciandra

Posted on April 18, 2019

Describing the React Native Re-architecture, a story

It has been quite some time since I last wrote an article—even longer since my last series of blog posts: my last article on Medium (about Open Source) was dated Jan 2nd, 2018 (!).

There are a few reasons for that, but largely because I focused much of my spare time to helping the React Native Facebook team and the React Native Community become what they are today, in many ways (being a maintainer of the core repo being one of them).

Since this past January, though, I had a chance to join Formidable—where, honestly, I’m having the time of my life—and thanks to a few of my colleagues I finally found some new motivation in doing what I really liked back in 2017/2017: writing.

I decided to tackle something that has been in the back of my mind for a long time: the new architecture that is currently being developed by the FB team. These changes will make React Native soooo much better it’s borderline mind-blowing. The only real issue is the lack of material about it, and what does exist is mostly super technical.

So I decided, with the help of a few colleagues and the patience of a couple of FB engineers who answered my questions, to try and provide a larger audience of developers a glimpse into something that makes me believe that React Native is here to stay.

One of the main concerns I had while writing was finding the right middle ground between details and accessibility: in this, it helped a lot the decision to not show code and being able to visualise a before/after graphic of the architecture (thanks to our awesome graphic Mark):

the two architectures, before and after

I immediately recognised that we could split the architecture into four groups, resulting in four easy-to-digest articles:

As this is history in the making, since “the code is still being written”, I had to take some liberties in presenting a few concepts, in order to not risk these articles be ‘dated’ when we published them. For example, the details on how Fabric works changed since last year, so I decided to do a bit of “hand waving” over how the shadow tree and the queues work.

Moreover, as someone heavily involved with all of this, I also had to take a step back to try and drive home the core concepts of each of the new ‘components.’ Essential to this effort has been having Kadi and Carlos (two colleagues I have the luck to be working with) read the draft articles and provide great POVs from the React Native engineer angle.

The publication of these articles took a lot of work, and I’m stoked to see them on the Formidable company website. I hope they helped at least a couple of developers out there in the big world wide web to rest assured that React Native is great, and it will become even better.

If you are one of those devs, please leave a comment here!

I’d love to hear your feedback about the posts, from what you found more interesting to any other questions you may have on the subject (if you prefer, you can also find me over on Twitter, my DMs are open).

Probably you’ll see more of me in the future, but until then...

Happy coding! 🤖

💖 💪 🙅 🚩
kelset
Lorenzo 'kelset' Sciandra

Posted on April 18, 2019

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related