In this episode of React Native Radio, Josh Justice interviews Calvin Yu. Calvin is a consultant mostly working with Ruby on Rails but also works with React Native and mobile development. He has quite the history of working with startups, all varying in size. Calvin shares what it was like working with startup companies.
Calvin explains what you have to change mentally to work in a startup. First, you have to realize that you don’t have all the answers and that it takes a commitment. He also explains that because you don’t have all the answers you will make a mistake, which means you need to be able to learn from it and move on.
Josh and Calvin share their thought on using risky or bleeding edge technologies in a startup. Calvin explains that when developers are looking to join a start-up they want to work in something new, exciting and a little risky. They consider the risks and the benefits, how new technologies could give a startup a leg up on the competition. Josh brings up a blog post titled “Choose Boring Technology”, he summarizes explaining that startups should pick boring, old reliable technology for the parts of the app that don’t matter.
The panel moves on to discuss React Native more specifically, Calvin explains why he chose React Native over another cross-platform mobile solution. React Native provides a great experience in the mobile platform, it allows him to give the users what they want. Josh and Calvin discuss what users want from their apps or a user's hierarchy of needs. First, the app needs to be useful, if an app isn’t useful who cares if it performs well. After making sure the app is useful, you can then go back and worry about performance and other secondary needs,
Calvin shares the story of how he got into React Native. He was working on some React apps to render kiosk displays when he was approached to build an internal iOS app. The app did some internal functionality for a team of home repair contractors. At the time NativeiOS seemed like overkill for what they wanted. Not to mention they would want the same thing in Android. React Native seemed the obvious choice, so he just dove right in; learning trial by fire.
Josh and Calvin consider how React Native has evolved over the years. Calvin shares some of the enduring pros and cons of the framework and explains when to reach for React Native and when to reach for something else. He makes most of his comparisons to Flutter. Flutter is great for game design and custom UI, but React Native is the ideal solution for cross-platform native applications. React Native is well-tuned for reusability. Calvin believes that the React Native ecosystem will grow because it is such an approachable language.
Ruby on Rails is considered due to Josh and Calvin’s background in it. Josh considers Ruby on Rails and how it comes with everything you need right out the box but React Native is quite the opposite. This makes Josh wonder what is so appealing about React Native to Calvin. Calvin explains that he hopes that someday React Native will be ready out of the box and gives ideas of how it might get there.
Calvin considers the future of software development. He believes that building applications will be pushed up in the stack. That building applications will a thing that anyone can do, just like anyone can use a spreadsheet. He thinks software development will get more approachable and easy tooling that will make building applications much simpler. He considers how comfortable his kids are with technology and touch screens and this will affect future software developers.