RNR 137: Brownfield Applications with Michal Chudziak
In this week’s episode of React Native Radion the panel interviews Michal Chudzial about React Native Brownfield, his brownfield library. Michal is lead engineer at Callstack. He works with brownfield apps, integrating React Native into Native apps.
The panel asks Michal about integrating with Native apps for both iOS and Android. Michal talks through an example fo how to add a tab in a new screen using React Native in a Native app. He explains how easy it is to use React Native Brownfield, walking listeners through the steps of integrating React Native into their apps.
Michal explains what you get with this library and how it is customizable for each app. The panel wonders how it handles running React Native in multiple places within a Native app. Michal explains how his library helps with that and answers the panel's concerns about how this affects performance. Performance may be affected if the app is really heavy but otherwise performance should be unaffected by running React Native in multiple places inside an app.
Josh Justice shares what about the React Native Brownfield excites him, especially the opportunity it provides to handle abstractions. This will make the app performant by default while addressing the 80% use case. The panel discusses how the React Native Brownfield helps to bridge the gap between React Native and Native, web and mobile development.
Moving back to brownfield apps, the panel asks Michal when should people consider integrating and using React Native Brownfield. Michal explains that if you have a mixed team with both web and mobile developers or two separate apps for Android and iOS then it is a good idea to try a brownfield app. He tells the panel that even though it is a time investment, it is worth trying because of the possible benefits. Those benefits are that you end up with a good product, a unified code vase, and skilled developers.
The best approach to navigation in a brownfield application is the next thing the panel considers. Michal shares his first experience with navigation in a brownfield app using React Native Navigation. He explains why he chooses React Navigation and how it works with React Native Brownfield.
Michal explains the benefits of gradual integration. With a gradual approach, AB testing can be done, allowing time to do what is right for the application. The panel considers integrating both ways Native to React Native as well as React Native to Native. Michal shares his experience doing it both ways and explains that Native to React Native can be tricky but is doable with the right application.
The panel considers when it would be better to do a complete rewrite of an application instead of writing a brownfield application. Michal and Josh share experiences when they had to recommend a complete rewrite. The panel briefly discusses testing in a brownfield application.
Michal shares features he is hoping to add to React Native Brownfield, build scripts that will help make it a better developer experience. He is also hoping to create a react native brownfield navigator with React Navigation.
The panel asks Michal about maintaining React Native Brownfield. Michal explains that he works on it when he can. He is hoping to pass it off to a few interested people and then help when he can. He invites listeners who would like to contribute to contact him.
- Josh Justice
- Charles Max Wood
- Michal Chudziak
- The iPhreaks Show
- RNR 130: Performance that Matters with Ram N
- Chain React 2019 - Ram Narasimhan - Performance in React Native
- React Native Navigation
- WeAreVoice case study
Charles Max Wood:
What new features will be added to React Native Brownfield?
Build Scripts and a react native brownfield navigator
How do you know when to use a brownfield application?
When you have a mixed team with both web and mobile developers or two separate apps for iOS and Android.
What is the best approach for navigation in brownfield applications?
Choosing a library, he suggests React Navigation.
What are the benefits of gradually integrating brownfield applications?
It gives you can opportunity to perform AB testing and time to make the right decisions for the application.