Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TechTalks - Starting React Native development

TechTalks - Starting React Native development

Many different kinds of people use React Native: from advanced Android/iOS developers to React beginners, to people getting started programming for the first time in their career. This lecture is for all learners, no matter their experience level or background.

Marko Arsić

March 03, 2021
Tweet

More Decks by Marko Arsić

Other Decks in Programming

Transcript

  1. React Native is NOT sufficient if your aim is to

    develop a scalable and maintainable production app
  2. Expo CLI ✅ Quick to start writing the first screen.

    ✅ Quick distribution and installation of the app ✅ Great for demo or POC apps Extra 20–25 MB of the size of the app Not recommended for long term projects You cannot write native code. You have to eject and reset expo configs.
  3. React Native CLI ✅ Easy to add android and ios

    native code ✅ For large scale applications Not easy to distribute and install the app You need a mac for iOS development
  4. JavaScript ✅ Huge community and widely used ✅ Fast Dynamically

    types Difficult to maintain on large scale
  5. TypeScript Typescript is an open-source programming language that is a

    strict syntactical superset of Javascript. ✅ Huge community and widely used in the backend and front end frameworks like NodeJs, Angular 2+, VueJs, etc. ✅ Faster than flow Lesser react support
  6. Flow ✅ Premium React support Facebook moving away from flow

    to TypeScript Small community Not rich documentation
  7. Axios ✅ A well tested and classic way of doing

    it ✅ Familiar and readable API You might need a separate library for consuming GraphQL APIs
  8. Graphql Apollo ✅ One client for REST APIs and Graphql

    APIs. ✅ Out of the box helps in caching the data. Not yet very common
  9. Redux ✅ Huge community and various pattern which is tested

    on the production ✅ Time travel helps a lot during development and debugging ✅ Great DevTools Not much performant compared to state management libraries like Mobx.
  10. Hooks and Context API ✅ No need to add a

    new library ✅ React default API Needs planning and standard agreement among the team members Slightly complex API Good understanding of the re-rendering lifecycle
  11. react-navigation ✅ Huge community ✅ Most of the use cases

    covered like name-based routing, passing data from routes, Tab navigation, authentication flows, deep linking, analytics trigger, etc. ✅ You can also use pre-defined navigation react hooks
  12. react-hook-form ✅ Better performance compared to formik ✅ React-hook-form is

    hook based, hence more developer-friendly and easy to use ✅ Good API Small but growing community
  13. React Context API ✅ Uses the context APIs from the

    React ✅ Simple to use To use rich features like plurals or context (e.g male/female) needs custom implementation.
  14. React i18 next ✅ Huge community and widely used. ✅

    It has many rich features like plurals, context (e.g male/female), etc. As this is an external package, it increases your app size compared to using the context API.
  15. • React Native Paper • Material Kit React Native •

    React Native Elements • React Native UI Kitten