RRU 080: Navigating React Navigation with Zain Sajjad




React Round Up show

Summary: <p dir="ltr"><strong>Zain Sajjad is a frontend developer at his company Peekaboo Guru, an app built in React. The show begins with Zain explaining why he chose to build Peekaboo Guru in React. Ultimately, he chose React for its composability and reusability. He talks about how much data is shared between his React and React Native applications.</strong></p> <p dir="ltr"><strong>Zain explains what he means by a container since he is not talking about Docker, and how he has the app organized. He talks about the differences between routing and navigation between React and React Native. When approaching these differences, he breaks things down into components, containers, and platform, paying careful attention to how they work together. This differentiation can actually help a lot with testing as well. </strong></p> <p dir="ltr"><strong>The panel asks Zain about choosing between React navigation and React Native navigation, but Peekaboo Guru uses both React navigation and React Native navigation, but on different platforms. They use each on different platforms because React Native doesn’t let you configure it with existing native apps. He talks about the pros and cons of each, but prefers React Native navigation. They decided to use both because Peekaboo Guru is based in a region where there aren’t many users with high end devices, so this decision was made to accommodate them. </strong></p> <p dir="ltr"><strong>They then discuss how to approach making important software decisions with a team and how to make an objective decision away from your bias against old or new technology. Zain believes that you have to step out of your comfort zone and think of the team rather than yourself. They talk about the thought process of making these decisions, especially concerning who is going to do the maintenance. They talk about ways to give good feedback even when the maintenance is not going to be your responsibility and the importance of staying humble. Making decisions like this can be tricky because it is where hard skills and soft skills intersect. </strong></p> <p dir="ltr"><strong>The panel moves on to talking about machine learning, and Zain talks about his experience using it to screen comments on Peekaboo Guru. Machine learning is getting more and more common, with giants like Snapchat and Facebook doing it as well. There is also a lot of machine learning on our phones that we don’t think about.</strong></p> <p dir="ltr"><strong>Zain gives advice for those who want to start learning about machine learning. He advises people to think of it in two parts, preparing a model and using a model. Thomas feels that machine learning is more approachable than it first appears to be, though it is always related to how good the abstraction is. They compare machine learning to AI and a database to assist with understanding. </strong></p> <p dir="ltr"><strong>If you want to play around with AI, Zain counsels that programming has the addiction of success. Keep your tasks small to keep getting those tastes of success. He advises that it is best to start by using the inference part and then make a model. He talks about different tools to help with the math. The show concludes with the panel agreeing to his counsel and reminding listeners that failure is trying to go from 0 to perfect in one step.  </strong></p> <h3 dir="ltr"><strong>Panelists</strong></h3> <ul> <li dir="ltr"> <p dir="ltr"><strong>Thomas Aylott</strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong>Lucas Reis</strong></p> </li> </ul> <p dir="ltr"><strong>With special guest: Zain Sajjad</strong></p> <h2 dir="ltr"><strong>Sponsors</strong></h2> <ul> <li dir="ltr"> <p dir="ltr"><strong><a href="https://devchat.tv/adventures-in-blockchain/">Adventures in Blockchain</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="http://sentry.io/">Sentry</a> use the code “devchat” for 2 months free on Sentry’s small plan</strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://devchat.tv/my-angular-story/">My Angular Story</a></strong></p> </li> </ul> <p dir="ltr"><strong>Links</strong></p> <ul> <li dir="ltr"> <p dir="ltr"><strong><a href="https://peekaboo.guru/">Peekaboo Guru</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://reactjs.org/">React</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://facebook.github.io/react-native/">React Native</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://github.com/wix/react-native-navigation">React Native Navigation</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://reactnavigation.org/">React Navigation</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://www.w3schools.com/sql/">SQL</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://www.tensorflow.org/">TensorFlow</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://medium.com/humans-create-software">Fun Fun Function</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://immerjs.github.io/">Immer.js</a></strong></p> </li> </ul> <p dir="ltr"><strong>Follow DevChatTV on <a href="https://www.facebook.com/DevChattv/?__tn__=%2Cd%2CP-R&amp;eid=ARDBDrBnK71PDmx_8gE_IeIEo5SnM7cyzylVBjAwfaOo1ck_6q3GXuRBfaUQZaWVvFGyEVjrhDwnS_tV">Facebook</a> and <a href="https://twitter.com/devchattv?lang=en">Twitter</a></strong></p> <h3 dir="ltr"><strong>Picks</strong></h3> <p dir="ltr"><strong>Lucas Reis:</strong></p> <ul> <li dir="ltr"> <p dir="ltr"><strong><a href="https://emberjs.com/">Ember.js</a></strong></p> </li> <li dir="ltr"> <p dir="ltr"><strong><a href="https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw/featured">3Blue1Brown</a></strong></p> </li> </ul> <p dir="ltr"><strong>Thomas Aylott:</strong></p> <ul> <li dir="ltr"> <p dir="ltr"><strong><a href="https://www.riteintherain.com/shop-products">Rite in the Rain notepad</a></strong></p> </li> </ul>