react native in a nutshell
play

React Native in a Nutshell CS498RK Who Am I? Im Sujay, a full - PowerPoint PPT Presentation

React Native in a Nutshell CS498RK Who Am I? Im Sujay, a full stack engineer at Samsara UIUC CS Bachelors and Masters 2018 Working with Professor Kumars research group from 2014 to the end of time Where Do I Work? Some Details


  1. React Native in a Nutshell CS498RK

  2. Who Am I? I’m Sujay, a full stack engineer at Samsara UIUC CS Bachelor’s and Master’s 2018 Working with Professor Kumar’s research group from 2014 to the end of time

  3. Where Do I Work?

  4. Some Details Our stack - $530 Million in Funding ($6 Billion Valuation) - React + Typescript - React Native - GraphQL - ~200 Engineers - Go - Offices in SF, San Jose, Atlanta, London

  5. We use React Native!

  6. Let’s Talk Mobile - Increasingly shift from desktop to mobile in the world - Virtually everybody has a smartphone - Mobile development primarily works in Swift and Java for iOS and Android

  7. Native Mobile Dev Advantages Disadvantages - Availability of specific UI components - Re-compiling is slow - Gesture systems - New languages to learn - Device compatibility - Two separate code-bases for each - Sophisticated threading models language https://code.fb.com/android/react-native-bringing-modern-web-techniques-to-mobile/

  8. Using WebViews - Popularized by Cordova, Ionic, Xamarin - Writing Javascript code inside of WebViews - Slow, doesn’t provide access to native libraries and processes

  9. Enter React Native - Facebook’s solution to writing cross-platform apps - Use familiar, popular web technologies like React and flexbox - Make development fast!

  10. Who Uses React Native?

  11. React https://facebook.github.io/react-native/

  12. React <div> === <View> <span> === <Text> https://facebook.github.io/react-native/

  13. Styling Inline: - Javascript objects “Classes” - camelCased properties What’s best practice?

  14. Flexbox! flexDirection, alignItems, justifyContent, etc

  15. Getting Started

  16. Let’s Get Started Choose your own adventure Expo CLI Quickstart - Requires no native editor installations, easy to get started React Native CLI Quickstart - Requires native editor installations, more feature robust More Info: https://facebook.github.io/react-native/docs/getting-started

  17. Expo is Magical https://expo.io/

  18. My Preferred Editor & Environment CLI: React Native CLI Editor of Choice: VSCode (lots of nice plugins out of the box) OS : Mac App: iOS

  19. Development in React Native - Fast Refresh - Live Reloading - Debugging through your browser - Cmd + R

  20. Demo Time

  21. React Native Development === Mobile Development

  22. Handling Text Input - The keyboard pops up and covers a third of the screen

  23. Difgerences between iOS & Android

  24. Touchable Areas Clicking is different from touching a screen!

  25. Follow Native UI Guidelines Try to use your app on an actual device! iOS : https://developer.apple.com/design/human-interface-guidelines/ios/overview/them es/ Android: https://material.io/

  26. Understand Native App Modules - Create your own native bridges between a native module and React Native! - When importing new libraries and npm modules, you may need to link native dependencies through XCode and Android Studio

  27. React Native Limitations - Performance Bottlenecks - Crossing the React Native Bridge

  28. Popular Libraries & Resources

  29. Redux - Manage global state - Works well by connecting to AsyncStorage https://redux.js.org/

  30. React Navigation Manage screen transitions between your app https://reactnavigation.org/

  31. React Native Docs https://facebook.github.io/react-native/docs/getting-started

  32. Awesome React Native http://www.awesome-react-native.com/

  33. https://github.com/facebook/flipper

  34. Data Driven Design Group

  35. Opico Try it at: onelink.to/opico Want to dev on it? Talk to Ranjitha

  36. Say Hi! Twitter: @sujaykhandekar Github: sskhandek My Website: sujay.io Email: sujay@samsara.com

Recommend


More recommend