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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend