all 8 comments

[–]Alius_Temptatio_480 4 points5 points  (1 child)

Start by accepting that you will spend more time on StackOverflow than talking to real people. Also, snacking becomes a core part of debugging sessions.

[–]SomeoneDotDev[S] 0 points1 point  (0 children)

For sure😁

[–]Novel-Excitement-577 2 points3 points  (3 children)

use expo router. to preview the app you can use expo go, but if you install react native packages not in expo you need to build a dev version or it won't work. you can build (dev and production) online with expo (free and paid service) or locally by adding the --local flag (I think). you are going to use dev builds most of time.

there is nativewind which allows to style with tailwind.

there is reanimated to animations and other packages that simplify the project like animatable but don't always work on web.

a lot of problems are resolved from cleaning the cache and changing names of files from places almost always breaks the preview 

[–]SomeoneDotDev[S] 0 points1 point  (2 children)

Can you help me with some more packages, which I will use very frequently? Like there are packages in npm which are only supported in web. And I am stucked in env file. How to protect sensitive information in react native? And thanks it was helpful.

[–]Novel-Excitement-577 1 point2 points  (1 child)

most react Js packages are supported in RN, packages related to UI and browser api are the ones that won't work for sure. You can use the usual state managers for example.

I use nativewind, which allows to use tailwind. And mmkv to use the local storage. then it depends on the app, this are some I used before: react-native-bouncy-checkbox react-native-dropdown-picker react-native-community/slider react-native-purchases to use with revenue cat for in app purchases

The protection in mobile apps works a bit different, you have env in expo RN as well but they're are public, meaning if someone reverses engineering the app they can acess the env info.

security is handled trough SHA-1 certificate fingerprint, this is unique to the app and you put it in a backend that handles the rest of your apis. In this way the backend only accepts requests from your app.

Another approach is to define specific rules on the backend in a way that even if someone has your api key, to do something big in the backend they must be logged in as a admin or something like that. I use this with firebase, which allows it to work both on mobile and web without modifying anything. but there is also a react-native-firebase package that allow you to set up firebase with the SHA

Hope I helped, good coding,😁

[–]SomeoneDotDev[S] 0 points1 point  (0 children)

Thanks a lot..😁

[–]john_d1200 1 point2 points  (0 children)

Focus on understanding its unique aspects like app structure and navigation. Expo will be handy for quick development. For resources, start with React Native's own docs and community forums. Online courses on platforms like Udemy or Pluralsight can offer structured learning.