RNR 139: Upgrade Helper with Lucas Bento
In this week’s episode of React Native Radio Charles Max Wood interview Lucas Bento. Lucas has been working with React Native for around four years. He helped create and maintains Upgrade Helper. Upgrade Helper helps React Native developers when an automatic upgrade fails. In this episode, they talk about Upgrade Helper, React Native Doctor and open sourcing software.
Upgrading React Native can be awful. Lucas explains how this process has become easier and now most problems happen with developers who are new to React Native. They are still working on ways to make upgrading more smooth.
Charles shares his plans to build a mobile DevChat application with React Native. He asks Lucas for advice on how to update the template app he purchased in the past to help with this project. Lucas explains that it depends on what version the app is currently using. He recommends not skipping versions when updating, to run the upgrade command and check the app for errors.
The panel discusses the common problems seen when upgrading versions. The most common problems comes from integration with libraries. When the app uses a react native library there are fewer problems with recent releases, as the library maintainers have time to make any changes before the release. Libraries from outside maintainers may lag as they have to play catch up after the release.
Lucas explains how Upgrade Helper works. It is a web interface that shows tutorials, comments and other content that help developers upgrade their applications. They tell Upgrade Helper what version they are currently using and what version they would like to use. Upgrade helper shows the changelogs for the version jumps, major changes that were made between versions, along with a guide that walks you through the upgrades.
Upgrade helper has a couple more things coming soon. Lucas is really excited about implementing a dark mode. They are also launching a discussion forum for people to discuss the different versions, sharing problems and solutions.
Lucas explains how he got involved in this project. After seeing something similar in the angular project, Lucas, Pablo Discobar and Lorenzo Sciandra decided to build Upgrade Helper for React Native. Now they maintain it together. Lucas shares how much he enjoys working on this project and finding solutions to these messy upgrade problems. He shares his first experience running into these problems and explains that they do get easier the longer you deal with them.
Charles asks how upgrading works with native dependencies. Lucas explains that currently when you run the upgrade command it does not check the native dependencies, it is very minimal and barebones. Developers can check the changelogs and make the necessary changes after. This is one reason that upgrading can be so difficult.
The React Native Community does want to build a tool in the future that will automatically upgrade native dependencies. Lucas explains that they have a lot of exciting ideas for React Native but not enough time to work on them. Charles commiserates, explaining how time is a precious commodity when volunteers are running the show.
Lucas and Charles discuss resources and recommendations for help upgrading. Lucas tells listeners to look out for Upgrade Support, the discussion forum. He explains that there are a lot of upgrading tutorials for React Native If there is anyone out there who likes creating posts on upgrading React Native Lucas invites them to reach out, he would gladly put them up on the forum.
The panel talks briefly about React Native Doctor. React Native Doctor is an interactive CLI that checks apps for problems and then fixes them. Lucas explains what Doctor will check and how it works. If it can’t fix a problem on its own, it logs a message on the UI explaining how the engineer can fix the problem. Lucas explains how this will be very helpful when upgrading versions as well.
The episode ends with a discussion on open source contributions. Lucas explains how developers can get involved in these projects and the React Native Community. He and Charles tell everyone not to be afraid to contribute, they are all volunteers. Open source is for everyone and a place where developers can learn new things. Lucas shares what he has learned since working in opensource. They discuss the spectrum of attitudes towards open source, either everything from “I open source everything” all the way to “I don’t open source at all”. They encourage everyone to honor the individual decisions of fellow developers and avoid shaming those they disagree with.
- Charles Max Wood
- Lucas Bento
Charles Max Wood:
What is the best advice when upgrading from an older version of React Native?
Do not skip versions when updating, first run the upgrade command and check the app for errors.
What is the most common problem when upgrading React Native?
Integration with libraries.
What is Upgrade Helper?
It is a web interface that shows tutorials, comments and other content that help developers upgrade their applications.
How does Upgrade Helper assist developers?
They tell Upgrade Helper what version they are currently using and what version they would like to use. Upgrade helper shows the changelogs for the version jumps, major changes that were made between versions, along with a guide that walks you through the upgrades.