Podcast Summary - Eli White on the princiciples of React Native and more.
/ 6 min read
In this interview conducted by Michael Chan AKA Chantastic, Eli White goes over React Native’s team principles which he wrote about on this post. During the interview he mentioned a bit more than just the principles, he gave us a bit more insight of his perspective of React Native.
Links to the podcast interview: Podcast | Youtube Video
26:35React Native teams still need native developers
- Eli White
the platform are coming in and saying like we don’t need mobile developers anymore and that’s not that’s not how we we feel
28:29Native(iOS and Android) developers can help maintain a high bar
- Eli White
maintain the bar of what the experience is on these native platforms you know like you have a bunch of ios engineers or android engineers and they’re going to not let you say like not let you use react native as an excuse like we really want to make
29:45You should leverage native code
- Eli White
or there’s already existing code in native to to do that using it in native is is still react native and we want to encourage that
31:03that we’ve seen have the best success are teams that still have some native engineers
- Eli White
and the teams that we’ve seen have the best success are teams that still have some native engineers
34:14Components have a drawback
- Eli White
They are shared everywhere but then finding the right components to use becomes the problem
34:50so we have a bunch of tooling internally to help make this better but uh it’s not a it’s not a solved problem
36:09React Native incentivizes more generalits supported by fewer specialists.
- Eli White
that’s actually part of React Native as a whole is that yeah mobile used to be only accessible to people with deep native expertise but the up leveling with components and with react native as a whole has enabled this kind of thing that’s required expertise to be more towards generalists, supported by fewer specialists
37:27react native is a framework and a technology that transcends facebook
- Eli White
react native is a framework and a technology that transcends facebook
39:08Facebook is working closely with Microsoft because it has internal products using its technology
- Eli White
you know partnering really closely with microsoft to support windows and mac and you know we’re building up a team to do that because we have products now at facebook that are using those
40:45Priority is to match native UI expectation
- Eli White
priority for react native is to really match the expectations that people have of that platform
41:06The goal is not one code for all platforms (Famous learn once, write everywhere quote in its documentation)
- Eli White
the goal isn’t like 100% code reuse the goal isn’t that uh you write one like piece of code and that will run on every platform look and feel exactly
42:38The challenge about cross platform inconsisntency. For Web devs, they are used to seeing browsers handle UI differently, for Native devs they are used to the platform lock-in.
- Eli White
is that a challenging way to think about things like or talk about them as you introduce react native to people i think it is for
43:56The trade-offs aren’t performance
- Eli White
flutter and swift UI and jetpack compose and a bunch of different choices that people. the trade-offs that people often talk about are you know maybe like performance or uh who who created it but I think that’s not that’s not really the the things that we really want people to think about
44:47Eli White thinks Flutter has a different principle when it comes to developer experience, they cherrish it more.
- Eli White
my understanding is that they don’t have the same principle that for them it matters much more that the experience is the same across all platforms uh not because they want the experience to be the same across all platforms but they want the developer experience to be so great. They want you to you want they want you to be able to confidently write code and have confidence that it’s going to work the same way
45:32Between developer and user experience - React Native chooses user experience.
- Eli White
your belief that you know if it comes between a user experience and a developer experience you’re going to choose the user experience over the developer experience
46:12React Native Core team is particularly focused on issues at Facebook’s scale. Leaving everything else for the community
- Eli White
for our team it’s really important that we focus on the kind of issues that we see at that scale a lot of things that we aren’t able to focus on because they don’t cause us the biggest problems of this
46:12And instead enable other companies to focus on the issues at other scales
- Eli White
we want to enable other companies that operate those scales to really focus on the things that impact them and
49:54Expo is providing high quality building blocks
- Eli White
they’re really providing out like high quality building blocks that people use yeah and
51:02More important to enable these companies instead of Facebook doing it all.
- Eli White
i think for us it’s more important to build our relationship with these companies and enable them versus trying to do it all ourselves
52:12Hermes and Turbo Modules are a great example of Facebook solving a problem at scale
- Eli White
react native and this is like a great example of what it means for us to focus on on scale because
53:30Hermes is about optimizing for startup performance on mobile
- Eli White
for hermes that’s really the main focus is really optimizing for startup performance on mobile
53:35A JavaScript Engine is a not a thing anybody can build from scratch
- Eli White
and you know it’s not a thing that anybody can do, creating a new javascript engine
53:51Hermes compiles JS to bytecode then executes it off the disk. Thus no parsing or evaluation of JS code, just bytecode instructions
- Eli White
compile that javascript to uh bytecode that is then execute like directly executed and off disk and so there’s no there’s no javascript source there’s no parsing there’s no evaluation and it is it is like actual bytecode instructions
54:51React’s rearchitecture is to achieve new optimizations and more capabilities
- Eli White
React Core team rethought the core implementation without changing the public APIs to push new capabilities and optmizations not previsouly possible to achieve
Conclusion
The requirement of native development experience is an important point to make for web developers working with React Native, it is important for them to work towards reducing this knowledge gap.
Cross-platform can be classified as a generalist trade since it requires broad knowledge that only increases as you work with more platforms.
And leveraging the platform OEMs/widget is what truly differentiates React Native from other approaches, not performance or who is leading development.